GlouOS logoGlouOSWiki
glouos.org

The game scheduler

The CPU scheduler decides which thread runs when. Swapping in one built for games is the single biggest smoothness win GlouOS makes.

A pluggable scheduler with sched-ext

GlouOS ships a kernel with sched-ext, which lets the system load a specialised CPU scheduler instead of the one-size-fits-all default. That is what makes it possible to favour the latency-critical threads a game depends on.

LAVD and bpfland

By default GlouOS uses scx_lavd (Latency-criticality Aware Virtual Deadline), the scheduler Igalia developed for Valve and the Steam Deck. It is purpose-built for the communication-heavy, latency-sensitive work games do, and it shows real improvements in 1% lows over the stock scheduler.

On CPUs with a mix of performance and efficiency cores, or under very heavy background load, scx_bpfland is a strong alternative and can be selected instead.

It switches on when you play

You do not have to manage any of this. Launching a game automatically switches GlouOS to its Gaming scheduler profile, and exiting reverts to a balanced profile for the desktop. The choice persists across reboots:

# /etc/scx_loader.toml
        default_mode = "Auto"
        default_sched = "scx_lavd"

When something stalls

Debugging tip

The scheduler works alongside the automatic process-priority rules. If you ever chase a system-wide stall, temporarily disabling those rules is the first thing to try.