---
title: Jądro CachyOS
description: Funkcje i zmiany w jądrze CachyOS
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 4
---

Jądro CachyOS to spersonalizowane jądro, które wykorzystuje ulepszenia, konfiguracje i łatki z projektów nadrzędnych.

## Funkcje

### Optymalizacje wydajności

- **Zaawansowana kompilacja**: wysoce konfigurowalny plik PKGBUILD z obsługą kompilatorów GCC i Clang
- **Optymalizacja w czasie konsolidacji (LTO)**: domyślnie włączone Thin LTO dla lepszej wydajności
- **Optymalizacja sterowana profilem (PGO)**: profilowanie AutoFDO + Propeller dla optymalnego generowania kodu ([Dowiedz się więcej](https://cachyos.org/blog/2411-kernel-autofdo/))
- **Integralność przepływu sterowania jądra (kCFI)**: dostępna przy użyciu LLVM dla zwiększonego bezpieczeństwa
- **Opcje częstotliwości zegara**: konfigurowalne między 300Hz, 500Hz, 600Hz, 750Hz i 1000Hz (domyślnie: 1000Hz)
- **Optymalizacje architektury**: wsparcie dla specyficznych kompilacji x86-64-v3, x86-64-v4 i AMD Zen4
- **Optymalizacje kompilatora**: zaawansowane flagi GCC, w tym `-fivopts` i `-fmodulo-sched`

### Ulepszenia procesora

- **Wiele harmonogramów**: harmonogramy BORE, EEVDF i BMQ do optymalizacji różnych obciążeń
- **Ulepszenia AMD P-State**: wsparcie dla Preferred Core i najnowsze ulepszenia amd-pstate z linux-next
- **Wsparcie dla czasu rzeczywistego**: dostępne kompilacje jądra RT z integracją harmonogramu BORE
- **CachyOS Sauce**: niestandardowa konfiguracja `CONFIG_CACHY` z poprawkami harmonogramu i systemu
- **Optymalizacje niskiego opóźnienia**: łatki poprawiające responsywność i redukujące jitter

### System plików i pamięć

- **Wsparcie dla ZFS**: wbudowane wsparcie dla systemu plików ZFS z prekompilowanymi modułami
- **Integracja z NVIDIA**:
  - Moduły własnościowego sterownika NVIDIA z łatkami
  - Wsparcie dla otwartego sterownika NVIDIA
  - Gotowe do użycia moduły w repozytorium
- **Ulepszenia harmonogramu I/O**:
  - Ulepszona wydajność BFQ i mq-deadline
  - Wsparcie dla alternatywnego harmonogramu I/O [ADIOS](https://github.com/firelzrd/adios)
- **Zarządzanie pamięcią**:
  - Łatka [le9uo](https://github.com/firelzrd/le9uo) zapobiegająca gwałtownemu stronicowaniu pamięci pod dużym obciążeniem
  - Poprawki zarządzania pamięcią z Zen-kernel (kompaktowanie, optymalizacja watermark)

### Dodatkowe funkcje

#### Wsparcie sprzętowe
- **Sprzęt do gier**: łatki dla Steam Deck (dźwięk, dziwactwa sprzętowe, HID) i wsparcie dla ROG Ally
- **Sprzęt Apple**: wsparcie dla MacBooka T2 domyślnie zawarte
- **Sprzęt ASUS**: rozszerzone łatki kompatybilności dla sprzętu ASUS
- **Grafika**: włączone wsparcie dla HDR, nadpisanie min_powercap dla AMDGPU (`amdgpu_ignore_min_pcap`)

#### Ulepszenia systemowe
- **Multimedia**: moduły v4l2loopback domyślnie zawarte
- **Wirtualizacja**: wsparcie dla ACS Override dla VFIO/przekazywania GPU
- **Integracja z projektami nadrzędnymi**: wybrane łatki z Clear Linux i linux-next

#### Różne

Jądro CachyOS ma również kilka innych godnych uwagi funkcji, które są subtelne, ale poprawiają wrażenia użytkownika:

- Zawiera wariant jądra do debugowania, który dostarcza nieskompresowany plik binarny jądra do celów debugowania. Ten pakiet jest potrzebny do profilowania jądra za pomocą AutoFDO.
- [Binder](https://developer.android.com/reference/android/os/Binder), moduł potrzebny do działania [Waydroid](https://waydro.id/), jest domyślnie włączony w konfiguracji jądra
i już [skonfigurowany](https://github.com/CachyOS/linux-cachyos/blob/2f380e2b35c4ad9acda98296f638f93af3742533/linux-cachyos/config#L11037).

## Warianty

CachyOS oferuje zróżnicowany zakres opcji jądra. Wszystkie dostarczane przez nas jądra są dostarczane z [podstawowym zestawem łatek CachyOS](https://github.com/CachyOS/kernel-patches).
Dla każdego jądra istnieje [odpowiadający mu wariant -lto](#konwencja-nazewnictwa-pakietów), który
jest zbudowany przy użyciu [clang](https://clang.llvm.org/) zamiast [GCC](https://gcc.gnu.org/).

- **linux-cachyos**
  - Domyślne jądro. Jest to zalecane jądro, jeśli nie masz pewności, które wybrać.
  - Częstotliwość 1000 Hz dla poprawy responsywności.
  - Zbudowane przy użyciu Clang i ThinLTO.
  - Profilowane za pomocą naszego własnego profilu [AutoFDO](https://cachyos.org/blog/2411-kernel-autofdo/) dla poprawy wydajności. [Skrypt](https://github.com/CachyOS/cachyos-benchmarker/blob/master/kernel-autofdo.sh) używany do profilowania jądra.
- **linux-cachyos-bore**
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).
- **linux-cachyos-bmq**
  - Używa harmonogramu BMQ z [Project C](https://gitlab.com/alfredchen/projectc/) autorstwa Alfreda Chen.
    - `Nie obsługuje sched-ext.`
- **linux-cachyos-deckify**
  - Domyślne jądro dla urządzeń przenośnych. Używanie jakiegokolwiek innego jądra na urządzeniach przenośnych jest **niezalecane** i **niewspierane**.
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).
  - Dodatkowe łatki specyficzne dla urządzeń przenośnych, oprócz podstawowego zestawu łatek, w celu poprawy kompatybilności i ogólnych wrażeń z użytkowania na tych urządzeniach.
- **linux-cachyos-eevdf**
  - Modyfikuje domyślny harmonogram jądra w celu poprawy responsywności.
- **linux-cachyos-lts**
  - Oparte na najnowszym jądrze z długoterminowym wsparciem (LTS).
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).
  - Minimalnie łatane w porównaniu do innych jąder, aby zapewnić maksymalną stabilność.
- **linux-cachyos-hardened**
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).
  - Zawiera zestaw łatek [linux-hardened](https://github.com/anthraxx/linux-hardened).
  - Konfiguracja jądra oparta na [konfiguracji linux-hardened](https://gitlab.archlinux.org/archlinux/packaging/packages/linux-hardened/-/blob/main/config).
    - Zawiera bardzo agresywne zabezpieczenia, które znacznie ograniczają wydajność i komfort użytkowania.
    - `Nie obsługuje sched-ext.`
- **linux-cachyos-rc**
  - Oparte na najnowszym jądrze mainline z [drzewa Linusa](https://github.com/torvalds/linux/).
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).
  - Główne jądro do wprowadzania nowych funkcji w naszym zestawie łatek.
- **linux-cachyos-server**
  - Dostosowane do obciążeń serwerowych w porównaniu do użytku na komputerach stacjonarnych.
    - Częstotliwość 300 Hz.
    - Brak wywłaszczania.
    - Standardowy EEVDF.
- **linux-cachyos-rt-bore**
  - Wywłaszczanie w czasie rzeczywistym.
  - Używa harmonogramu [BORE](https://github.com/firelzrd/bore-scheduler).

:::note
O ile nie określono inaczej, można bezpiecznie założyć, że wszystkie inne warianty jądra
mają taką samą konfigurację jak jądro domyślne.
:::

Prosimy o zgłaszanie sugestii i ulepszeń, które można dodać do domyślnego jądra, otwierając zgłoszenie w [GitHubie linux-cachyos](https://github.com/CachyOS/linux-cachyos).

### Konwencja nazewnictwa pakietów

```sh
linux-cachyos # Podstawowy pakiet jądra domyślnego. Skompilowany z Clang i ThinLTO
linux-cachyos-hardened # Podstawowy pakiet jądra hardened. Skompilowany z GCC
linux-cachyos-hardened-lto # Odpowiednik linux-cachyos-hardened skompilowany z clang
linux-cachyos-hardened-{,lto-}headers
linux-cachyos-hardened-{,lto-}nvidia
linux-cachyos-hardened-{,lto-}nvidia-open
linux-cachyos-hardened-{,lto-}zfs
linux-cachyos-hardened-{,lto-}dbg
```

## Prekompilowane moduły jądra

Aby zaspokoić potrzeby szerszej bazy użytkowników, CachyOS dostarcza wraz z jądrem niektóre dobrze znane i często używane moduły jądra. Oznacza to, że użytkownicy nie będą już musieli
rekompilować tych modułów po każdej aktualizacji jądra lub przy każdej nowej instalacji jądra, a jedynie zainstalować je z repozytorium, ponieważ
są już prekompilowane. Skutecznie eliminuje to potrzebę posiadania jakichkolwiek pakietów `-dkms`, które dostarczają ten sam moduł co wersja prekompilowana.

### ZFS

[ZFS](https://openzfs.org/wiki/Main_Page) to jeden z wielu systemów plików obsługiwanych w CachyOS. Ponieważ jest on licencjonowany na mocy
[CDDL](https://opensource.org/license/cddl-1-0), jest niekompatybilny z licencją jądra Linux i dlatego nie może zostać włączony do głównego drzewa kodu. Dostarczany moduł zawiera
najnowsze funkcje i poprawki z nadrzędnego projektu, aby zapewnić kompatybilność z najnowszym jądrem.

### NVIDIA

CachyOS dostarcza prekompilowane wersje zarówno zamkniętych, jak i [otwartoźródłowych](https://github.com/NVIDIA/open-gpu-kernel-modules/) modułów jądra. Ze względu na to, że rozwój
modułu jądra NVIDIA odbywa się poza głównym drzewem kodu i tym samym nie podąża za cyklem wydawniczym jądra, standardowa konfiguracja może czasami być niekompatybilna z najnowszym
jądrem. Jako obejście, CachyOS łata moduły za pomocą łat stworzonych przez społeczność lub udostępnionych bezpośrednio przez NVIDIA.

## FAQ

### Dlaczego AutoFDO nie jest używane dla wszystkich innych wariantów jądra?

Ponieważ jest to kosztowne w budowie, gdyż w zasadzie wymaga dwukrotnego zbudowania jądra, co skutkuje większą ilością czasu i zasobów poświęconych na kompilację. Proces budowania jądra z AutoFDO obejmuje następujące kroki:

1) Zbudowanie jądra z włączonym AutoFDO i możliwościami debugowania.
2) Stworzenie profilu, co oznacza wykonanie obciążeń w celu zebrania danych profilowania dla możliwych optymalizacji.
3) Ponowne zbudowanie jądra z profilem AutoFDO.

Dlatego na razie jest on obecny tylko w wariancie [linux-cachyos](/pl/features/kernel#warianty).

Aby uzyskać więcej informacji na temat AutoFDO, kliknij [tutaj.](https://cachyos.org/blog/2411-kernel-autofdo/)

### Czy jądro czasu rzeczywistego poprawia wydajność w grach?

Nie, nie poprawia. Jądro czasu rzeczywistego sprawia, że znacznie więcej kodu można wywłaszczać w porównaniu do normalnego jądra w pełni wywłaszczalnego. Oznacza to, że znacznie więcej zadań (w tym procesy gier)
jest często wywłaszczanych i będzie zmuszonych do oddawania zasobów systemowych, co prowadzi do gorszej wydajności.
