Skip to content

stranger74x/linux-cachyos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,982 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CachyOS logo

CachyOS Linux Kernels

Enhanced Linux kernels with improved performance, multiple CPU schedulers, and advanced optimizations.

⚠️ NOTE: Personal Build & Repository Cleanup This repository is a stripped-down, personalized fork of the official CachyOS kernel.

To keep things simple and focused, I have removed all other kernel variants (such as BMQ, Bore, etc.) and unnecessary root-level scripts that are specific to the original infrastructure. This build is tailored to my personal requirements. If you are looking for the full suite of CachyOS kernel variants or the original automation tools, please refer to the official CachyOS kernel repository.

🛠️ Kingston KC3000 Thermal Fix

This is a personal kernel build with a critical patch to resolve the Kingston KC3000 SSD overheating issue.

While this kernel is configured for my personal requirements (see PKGBUILD for specific settings), feel free to use the pre-built packages if they suit your needs.

Acknowledgment: This fix addresses the known FUA (Force Unit Access) issue affecting the Kingston KC3000. The technical analysis and root cause were identified through community discussions in Launchpad Bug #2064042.

🌡️ Performance & Impact

This patch addresses the thermal issues observed with the Kingston KC3000 when FUA (Force Unit Access) is enabled.

  • Before the patch: Idle temperatures often reached 80°C, and thermal throttling was frequent even under light workloads.
  • After the patch: Idle temperatures stabilize around 38°C–41°C, and the drive maintains a cool ~50°C even under normal operating loads.

Technical Note: The exact mechanism causing this thermal spike is not fully understood; however, it appears that even a single operation with the FUA flag triggers the drive to enter a high-power state or prevents it from entering lower power modes, leading to rapid heating regardless of system load. By applying this patch, we essentially override this behavior, which consistently resolves the overheating issue for this specific drive model.

⚠️ Risk Disclaimer: FUA (Force Unit Access)

By applying this patch, you are instructing the kernel to ignore FUA commands from the NVMe drive. While this resolves the thermal issue, it is important to understand the trade-offs:

  • Data Integrity Risk: FUA ensures that write operations are physically written to the drive's non-volatile media before the system receives a "write complete" confirmation. Disabling this means the system will assume data is safely stored when it is actually still in the drive's volatile cache.
  • Power Loss Sensitivity: If you experience a sudden power failure (e.g., power outage, system crash, or battery drain without a UPS/battery backup) while the drive is in this state, there is an increased risk of filesystem corruption or data loss for recent writes.
  • Recommendation: This patch is primarily recommended for laptop users with batteries or desktop users with an Uninterruptible Power Supply (UPS) or those who prioritize drive longevity and lower temperatures over the strict data-caching guarantees provided by FUA. Use it with caution if your system handles mission-critical data without an Uninterruptible Power Supply (UPS).

How to apply this patch to your own kernel

If you prefer your own kernel configuration, you can apply this fix to your local build in three steps:

  1. Get the Patch: Download the kc3000.patch file from this repository.

  2. Add to your PKGBUILD: Place the patch file in your kernel source directory and add its name to the source array in your PKGBUILD.

  3. Update and Compile: Update the checksums and build your kernel:

    updpkgsums
    makepkg -srci

⚠️ Compatibility Warning

This patch is designed for the current kernel version in this repository. If you are applying it to a different kernel version, the code context may have shifted. Please be prepared to manually adjust the patch (or its offsets) using patch tools if it fails to apply automatically.

Table of Contents

Overview

CachyOS provides a collection of enhanced Linux kernels designed for improved performance across different workloads. Kernels are built from the CachyOS Linux fork (currently based on Linux 7.1), which merges topic branches on top of upstream stable releases.

Our kernels feature multiple CPU schedulers, advanced compiler optimizations, and carefully selected patches to deliver better responsiveness and throughput.

Note

All CachyOS kernels are available in multiple architecture optimizations: x86-64, x86-64-v3, x86-64-v4, and znver4.

Kernel Variants & Schedulers

Each scheduler is optimized for different use cases. We recommend testing each one to find the best fit for your specific requirements.

Available Schedulers

Scheduler Full Name Package(s) Best for... Developer
BORE Burst-Oriented Response Enhancer linux-cachyos-bore, linux-cachyos-deckify, linux-cachyos-hardened, linux-cachyos-rt-bore Interactive workloads & gaming firelzrd
EEVDF Earliest Eligible Virtual Deadline First linux-cachyos, linux-cachyos-eevdf, linux-cachyos-lts, linux-cachyos-server General-purpose computing Peter Zijlstra
BMQ BitMap Queue CPU Scheduler linux-cachyos-bmq Throughput-oriented workloads Alfred Chen

Specialized Variants

  • linux-cachyos - Default kernel: EEVDF scheduler with Clang Thin LTO and AutoFDO
  • linux-cachyos-rc - Release candidate kernel tracking the next upstream version
  • linux-cachyos-hardened - Security-focused kernel with hardening patches and the BORE scheduler
  • linux-cachyos-lts - Long Term Support version (currently 6.18) with EEVDF and Cachy Sauce
  • linux-cachyos-rt-bore - Real-time kernel with BORE scheduler integration
  • linux-cachyos-server - Server-optimized EEVDF configuration with lazy preemption
  • linux-cachyos-deckify - Handheld gaming variant with BORE scheduler, Steam Deck support, and MSI Claw driver

Compiler Variants

  • linux-cachyos - Default optimized build using Clang Thin LTO with AutoFDO + Propeller profile-guided optimizations
  • 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

Tip

For detailed explanations of each kernel variant, visit our Kernel Wiki.

Features

The CachyOS kernel fork merges topic branches into each release. The current Linux 7.1 base integrates fifteen topic branches (amd-isp4, bbr3, cachy, cgroup-vram, drm-fair, fixes, hdmi, lenovo-wmi, mglru, preempt-ipi, sched-cluster, snd-codecs, t2, vesa-dsc-bpp, and vmalloc-free) on top of upstream stable.

Performance Optimizations

  • Advanced Compilation: Highly customizable PKGBUILD with support for both GCC and Clang compilers
  • Link Time Optimization (LTO): Clang Thin LTO (v12) enabled by default on the main linux-cachyos package
  • Distributed ThinLTO: Support for distributed Clang ThinLTO builds to speed up kernel compilation
  • Profile-Guided Optimization: AutoFDO + Propeller profiling on the default kernel for optimal code generation (Learn more)
  • Kernel Control Flow Integrity (kCFI): Available when using LLVM for enhanced security
  • Timer Frequency Options: Configurable between 100Hz, 250Hz, 300Hz, 500Hz, 600Hz, 750Hz, and 1000Hz (default: 1000Hz)
  • Architecture Optimizations: Support for x86-64-v3, x86-64-v4, and AMD Zen4 specific builds
  • Compiler Optimizations: Advanced GCC flags including -fivopts and -fmodulo-sched
  • PREEMPT_DYNAMIC: Runtime-selectable preemption modes (full, lazy, voluntary, none)
  • vmalloc Optimizations: Bulk page freeing in vfree(), improved vrealloc() shrink/grow paths, and optimized contiguous range freeing

CPU Enhancements

  • Multiple Schedulers: BORE, EEVDF, and BMQ schedulers for different workload optimization
  • POC Selector v2.6.2: Piece-Of-Cake fast idle CPU selector inspired by scx_cake, reducing wakeup latency
  • Cluster-Aware Scheduling: Improved load balancing for CPU clusters, including balancing between CPUs of identical capacity on hybrid architectures
  • Preempt-IPI Optimizations: Lower-latency SMP/IPI paths with preemption re-enabled before TLB flushes and streamlined smp_call_function() handling
  • CachyOS Sauce: Custom CONFIG_CACHY configuration with scheduler and system tweaks
  • AMD P-State Enhancements: Preferred Core support and latest amd-pstate improvements from linux-next
  • Real-Time Support: RT kernel builds available with BORE scheduler integration
  • Low-Latency Optimizations: Patches for improved responsiveness and reduced jitter
  • sched/wait LIFO accept(): Socket accept() processed in LIFO order for better cache efficiency
  • Wakeup CPU Affinity: Prefer the previous CPU for task wakeups to improve cache locality

Networking

  • BBR3 TCP: BBRv3 congestion control available as a separate module alongside BBRv1

Filesystem & Memory

  • ZFS Support: Built-in ZFS filesystem support with pre-compiled modules
  • NTFS Improvements: Upstream NTFS driver fixes for MFT mirror validation, attribute bounds checking, and logfile handling
  • MGLRU Enhancements: Unified writeback reclaim statistics, simplified vmscan accounting, improved dirty writeback reactivation, and Cachy Sauce MM tuning (LRU-gen working set protection, compaction/watermark tweaks, hugepage reclaim)
  • Transparent Hugepages: ADVISE mode for shmem/tmpfs transparent hugepages
  • NVIDIA Integration:
    • Proprietary NVIDIA driver modules with patches
    • Open-source NVIDIA driver support
    • Ready-to-use modules in repository
  • I/O Scheduler Improvements:
    • Enhanced BFQ and mq-deadline performance
    • ADIOS v3.2.0 multi-queue I/O scheduler support
  • VRAM Cgroup (DMEM): Device memory controller for restricting GPU VRAM usage per cgroup, with protection limits, common-ancestor pool sharing, and Nouveau DMEM support

Additional Features

Hardware Support

  • AMD ISP4: AMD ISP 4 camera driver for supported platforms
  • Gaming Hardware: Steam Deck patches (Audio, HW Quirks, HID), ROG Ally support, MSI Claw HID driver (deckify), and EasySMX 05 Pro gamepad support
  • Apple Hardware: T2 MacBook support with apple-bce driver in staging
  • ASUS Hardware: Extended ASUS hardware compatibility patches, including ACP audio fixes for Vivobook 18 and TUF Gaming A14 (2026)
  • Lenovo Hardware: WMI battery charge limiting, GPU/CPU tunable attributes, capdata debugfs, and AMD PMC suspend delay for improved sleep/resume
  • HP Hardware: OMEN Slim (including 16t-an000) and OMEN MAX laptop support via hp-wmi
  • Samsung Hardware: Galaxy Book 4/5 series audio fixes via MAX98390 HDA codec support
  • Graphics: HDR support enabled, AMDGPU min_powercap override (amdgpu_ignore_min_pcap), and DRM fair GPU scheduling favoring interactive clients
  • Display: HDMI VRR on AMD (including PCON path and freesync-on-desktop), ALLM and passive VRR connector properties, VESA DSC bits-per-pixel parsing from EDID
  • Audio Codecs: AW88399 and MAX98390 HDA side codec support

System Enhancements

  • Multimedia: v4l2loopback modules included by default
  • Virtualization: ACS Override support for VFIO/GPU passthrough
  • Upstream Integration: Cherry-picked patches from Clear Linux and linux-next

Note

For comprehensive details about each kernel variant and their specific optimizations, visit our Kernel Documentation.

CachyOS Repositories

Our repositories contain optimized Arch Linux and CachyOS packages rebuilt with performance, stability, and security enhancements.

Available Repository Tiers

Repository Target CPUs Package Coverage Optimization Level
znver4 AMD Zen 4 & Zen 5 Full package set Zen4-specific optimizations
x86-64-v4 Intel Xeon / Intel 11th Full package set AVX, AVX2, AVX512, SSE4.2, SSSE3
x86-64-v3 2012 or newer Full package set AVX, AVX2, SSE4.2, SSSE3
x86-64 All x86-64 CPUs Kernels only Basic optimizations

Quick Installation

Automated Setup (Recommended)

Our installation script automatically detects your CPU and configures the optimal repositories:

# Download and extract the installer
curl -O https://mirror.cachyos.org/cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo

# Run the automated installer
sudo ./cachyos-repo.sh

What the script does:

  • Auto-detects your CPU architecture support
  • Configures appropriate repository tiers
  • Backs up your existing pacman.conf
  • Sets up GPG keys and mirrors

For more information, visit our GitHub or join our Discord community.

Manual Installation

Step 1: Add CachyOS Signing Keys

sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key F3B607488DB35A47

Step 2: Install Required Packages

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-27-1-any.pkg.tar.zst' \
    'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v3-mirrorlist-27-1-any.pkg.tar.zst' \
    'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v4-mirrorlist-27-1-any.pkg.tar.zst' \
    'https://mirror.cachyos.org/repo/x86_64/cachyos/pacman-7.1.0.r9.g54d9411-4-x86_64.pkg.tar.zst'

Caution

About CachyOS Pacman: This installs a forked version of pacman with CachyOS-specific features like INSTALLED_FROM tracking and automatic architecture detection. While this provides enhanced functionality, it may cause compatibility warnings with standard Arch Linux workflows.

Alternative: If you prefer to avoid the custom pacman, skip the cachyos repository and only use the optimized package repositories (cachyos-v3, cachyos-v4, cachyos-extra, etc.).

Rollback Instructions

If you need to revert to standard Arch repositories after using CachyOS pacman:

sudo find /var/lib/pacman/local/ -type f -name "desc" -exec sed -i '/^%INSTALLED_DB%$/,+2d' {} \;

CPU Compatibility Check

Before manually configuring repositories, verify your CPU's instruction set support.

Note

Skip this step if using the automated installation script—it handles detection automatically.

Check Your CPU Support

/lib/ld-linux-x86-64.so.2 --help | grep supported

Understanding the Output

Look for the (supported, searched) indicators:

  • x86-64-v4 (supported, searched) = CPU supports v4 instruction set
  • x86-64-v4 (without parentheses) = CPU does NOT support v4

Example Output for Compatible CPU:

$ /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)

Instruction Set Requirements:

  • x86-64-v4: Intel Haswell (2013+) / AMD Excavator (2015+)
  • x86-64-v3: Intel Nehalem (2008+) / AMD Bulldozer (2011+)
  • x86-64-v2: Intel Core 2 (2006+) / AMD K8 (2003+)

Repository Configuration

Edit your pacman configuration to add the appropriate repositories:

sudo nano /etc/pacman.conf

For x86-64 (Basic) Support:

# CachyOS repositories
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist

For x86-64-v3 Support:

# CachyOS repositories (add in this order)
[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

For x86-64-v4 Support:

# CachyOS repositories (add in this order)
[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

For AMD Zen4 CPUs:

# CachyOS repositories (Zen4 optimized)
[cachyos-znver4]
Include = /etc/pacman.d/cachyos-v4-mirrorlist
[cachyos-core-znver4]
Include = /etc/pacman.d/cachyos-v4-mirrorlist
[cachyos-extra-znver4]
Include = /etc/pacman.d/cachyos-v4-mirrorlist
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist

Finalize Installation:

# Update package databases and system
sudo pacman -Syu

🎉 Congratulations! Your system is now optimized with CachyOS packages.

Debug Packages

Debug symbols are available through debuginfod. Configure it by creating:

# Create debuginfod configuration
sudo mkdir -p /etc/debuginfod
echo "https://debuginfod.cachyos.org" | sudo tee /etc/debuginfod/cachyos.urls

Uninstalling CachyOS Repositories

For complete removal instructions, see our Uninstallation Guide.

SCX Schedulers

CachyOS supports the new sched-ext (SCX) framework for userspace schedulers. For setup and configuration, see our sched-ext Tutorial.

Warning

SCX schedulers are not compatible with the linux-cachyos-bmq kernel variant.

Other Distributions

CachyOS kernels are available for other Linux distributions through community efforts:

Gentoo Linux

Community-maintained ebuilds for dynamic kernel building:

# Add the CachyOS kernels overlay
eselect repository add CachyOS-kernels git https://github.com/Szowisz/CachyOS-kernels
emaint sync -r CachyOS-kernels

Repository: Szowisz/CachyOS-kernels

Fedora Linux

COPR repository with multiple kernel variants:

  • linux-cachyos-bore
  • linux-cachyos-rt-bore
  • linux-cachyos-bore-lto
  • linux-cachyos-lts

Maintainer: bieszczaders
Installation: Visit the COPR page for setup instructions

NixOS

Precompiled kernels available through the xddxdd/nix-cachyos-kernel repository:

Repository: xddxdd/nix-cachyos-kernel
Setup: Follow the installation guide

Support & Community

Get Help

Support Development

Help us maintain repositories and build infrastructure:

  • PayPal: paypal.me/pttrr
  • Patreon: patreon.com/CachyOS
  • BTC: bc1qmwglfchlc335du6pcu6w64cexu7cck0mzhyw42
  • ETH: 0xc2dc77327F78A7B85Db3941Eb49e74F41E961649
  • LTC: LgGTwcEBcXqMgNT6XyyNWABMb7dZVtVg9w

Contributors

Special thanks to our key contributors:

About

Personal build of CachyOS kernel for x86-64-v3 (generic_v3) architecture with a patch to resolve Kingston KC3000 SSD overheating issues.

Topics

Resources

License

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%