CachyOS Kernel vs Arch Kernel — What 1.4MB of Compiler Flags Actually Buy You
I spent a week switching between linux and
linux-cachyos on my Ryzen 7 7730U laptop. Same hardware,
same desktop, same apps — only the kernel changed. The differences were
subtle but real: slightly smoother window dragging, faster app launches,
and one unexpected finding about battery life that I didn’t
anticipate.
The Compilation Pipeline Difference
This is where the real divergence happens. Both kernels start from the same Linus Torvalds source tree, but CachyOS applies a fundamentally different build process.
Three Compiler Optimizations Explained
1. ThinLTO (Link-Time Optimization)
Standard Arch compiles each kernel source file independently. ThinLTO defers optimization to link time, letting the compiler see the entire kernel as one program.
What it does: Cross-module inlining — a function in
kernel/sched/ can be inlined into
drivers/gpu/drm/ if it’s called frequently enough. The
compiler eliminates dead code paths across module boundaries.
Typical gain: 1–3% throughput improvement. Build time increases by ~20%, RAM usage by ~2GB during linking.
2. PGO (Profile-Guided Optimization / AutoFDO)
CachyOS uses AutoFDO — a variant of PGO that collects hardware performance counter data from real kernel execution.
What it does: The compiler knows which code paths are hot (frequently executed) and which are cold. It inlines hot functions aggressively and reorders basic blocks for branch prediction.
Typical gain: 2–5% on workloads that stress kernel paths (I/O, scheduling, networking).
3. BOLT (Binary Optimization and Layout Tool)
BOLT operates after the kernel is compiled and
linked. It reads a runtime profile and rearranges functions in
vmlinux for better instruction cache locality.
What it does: Hot functions are placed close together in memory. Cold functions move to separate pages. This reduces I-cache misses.
Typical gain: 2–5% on I-cache-sensitive workloads. Meta reports significant QPS improvements in production.
The Scheduler Menu
This is the biggest practical difference for desktop users. Standard Arch ships EEVDF (Earliest Eligible Virtual Deadline First) — the upstream default. CachyOS offers four choices:
| Scheduler | Best For | How It Works |
|---|---|---|
| BORE | Gaming, desktop | Burst-Oriented Response Enhancer — prioritizes interactive tasks, minimizes latency for UI threads |
| EEVDF | General purpose | Upstream default — fair time-sharing with deadline-based prioritization |
| BMQ | Throughput workloads | BitMap Queue — optimized for batch processing, compiles, data pipelines |
| sched-ext (SCX) | Custom/experimental | BPF-based — load user-space schedulers at runtime without kernel recompile |
sched-ext: The Game Changer
sched-ext (merged in Linux 6.12) lets you write CPU schedulers as BPF programs. Load them, unload them, switch at runtime — no kernel recompile needed.
CachyOS integrates this with GUI tools (scxctl and SCX
Manager) and pre-built profiles:
| Profile | What It Does |
|---|---|
| Gaming | Prioritize game threads, reduce stuttering, lock to performance cores |
| Power Saving | Aggressive idle states, park idle cores, reduce frequency |
| Low Latency | Audio production, minimize scheduling jitter |
| Server | Throughput-first, maximize parallelism |
The tradeoff: sched-ext schedulers are specialized. Using the wrong one for your workload can hurt performance. A gaming scheduler on a compilation-heavy system will starve build threads.
What About Battery Life?
This surprised me. On my Ryzen 7 7730U:
| Metric | Arch linux |
CachyOS linux-cachyos |
|---|---|---|
| Idle power | ~4.2W | ~3.8W |
| Light web browsing | ~6.1W | ~5.7W |
| Video playback | ~5.8W | ~5.4W |
| Full CPU stress | ~28W | ~28W |
CachyOS’s BOLT-optimized kernel uses less power at idle — the instruction cache is more efficient.
The CPU wastes fewer cycles fetching instructions. Under full load, both hit the same thermal wall.
Kernel Config Differences
Beyond compiler flags, CachyOS tweaks kernel configuration:
Same config:
| Config | Both |
|---|---|
| PREEMPT | PREEMPT_DYNAMIC |
| HZ | 300 |
| MGLRU | Enabled |
CachyOS additions:
| Config | Arch | CachyOS |
|---|---|---|
| ZSTD | Level 1 | Level 3 (smaller image) |
| NVIDIA | Upstream | Pre-patched |
| NTFS | ntfs3 driver | ntfs3 + perf fixes |
| BBRv3 | Available | Enabled by default |
The Compounding Effect
Each optimization alone is small. Together, they compound:
| Optimization | Isolated Gain | In CachyOS Stack |
|---|---|---|
| ThinLTO | 1–3% | Cross-module inlining across entire kernel |
| PGO (AutoFDO) | 2–5% | Hot paths inlined, cold paths deprioritized |
| BOLT | 2–5% | I-cache miss reduction on optimized code |
| x86-64-v3 targeting | 5–15% (SIMD) | AVX2 instructions for crypto, compression |
| BORE scheduler | 5–10% (latency) | Interactive tasks get priority |
Combined: Gains don’t stack linearly — real-world improvement is typically 5–15% on desktop, 5–10% on server throughput. Most visible in I/O-heavy operations and scheduling-sensitive tasks.
When to Use Which
Use CachyOS for:
| Scenario | Why |
|---|---|
| Desktop gaming | BORE scheduler, lowest latency |
| Audio production | sched-ext low-latency profile |
| Compiles / dev work | BMQ scheduler, max throughput |
| Battery life | BOLT saves idle power |
Use Arch linux for:
| Scenario | Why |
|---|---|
| Server / production | Proven, minimal variables |
| Maximum stability | Fewer patches, fewer bugs |
| Hardware compatibility | Most tested |
How to Switch
# Check which kernel you're running
uname -r
# Install CachyOS kernel (on Arch)
sudo pacman -S linux-cachyos
# Or with BORE scheduler
sudo pacman -S linux-cachyos-bore
# Or with sched-ext support
sudo pacman -S linux-cachyos-scx
# Update bootloader (GRUB)
sudo grub-mkconfig -o /boot/grub/grub.cfg
# For Limine (CachyOS default)
sudo limine-snapper-sync
To switch back:
sudo pacman -Rns linux-cachyos
sudo pacman -S linux
sudo grub-mkconfig -o /boot/grub/grub.cfg
The Bottom Line
CachyOS’s kernel isn’t just “Arch with patches.” It’s a multi-pass optimized build of the same source code, with scheduler choices that standard Arch doesn’t offer. The 1.4MB size difference buys you ThinLTO cross-module inlining, PGO-guided branch prediction, BOLT code layout, and AVX2 instruction targeting.
For most users, the difference is subtle — slightly snappier UI, slightly faster app launches. For power users pushing audio latency, gaming frame times, or server throughput, the compounding optimizations are measurable and meaningful.
Tested on AMD Ryzen 7 7730U (Barcelo, Vega 7 iGPU), 16GB DDR5.
CachyOS July 2026. linux-cachyos 7.1.4-1 vs linux 7.1.4-arch1-1. Mesa
24.1.4. KDE Plasma 6.7.3. Power measurements via
powertop --time=60 on battery.