/linux-cachyos

Archlinux Kernel based on different schedulers and some other performance improvements.

Primary LanguageShellGNU General Public License v3.0GPL-3.0

CachyOS logo

CachyOS

CachyOS ships improved kernels that improve performance and other aspects.

🌐 General Information about kernels

The Schedulers listed below are supported:

🧬 linux-cachyos uses as default the BORE scheduler

We provided all of these schedulers because each scheduler performs differently and depends on usage. Please test it and choose what suits your requirements.

  • BORE (Burst-Oriented Response Enhancer) CPU Scheduler by firelzrd (BORE)
    • linux-cachyos - Default kernel and we decided to ship BORE by default, but the scheduler could be changed in the future.
    • linux-cachyos-bore - If we decide to change the scheduler in the future, we still want to provide BORE.
  • Task Type Scheduler by Hamad Marri (TT) - linux-cachyos-tt / linux-tt
  • BitMap Queue (BMQ) Alfred Chen Scheduler - linux-cachyos-bmq
  • Priority and Deadline based Skiplist multiple queue scheduler (PDS) - Alfred Chen Scheduler » linux-cachyos-pds
  • CacULE and CacULE-RDB created from Hamad Marri, maintained by CachyOS - linux-cachyos-cacule ATTENTION: Not supported after 6.1
  • Standard Scheduler Completely Fair Scheduler (CFS) - linux-cachyos-cfs

All kernels are prebuilt in two different march versions (x86-64, x86-64-v3 and x86-64-v4) and also with the LTO-enabled kernels in the cachyos repositories.

🎯 Features

  • Very customizable PKGBUILD with many features and improvements.
  • 5 Different scheduler are supported, CacULE-,CFS-,tt-,bmq-,bore-, and pds scheduler
  • GCC/CLANG Optimization with automatically found CPU arch or also selectable CPU architecture.
  • Choose between LLVM/LTO or GCC. Experimental GCC LTO support is available.
  • Choose between 300Hz, 500Hz, 600 Hz ,750Hz and 1000Hz. Defaults to 750 Hz.
  • Improved BFQ Scheduler.
  • Back-ported patches from linux-next.
  • General improved sysctl settings and upstream scheduler fixes.
  • MEMCG MG LRU Patchset
  • Latency Nice Patchset included usuage with ananicy-cpp feature branch.
  • Scheduler patches from linux-next/tip
  • rcu fixes and improvements.
  • printk patches
  • BBRv2 tcp_congestion_control.
  • LLVM THIN-LTO Kernels prebuilt in x86-64-v4, x86-64-v3 and x86-64 in the CachyOS repositories.
  • LRNG Framework. (default enabled)
  • THP Shrinker
  • Latest & improved ZSTD patch-set.
  • Latest BTRFS/XFS/EXT4 improvements & fixes.
  • KSMBD Module for Samba3 Server.
  • AMD PSTATE EPP Driver enabled by default and with enhancements patches/fixes.
  • Clearlinux Patchset.
  • Kernel Control Flow Integrity (kCFI) selectable when using LLVM. (patched llvm can be found in the cachyos-repositories)
  • ZFS Filesystem Support and prebuilt in the repository.
  • Futex fixes and winesync is available
  • UserKSM daemon from pf.
  • support for bcachefs.
  • RTW88 Patches included
  • OpenRGB and ACS Override support

Other GNU/Linux distributions

  • Complete patch for simple patching on the kernel
  • It is planned to implement into our kernel builder from cachyos buildsystem, which works also on other distributions.

Gentoo

Its a community maintained ebuild from a user, which can be used for a dynamic building right here

Or simply run:

eselect repository enable ROKO__
emaint sync -r ROKO__

We are providing a repositories which includes all kernels in x86-64-v4,x86-64-v3 and x86-64 and more performance-optimized packages

How to add our repositories automatically with compatibility detection (if x86-64-v3 is supported) is described below:

🦾 Automatic adding of our repositories

Run following commands:

  1. Get archive with script
wget https://mirror.cachyos.org/cachyos-repo.tar.xz

If don't have wget, install them by sudo pacman -S wget

  1. Extract and jump into the archive
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
  1. Run script under sudo
sudo ./cachyos-repo.sh

The script performs automatic march detection and changes the pacman.conf

✋ Manually

  1. Add key
sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
  1. Add key
sudo pacman-key --lsign-key F3B607488DB35A47
  1. You can download first initial packages
sudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-2-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-14-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v3-mirrorlist-14-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v4-mirrorlist-2-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/pacman-6.0.2-10-x86_64.pkg.tar.zst'

Checking for the cpu support

  1. Check support by the following the command
/lib/ld-linux-x86-64.so.2 --help | grep "x86-64 (supported, searched)"

add following under the arch repos the "-v3" repos only if they are supported:

# cachyos repos
## Only add if your CPU does v3 architecture
[cachyos-v3]
Include = /etc/pacman.d/cachyos-v3-mirrorlist
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist

If you have a x86-64-v4 supprted CPU add the following:

# cachyos repos
## Only add if your CPU does support x86-64-v4 architecture
[cachyos-v4]
Include = /etc/pacman.d/cachyos-v4-mirrorlist
[cachyos-v3]
Include = /etc/pacman.d/cachyos-v3-mirrorlist
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist

This script will also backup your old pacman.conf. This script will auto-detect you architecture, if your CPU have x86-64-v4 or x86-64-v3 support, it will automatically use the repos which are optimized with this flag > and some other flags. Also all provided Kernels, Browsers, ... are optimized and compiled.

◀️ How to Backup the config and use the native Arch Packages

  • Remove or Backup the config located at /etc/pacman.conf
  • then run sudo mv /etc/pacman.conf.bak /etc/pacman.conf
  • Then run following command to switch the packages to the default arch packages sudo pacman -Suuy

More information's you will find here CachyOS or Discord

🔧 How to use CLANG/LLVM/LTO compiled Kernels on Nvidia driver with DKMS:

Not needed anymore, just install the latest dkms version from our repo.

🗣️ Support - get in touch with CachyOS community

Discord: https://discord.gg/qJqj94uFwE
Telegram: https://t.me/+zCzPX4cAFjk1MTYy
Matrix: https://matrix.cachyos.org

🌱 Donations are welcome for the build server for the repositories or a cup of coffee for maintaining our repositories.

PayPal: https://paypal.me/pttrr
Patreon: https://www.patreon.com/CachyOS

BTC: bc1qmwglfchlc335du6pcu6w64cexu7cck0mzhyw42
ETH: 0xc2dc77327F78A7B85Db3941Eb49e74F41E961649

Valueable Contributors

Hamad Marri for the CacULE and TT Scheduler
Archlinux for the great linux operating system
And all other Kernel Developers and Supporters