Warning
Hardware Requirement: This repository is strictly compiled for the x86_64-v4 microarchitecture (requires AVX-512). If you install these kernels on older hardware (v2 or v3), your system will experience a kernel panic on boot.
If your CPU does not support v4, please use the original upstream project which provides v3 and v2 kernels.
We offer a variety of CachyOS kernels ported and heavily optimized for Fedora (43, 44, Rawhide) and EPEL 10:
kernel-cachyos-v4- 1000 Hz kernel with BORE schedulerkernel-cachyos-lts-v4- LTS kernel with BORE schedulerkernel-cachyos-rt-v4- Real-time kernel with BORE scheduler
All variants are available compiled with either standard GCC or LLVM-ThinLTO (-lto packages).
We have removed the support for prebuilt Nvidia drivers with the kernels. The reason for this decision is a mismatch of release schedules between RPMFusion, Fedora and CachyOS. Following this decision we advise users to switch to either RPMFusion or Negativo17's Nvidia drivers.
- Strictly optimized for
x86_64-v4CPUs across all builds (including LTS). - Target OS Support: Fedora 43, Fedora 44, Fedora Rawhide, and EPEL 10.
- Choose between
GCCandLLVM-ThinLTObuilds. - BORE scheduler with sched-ext support.
- AMD P-State Preferred Core, AMD CPB Switch and upstream
amd-pstateenhancements. - Cachy Sauce - Provides tweaks for the scheduler and other settings.
- Latest & improved ZSTD patchset.
- Improved BFQ Scheduler.
- BBRv3 tcp_congestion_control.
- v4l2loopback modules included by default.
- Cherry picked patches from Clear Linux.
- Backported patches from
linux-next. - OpenRGB and ACS Override support.
- NTSync patched and integrated into the kernel.
Crucial Step: Make absolutely sure your CPU supports the x86_64-v4 instruction set before proceeding.
Run this command in your terminal:
/lib64/ld-linux-x86-64.so.2 --help | grep "x86-64-v4 (supported, searched)"
If this command returns nothing, DO NOT install these kernels.
Next, enable the COPR repository hosting the kernels:
sudo dnf copr enable gharib/kernel-cachyos-v4
Now you can install the kernels:
sudo dnf install kernel-cachyos-v4 kernel-cachyos-v4-devel-matched
# or for LLVM-ThinLTO
sudo dnf install kernel-cachyos-v4-lto kernel-cachyos-v4-devel-matched
sudo dnf install kernel-cachyos-lts-v4 kernel-cachyos-lts-v4-devel-matched
# or for LLVM-ThinLTO
sudo dnf install kernel-cachyos-lts-v4-lto kernel-cachyos-lts-v4-devel-matched
sudo dnf install kernel-cachyos-rt-v4 kernel-cachyos-rt-v4-devel-matched
# or for LLVM-ThinLTO
sudo dnf install kernel-cachyos-rt-v4-lto kernel-cachyos-rt-v4-devel-matched
🚨 Lastly, if you use SELinux, you need to enable the necessary policy to be able to load kernel modules:
sudo setsebool -P domain_kernel_load_modules on
cd /etc/yum.repos.d/
sudo wget [https://copr.fedorainfracloud.org/coprs/gharib/kernel-cachyos-v4/repo/fedora-$](https://copr.fedorainfracloud.org/coprs/gharib/kernel-cachyos-v4/repo/fedora-$)(rpm -E %fedora)/gharib-kernel-cachyos-v4-fedora-$(rpm -E %fedora).repo
sudo rpm-ostree override remove kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra --install kernel-cachyos-v4
sudo systemctl reboot
By default, Fedora will use the kernel that was most recently updated by dnf, which will lead to inconsistent behavior if you have multiple kernels installed. We can tell Fedora to always boot with the latest CachyOS kernel by running a script after kernel updates.
Create a file in /etc/kernel/postinst.d:
sudo nano /etc/kernel/postinst.d/99-defaultEnter the following content:
#!/bin/sh
set -e
grubby --set-default=/boot/$(ls /boot | grep vmlinuz.*cachy | sort -V | tail -1)Make root the owner and make the script executable:
sudo chown root:root /etc/kernel/postinst.d/99-default ; sudo chmod u+rx /etc/kernel/postinst.d/99-defaultThe next time any installed kernel gets an update, the system will change the default kernel back to the latest CachyOS kernel. This way you can keep the official Fedora kernel as a fallback backup.
We provide a few addons that supplement the kernel packages and system.
- CachyOS-Settings - Settings used in CachyOS (includes modprobe config, udev rules, etc) packaged for Fedora.
- scx-scheds - sched-ext schedulers. Provides both
scx-schedsreleases andscx-scheds-gitpackage. - scx-manager - Simple GUI for managing sched-ext schedulers via scx_loader.
- ananicy-cpp & cachyos-ananicy-rules - Auto nice daemon with rules support.
(Note: If you are strictly pulling addons from the upstream project, use the bieszczaders repo below. Otherwise, replace with your own addon COPR if you fork them).
sudo dnf copr enable bieszczaders/kernel-cachyos-addonssudo dnf swap zram-generator-defaults cachyos-settings
sudo dracut -fsudo dnf install scx-scheds scx-toolsor -git packages
sudo dnf install scx-scheds-git scx-tools-gitFor Fedora Silverblue / Kinoite:
sudo rpm-ostree install scx-scheds scx-tools
sudo systemctl reboot
You can use scxctl to start/change the scheduler with profiles/custom flags.
📖 Usage guide available in the CachyOS wiki.
sudo dnf install scx-manager
sudo dnf install ananicy-cpp
sudo systemctl enable --now ananicy-cpp
Special Thanks to @andersrh, @TrixieUA and CachyOS Team for providing anything in this repository. Actually I have made some little changes to the spec files and compiled them!
