sched-ext Schedulers
Swap the Linux CPU scheduler at runtime with sched-ext (scx) — CachyOS's signature tuning feature.
sched-ext (sched_ext, or scx) lets you load a CPU scheduler written as a
BPF program — and swap it live, without rebooting. It's one of the defining
features of the CachyOS base Genesi runs on: different schedulers optimize for
different workloads, so you can pick one tuned for gaming, for interactivity, or
for server throughput.
The Genesi kernel already has sched_ext support compiled in,
so there's nothing to enable at the kernel level.
Install the schedulers
sudo pacman -S scx-schedsThis provides the scheduler binaries and the scx_loader service that manages
them.
Pick a scheduler
Common choices from the scx project:
| Scheduler | Tuned for |
|---|---|
scx_lavd | Gaming and latency-sensitive desktop use |
scx_bpfland | Interactive / general desktop |
scx_rusty | Multi-core throughput, mixed workloads |
scx_flash | Predictable latency for real-time-ish tasks |
Set your choice in /etc/default/scx:
SCX_SCHEDULER=scx_lavdThen enable the service:
sudo systemctl enable --now scx.serviceConfirm what's running
cat /sys/kernel/sched_ext/root/opsThat prints the name of the active scheduler. To go back to the kernel's built-in scheduler, stop the service:
sudo systemctl disable --now scx.serviceSchedulers are safe to experiment with — if one misbehaves, stopping the service returns you to the default instantly, and nothing persists across a reboot unless the service is enabled. Deeper detail lives in the CachyOS sched-ext tutorial and the scx project.