At the 2025 Linux Plumbers Conference (LPC), held in Tokyo in mid-December, Changwoo Min led a session on what he has learned while developing the “latency-criticality aware virtual deadline” (LAVD) scheduler, which is aimed at gaming workloads. The session was part of the Gaming on Linux microconference, which is a new entrant into LPC; organizers hope to see it return next year in Prague and, presumably, beyond. LAVD uses the extensible scheduler class (sched_ext) and has the primary goal of minimizing stuttering in games; it is implemented in a combination of BPF and Rust.
Min said that he has been developing LAVD as part of his work at Igalia on SteamOS and the Steam Deck. The name of the scheduler is a bit of a mouthful, but it is focused on making Windows games run better on Linux. SteamOS (and the Steam application for Linux) use Wine and the Proton compatibility layer. Most of the scheduling decision-making code for LAVD is written in BPF, with a thin, Rust-based user-space piece.
Most of the scheduling decision-making code for LAVD is written in BPF, with a thin, Rust-based user-space piece.
BPF has hooks to replace the scheduler? That’s crazy, I had no idea!

