Skip to content

Commit c7cb822

Browse files
authored
README: Update for the current Patches (#859)
Signed-off-by: Peter Jung <admin@ptr1337.dev>
1 parent 79ac861 commit c7cb822

1 file changed

Lines changed: 42 additions & 22 deletions

File tree

README.md

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
- [Features](#features)
1313
- [Performance Optimizations](#performance-optimizations)
1414
- [CPU Enhancements](#cpu-enhancements)
15+
- [Networking](#networking)
1516
- [Filesystem & Memory](#filesystem--memory)
1617
- [Additional Features](#additional-features)
1718
- [CachyOS Repositories](#cachyos-repositories)
@@ -26,7 +27,9 @@
2627

2728
## Overview
2829

29-
CachyOS provides a collection of enhanced Linux kernels designed for improved performance across different workloads. Our kernels feature multiple CPU schedulers, advanced compiler optimizations, and carefully selected patches to deliver better responsiveness and throughput.
30+
CachyOS provides a collection of enhanced Linux kernels designed for improved performance across different workloads. Kernels are built from the [CachyOS Linux](https://github.com/CachyOS/linux) fork (currently based on **Linux 7.0**), which merges topic branches on top of upstream stable releases.
31+
32+
Our kernels feature multiple CPU schedulers, advanced compiler optimizations, and carefully selected patches to deliver better responsiveness and throughput.
3033

3134
> [!NOTE]
3235
> All CachyOS kernels are available in multiple architecture optimizations: `x86-64`, `x86-64-v3`, `x86-64-v4`, and `znver4`.
@@ -38,74 +41,91 @@ Each scheduler is optimized for different use cases. We recommend testing each o
3841
### Available Schedulers
3942
| Scheduler | Full Name | Package(s) | Best for... | Developer |
4043
| :--- | :--- | :--- | :--- | :--- |
41-
| **[BORE](https://github.com/firelzrd/bore-scheduler)** | **B**urst-**O**riented **R**esponse **E**nhancer | `linux-cachyos-bore` | Interactive workloads & gaming | [firelzrd](https://github.com/firelzrd) |
42-
| **[EEVDF](https://lwn.net/Articles/927530/)** | **E**arliest **E**ligible **V**irtual **D**eadline **F**irst | `linux-cachyos`, `linux-cachyos-eevdf` | General-purpose computing | Peter Zijlstra |
43-
| **[BMQ](https://gitlab.com/alfredchen/linux-prjc)** | **B**it**M**ap **Q**ueue CPU Scheduler | `linux-cachyos-bmq` | N/A | [Alfred Chen](https://gitlab.com/alfredchen) |
44+
| **[BORE](https://github.com/firelzrd/bore-scheduler)** | **B**urst-**O**riented **R**esponse **E**nhancer | `linux-cachyos-bore`, `linux-cachyos-deckify`, `linux-cachyos-hardened`, `linux-cachyos-rt-bore` | Interactive workloads & gaming | [firelzrd](https://github.com/firelzrd) |
45+
| **[EEVDF](https://lwn.net/Articles/927530/)** | **E**arliest **E**ligible **V**irtual **D**eadline **F**irst | `linux-cachyos`, `linux-cachyos-eevdf`, `linux-cachyos-lts`, `linux-cachyos-server` | General-purpose computing | Peter Zijlstra |
46+
| **[BMQ](https://gitlab.com/alfredchen/linux-prjc)** | **B**it**M**ap **Q**ueue CPU Scheduler | `linux-cachyos-bmq` | Throughput-oriented workloads | [Alfred Chen](https://gitlab.com/alfredchen) |
4447

4548
### Specialized Variants
4649

47-
- **`linux-cachyos-hardened`** - Security-focused kernel with hardening patches
48-
- **`linux-cachyos-lts`** - Long Term Support version for stability
49-
- **`linux-cachyos-rt-bore`** - Real-time kernel with BORE scheduler
50-
- **`linux-cachyos-server`** - Server-optimized configuration
51-
- **`linux-cachyos-deckify`** - Steam Deck optimized variant
50+
- **`linux-cachyos`** - Default kernel: EEVDF scheduler with Clang Thin LTO and AutoFDO
51+
- **`linux-cachyos-rc`** - Release candidate kernel tracking the next upstream version
52+
- **`linux-cachyos-hardened`** - Security-focused kernel with hardening patches and the BORE scheduler
53+
- **`linux-cachyos-lts`** - Long Term Support version (currently 6.18) with EEVDF and Cachy Sauce
54+
- **`linux-cachyos-rt-bore`** - Real-time kernel with BORE scheduler integration
55+
- **`linux-cachyos-server`** - Server-optimized EEVDF configuration with lazy preemption
56+
- **`linux-cachyos-deckify`** - Handheld gaming variant with BORE scheduler, Steam Deck support, and MSI Claw driver
5257

5358
### Compiler Variants
5459

55-
- **`linux-cachyos`** - Default GCC-compiled kernel with Thin LTO
56-
- **`linux-cachyos-lto`** - Clang and Thin LTO, utilizing AutoFDO + Propeller profiling for optimal performance.
60+
- **`linux-cachyos`** - Default optimized build using Clang Thin LTO with AutoFDO + Propeller profile-guided optimizations
61+
- **Scheduler-specific packages** (`linux-cachyos-bore`, `linux-cachyos-bmq`, `linux-cachyos-eevdf`, etc.) - GCC-compiled builds without LTO, focused on scheduler choice over compiler optimizations
5762

5863
> [!TIP]
5964
> For detailed explanations of each kernel variant, visit our [Kernel Wiki](https://wiki.cachyos.org/features/kernel).
6065
6166
## Features
6267

68+
The CachyOS kernel fork merges topic branches into each release. The current **Linux 7.0** base includes the following integrated branches and enhancements.
69+
6370
### Performance Optimizations
6471

6572
- **Advanced Compilation**: Highly customizable PKGBUILD with support for both GCC and Clang compilers
66-
- **Link Time Optimization (LTO)**: Thin LTO enabled by default for better performance
67-
- **Profile-Guided Optimization**: AutoFDO + Propeller profiling for optimal code generation ([Learn more](https://cachyos.org/blog/2411-kernel-autofdo/))
73+
- **Link Time Optimization (LTO)**: Clang Thin LTO enabled by default on the main `linux-cachyos` package
74+
- **Distributed ThinLTO**: Support for distributed Clang ThinLTO builds to speed up kernel compilation
75+
- **Profile-Guided Optimization**: AutoFDO + Propeller profiling on the default kernel for optimal code generation ([Learn more](https://cachyos.org/blog/2411-kernel-autofdo/))
6876
- **Kernel Control Flow Integrity (kCFI)**: Available when using LLVM for enhanced security
69-
- **Timer Frequency Options**: Configurable between 300Hz, 500Hz, 600Hz, 750Hz, and 1000Hz (default: 1000Hz)
77+
- **Timer Frequency Options**: Configurable between 100Hz, 250Hz, 300Hz, 500Hz, 600Hz, 750Hz, and 1000Hz (default: 1000Hz)
7078
- **Architecture Optimizations**: Support for x86-64-v3, x86-64-v4, and AMD Zen4 specific builds
7179
- **Compiler Optimizations**: Advanced GCC flags including `-fivopts` and `-fmodulo-sched`
80+
- **PREEMPT_DYNAMIC**: Runtime-selectable preemption modes (full, lazy, voluntary, none)
7281

7382
### CPU Enhancements
7483

7584
- **Multiple Schedulers**: BORE, EEVDF, and BMQ schedulers for different workload optimization
85+
- **[POC Selector](https://github.com/masahitoS/scx_cake)**: Piece-Of-Cake fast idle CPU selector inspired by scx_cake, reducing wakeup latency
86+
- **CachyOS Sauce**: Custom `CONFIG_CACHY` configuration with scheduler and system tweaks
7687
- **AMD P-State Enhancements**: Preferred Core support and latest amd-pstate improvements from linux-next
7788
- **Real-Time Support**: RT kernel builds available with BORE scheduler integration
78-
- **CachyOS Sauce**: Custom `CONFIG_CACHY` configuration with scheduler and system tweaks
7989
- **Low-Latency Optimizations**: Patches for improved responsiveness and reduced jitter
90+
- **sched/wait LIFO accept()**: Socket accept() processed in LIFO order for better cache efficiency
91+
92+
### Networking
93+
94+
- **[BBR3 TCP](https://github.com/google/bbr)**: BBRv3 congestion control available as a separate module alongside BBRv1
8095

8196
### Filesystem & Memory
8297

8398
- **ZFS Support**: Built-in ZFS filesystem support with pre-compiled modules
99+
- **NTFS Improvements**: Upstream NTFS driver fixes for MFT mirror validation, attribute bounds checking, and logfile handling
100+
- **MGLRU Enhancements**: Improved dirty writeback handling, simplified vmscan reclaim statistics, and Cachy Sauce MM tuning (LRU-gen working set protection, compaction/watermark tweaks, hugepage reclaim)
84101
- **NVIDIA Integration**:
85102
- Proprietary NVIDIA driver modules with patches
86103
- Open-source NVIDIA driver support
87104
- Ready-to-use modules in repository
88105
- **I/O Scheduler Improvements**:
89106
- Enhanced BFQ and mq-deadline performance
90-
- Alternative [ADIOS](https://github.com/firelzrd/adios) I/O scheduler support
91-
- **Memory Management**:
92-
- [le9uo](https://github.com/firelzrd/le9uo) patch for preventing page thrashing under memory pressure
93-
- Zen-kernel memory management tweaks (compaction, watermark optimization)
107+
- [ADIOS](https://github.com/firelzrd/adios) v3.2.0 multi-queue I/O scheduler support
108+
- **VRAM Cgroup (DMEM)**: Device memory controller for restricting GPU VRAM usage per cgroup in the DRM subsystem
94109

95110
### Additional Features
96111

97112
#### Hardware Support
98-
- **Gaming Hardware**: Steam Deck patches (Audio, HW Quirks, HID) and ROG Ally support
99-
- **Apple Hardware**: T2 MacBook support included by default
113+
- **AMD ISP4**: New AMD ISP 4 camera driver for supported platforms
114+
- **Gaming Hardware**: Steam Deck patches (Audio, HW Quirks, HID), ROG Ally support, and MSI Claw HID driver (deckify)
115+
- **Apple Hardware**: T2 MacBook support with apple-bce driver in staging
100116
- **ASUS Hardware**: Extended ASUS hardware compatibility patches
117+
- **Lenovo Hardware**: WMI battery charge limiting, GPU/CPU tunable attributes, and capdata debugfs
118+
- **HP Hardware**: OMEN Slim and OMEN MAX laptop support via hp-wmi
101119
- **Graphics**: HDR support enabled, AMDGPU min_powercap override (`amdgpu_ignore_min_pcap`)
120+
- **Display**: HDMI VRR on AMD, ALLM and passive VRR connector properties, VESA DSC bits-per-pixel parsing from EDID
121+
- **Audio Codecs**: AW88399 and MAX98390 HDA side codec support
102122

103123
#### System Enhancements
104124
- **Multimedia**: v4l2loopback modules included by default
105125
- **Virtualization**: ACS Override support for VFIO/GPU passthrough
106126
- **Upstream Integration**: Cherry-picked patches from Clear Linux and linux-next
107127

108-
> [!INFO]
128+
> [!NOTE]
109129
> For comprehensive details about each kernel variant and their specific optimizations, visit our [Kernel Documentation](https://wiki.cachyos.org/features/kernel).
110130
111131
## CachyOS Repositories

0 commit comments

Comments
 (0)