- Notifications
You must be signed in to change notification settings - Fork40
Archlinux Kernel based on different schedulers and some other performance improvements.
License
CachyOS/linux-cachyos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
We have provided all these CPU schedulers because each scheduler performsdifferently depending on usage. We recommend testing each one to determinewhich best suits your specific requirements.
(BORE)Burst-Oriented ResponseEnhancer Scheduler byfirelzrd
linux-cachyos
/linux-cachyos-bore
(EEVDF)Earliest Eligible VirtualDeadline -
linux-cachyos-eevdf
(BMQ)BitMap queue CPUScheduler Scheduler byAlfred Chen -
linux-cachyos-bmq
Note
The CachyOS repositories provide prebuilt kernels in three differentmarch versions:x86-64
,x86-64-v3
,x86-64-v4
andznver4
. The defaultlinux-cachyos
kernel is compiled with Clang, Thin LTO and uses our AutoFDO + Propeller profile.For this kernel there is alinux-cachyos-gcc
variant available.
- Very customizable PKGBUILD with many features and improvements.
- Auto detection of CPU architecture and setting the appropriate compiler flags.
- Support for building with GCC or Clang.
- Choose between 300Hz, 500Hz, 600 Hz ,750Hz and 1000Hz. Defaults to 1000Hz
- Kernel Control Flow Integrity (kCFI) selectable when using
LLVM
- Support for generating and using AutoFDO profiles, which is a PGO-likeoptimization. See more:https://cachyos.org/blog/2411-kernel-autofdo/
- 3 different scheduler are supported:
BORE
,EEVDF
andBMQ
scheduler - AMD P-State Preferred Core / amd-pstate enhancements and fixes from
linux-next
. - Support for RT kernel builds with BORE
- Cachy Sauce
CONFIG_CACHY
, enables various tweaks for the scheduler and other settings - Includes patches to improve performance of CRC32 and AES128 crypto.
- ZFS Filesystem support and pre-built modules for our kernels in the repository
- Support for building NVIDIA modules with some patches. Ready modules forbinary kernel builds can be found in the repository.
- Latest & improved ZSTD 1.5.6 patch-set
- KSM patch for proper working of uksmd daemon from pf
- Memory management tweaks from zen-kernel (compaction, watermark)
- Cherry-picked Clear Linux patches
- Back-ported patches from
linux-next
- ACS Override support
- AMDGPU: Allow override of min_powercap with
amdgpu_ignore_min_pcap
- Steam Deck Patches included - Audio, HW Quirks, HID
- Rog Ally patches included
- v4l2loopback modules as default included
- HDR support enabled
- Various GCC Optimization flags applied (
-fivopts -fmodulo-sched
) - NTSync module support (
NTSYNC=m
) - T2 Macbook support as default included
The repositories contain both Arch Linux and CachyOS packages, which have beenre-built with flags optimized for performance, stability, and security.
znver4
- Dedicated Zen4 optimized repository used for Zen 4 and Zen 5 CPUsx86-64-v4
- all Arch Linux packages with enhanced compilation flagsx86-64-v3
- all Arch Linux packages with enhanced compilation flagsx86-64
- currently only kernel packages
We've made it easy for you! Simply run the following commands to use our helperscript that does all the work for you. 😉
Run the following commands:
- Get archive with script
curl -O https://mirror.cachyos.org/cachyos-repo.tar.xz
- Extract and enter into the archive
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
- Run script with sudo
sudo ./cachyos-repo.sh
Script will auto-detect CPU architecture, if CPU has
x86-64-v4
orx86-64-v3
support, script will automatically use the repositories, which are optimizedwith this flag and some other flags.Script will backup your old
pacman.conf
.
For more information, check out ourGitHub orjoin ourDiscord community.
- Add CachyOS signing keys
sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.comsudo pacman-key --lsign-key F3B607488DB35A47
- Install required packages
Caution
Installing the CachyOS Pacman, will install a forked pacman withfeatures added from CachyOS, like "INSTALLED_FROM" and an automaticarchitecture check.
Pacman 6.1 added a feature validation feature, which could lead when using theArch Linux pacman into warnings. We are working with Arch Linux to provide aproper compatibility again.
If you want to avoid this, don't add the "cachyos" repository, which containsthe customized pacman. All other repositories like cachyos-v3, cachyos-v4,cachyos-extra/core-v3/4 are fine to add.
sudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' \ 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-18-1-any.pkg.tar.zst' \ 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v3-mirrorlist-18-1-any.pkg.tar.zst' \ 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v4-mirrorlist-6-1-any.pkg.tar.zst' \ 'https://mirror.cachyos.org/repo/x86_64/cachyos/pacman-7.0.0.r6.gc685ae6-3-x86_64.pkg.tar.zst'
If you want to go back to the Arch Linux repositories and had our version ofpacman installed, you will need to run the following command after the rollbackto avoid getting%INSTALLED_DB%
warnings:
sudo find /var/lib/pacman/local/ -type f -name "desc" -exec sed -i '/^%INSTALLED_DB%$/,+2d' {} \;
If you want to add our repositories manually, you must check the compatibilityof the CPU with cachyos repositories.
Note
If you are using the script above to add CachyOS repositories, you can skipthe check.
/lib/ld-linux-x86-64.so.2 --help | grep supported
Pay attention to the following text with brackets.(supported, searched)
If you see
x86-64-v4 (supported, searched)
, that means theCPU iscompatible and can usex86-64-v4 instruction set.If you see
x86-64-v4
, that means theCPU is incompatible and can't usex86-64-v4 instruction set.
> /lib/ld-linux-x86-64.so.2 --help | grep supported x86-64-v4 (supported, searched) x86-64-v3 (supported, searched) x86-64-v2 (supported, searched)
You need to editpacman.conf
and add repositories.
sudo nano /etc/pacman.conf
# cachyos repos[cachyos]Include = /etc/pacman.d/cachyos-mirrorlist
if your CPU supportsx86-64-v3
, then add[cachyos-v3]
,[cachyos-core-v3]
,[cachyos-extra-v3]
and[cachyos]
# cachyos repos## Only add if your CPU does v3 architecture[cachyos-v3]Include = /etc/pacman.d/cachyos-v3-mirrorlist[cachyos-core-v3]Include = /etc/pacman.d/cachyos-v3-mirrorlist[cachyos-extra-v3]Include = /etc/pacman.d/cachyos-v3-mirrorlist[cachyos]Include = /etc/pacman.d/cachyos-mirrorlist
if your CPU supportsx86-64-v4
, then add[cachyos-v4]
,[cachyos-core-v4]
,[cachyos-extra-v4]
and[cachyos]
# cachyos repos## Only add if your CPU does support x86-64-v4 architecture[cachyos-v4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos-core-v4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos-extra-v4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos]Include = /etc/pacman.d/cachyos-mirrorlist
Finally, update your system with CachyOS packages:
sudo pacman -Syu
Enjoy improved system speed with CachyOS packages!
This is handled via debuginfod. Just add following file to/etc/debuginfod/cachyos.urls
https://debuginfod.cachyos.org
SeeUninstalling Cachyos Repositories
Warning
Using sched-ext schedulers is not available when using thelinux-cachyos-bmq
kernel.
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.
Its a community maintained ebuild from a user, which can be used for a dynamicbuilding righthere
Or simply run:
eselect repository add CachyOS-kernels git https://github.com/Szowisz/CachyOS-kernelsemaint sync -r CachyOS-kernels
Port of kernel linux-cachyos-bore, linux-cachyos-rt-bore, linux-cachyos-bore-lto and linux-cachyos-lts bybieszczaders
Visit theCOPR page for installation instructions and the latest announcements.
Nyx does provide a precompiled CachyOS Kernel and a bunch of other interesting packages. This repository is maintained bychaotic-aurJust follow thisREADME
Discord:https://discord.gg/cachyos-862292009423470592
Forum:https://discuss.cachyos.org
Telegram:https://t.me/+zCzPX4cAFjk1MTYy
Matrix:https://matrix.cachyos.org
PayPal:https://paypal.me/pttrr
Patreon:https://www.patreon.com/CachyOS
BTC: bc1qmwglfchlc335du6pcu6w64cexu7cck0mzhyw42
ETH: 0xc2dc77327F78A7B85Db3941Eb49e74F41E961649
LTC: LgGTwcEBcXqMgNT6XyyNWABMb7dZVtVg9w
firelzrd for the BORE Scheduler
Arch Linux for the great linux operating system
And all other Kernel Developers and Supporters
About
Archlinux Kernel based on different schedulers and some other performance improvements.