Chios/kernel-cachyos

Description

Official port linux-cachyos-bore and linux-cachyos-lts for Fedora

linux-cachyos and linux-cachyos-lts use as default the BORE-EEVDF scheduler

  • BORE - (Burst-Oriented Response Enhancer) CPU Scheduler by firelzrd (BORE)
  • EEVDF - (Earliest Eligiable Virtual Deadline) First EEVDF is a replacement for the CFS Scheduler from Peter Zijlstra

Announcement 2024/06/16: Support for sched-ext schedulers has been added to the stable branch kernels. Installation instructions can be found on the addons repo page.

GCC-compiled kernels

The kernels in this repository are compiled with GCC. We have a seperate repo with Clang-compiled LTO kernels, which can be found here.

The Clang-compiled kernels give better performance, but may have issues with some kernel modules.

Features

  • AMD PSTATE Preferred Core and enabled as default
  • Latest BTRFS and XFS improvements & fixes.
  • Latest & improved ZSTD 1.5.5 patch-set.
  • UserKSM daemon from pf.
  • Improved BFQ Scheduler.
  • Back-ported patches from linux-next.
  • BBRv3 tcp_congestion_control.
  • Scheduler patches from linux-next/tip.
  • General improved sysctl settings and upstream scheduler fixes.
  • OpenRGB and ACS Override support.
  • HDR Patches for AMD GPU's and gamescope.
  • Default support for Steam Deck.
  • Sched-ext scheduler support. Installation instructions can be found here.
  • GitHub copr-linux-cachyos.

Checking for the cpu support

Check support by the following the command

/lib64/ld-linux-x86-64.so.2 --help | grep "(supported, searched)"

If it does not detect x86_64_v3 support do not install the default kernel. Otherwise you will end up with a non-functioning operating system! If it detects only x86_64_v2, you can use the LTS kernel.

SElinux and cachyos kernel

sudo setsebool -P domain_kernel_load_modules on

If you are using SElinux. Enable the above policy to load kernel modules.

Installation Instructions

FEDORA WORKSTATION

sudo dnf copr enable bieszczaders/kernel-cachyos

sudo dnf install kernel-cachyos kernel-cachyos-devel-matched

OR for realtime kernel

sudo dnf install kernel-cachyos-rt kernel-cachyos-rt-devel-matched

OR for LTS kernel

sudo dnf install kernel-cachyos-lts kernel-cachyos-lts-devel-matched

LTS kernel works with x86_64v2 cpu's and legacy nvidia drivers

FEDORA SILVERBLUE

cd /etc/yum.repos.d/

sudo wget https://copr.fedorainfracloud.org/coprs/bieszczaders/kernel-cachyos/repo/fedora-$(rpm -E %fedora)/bieszczaders-kernel-cachyos-fedora-$(rpm -E %fedora).repo

sudo rpm-ostree override remove kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra --install kernel-cachyos

sudo systemctl reboot

OR for realtime kernel

sudo rpm-ostree override remove kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra --install kernel-cachyos-rt

sudo systemctl reboot

OR for LTS kernel

sudo rpm-ostree override remove kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra --install kernel-cachyos-lts

sudo systemctl reboot

LTS kernel works with x86_64v2 cpu's and legacy nvidia drivers

OPTIONAL (HIGHLY RECOMMENDED) FOR BETTER PERFORMANCE

Install UKSMD.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

* Total number of downloaded packages.


This is a companion discussion topic for the original entry at https://copr.fedorainfracloud.org/coprs/chios/kernel-cachyos

getting error on nvidia

Scriptlet output:
Autoinstall of module nvidia/565.77 for kernel 6.13.0-cachyos3.fc41.x86_64 (x86_64)

Sign command: /lib/modules/6.13.0-cachyos3.fc41.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Cleaning build area... done.
Building module(s)............(bad exit status: 2)
Failed command:
'make' -j2 -C kernel-open KERNEL_UNAME=6.13.0-cachyos3.fc41.x86_64 modules

Error! Bad return status for module build on kernel: 6.13.0-cachyos3.fc41.x86_64 (x86_64)
Consult /var/lib/dkms/nvidia/565.77/build/make.log for more information.
Autoinstall on 6.13.0-cachyos3.fc41.x86_64 failed for module(s) nvidia(10).

Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
 CONFTEST: ib_peer_memory_symbols
  CC [M]  nvidia/nv.o
  CC [M]  nvidia/nv-pci.o
In file included from ././common/inc/nv-pci.h:28,
                 from nvidia/nv-pci.c:26:
nvidia/nv-pci.c: In function ‘nv_pci_probe’:
././common/inc/nv-linux.h:579:37: warning: suggest braces around empty body in an ‘if’ statement [-Wemp>
  579 |             NV_MEMDBG_ADD(ptr, size); \
      |                                     ^
nvidia/nv-pci.c:728:5: note: in expansion of macro ‘NV_KZALLOC’
  728 |     NV_KZALLOC(nvl, sizeof(nv_linux_state_t));
      |     ^~~~~~~~~~
In file included from /usr/src/kernels/6.13.0-cachyos3.fc41.x86_64/include/linux/module.h:22,
                 from nvidia/nv.c:24:
nvidia/nv.c:130:18: error: expected ‘,’ or ‘;’ before ‘DMA_BUF’
  130 | MODULE_IMPORT_NS(DMA_BUF);
      |                  ^~~~~~~
/usr/src/kernels/6.13.0-cachyos3.fc41.x86_64/include/linux/moduleparam.h:26:61: note: in definition of >
   26 |                 = __MODULE_INFO_PREFIX __stringify(tag) "=" info
      |                                                             ^~~~
/usr/src/kernels/6.13.0-cachyos3.fc41.x86_64/include/linux/module.h:299:33: note: in expansion of macro>
  299 | #define MODULE_IMPORT_NS(ns)    MODULE_INFO(import_ns, ns)
      |                                 ^~~~~~~~~~~
nvidia/nv.c:130:1: note: in expansion of macro ‘MODULE_IMPORT_NS’
  130 | MODULE_IMPORT_NS(DMA_BUF);
      | ^~~~~~~~~~~~~~~~
In file included from nvidia/nv.c:34:
nvidia/nv.c: In function ‘nvos_create_alloc’:
././common/inc/nv-linux.h:579:37: warning: suggest braces around empty body in an ‘if’ statement [-Wemp>
  579 |             NV_MEMDBG_ADD(ptr, size); \
      |                                     ^
nvidia/nv.c:323:5: note: in expansion of macro ‘NV_KZALLOC’
  323 |     NV_KZALLOC(at, sizeof(nv_alloc_t));
      |     ^~~~~~~~~~
nvidia/nv.c: In function ‘nv_alloc_file_private’:
././common/inc/nv-linux.h:579:37: warning: suggest braces around empty body in an ‘if’ statement [-Wemp>

^G Help       ^O Write Out  ^F Where Is   ^K Cut        ^T Execute    ^C Location   M-U Undo
^X Exit       ^R Read File  ^\ Replace    ^U Paste	^J Justify    ^/ Go To Line M-E Redo