← Home

DRM GPU scheduling

Cap in-flight GPU work and pick the next job fairly, so interactive apps stop waiting behind heavy ones.

~6ms app wait
Heavy · runningYour appHeavy · next

Your app goes right after the running job.

Results

Wait until GPU startStockMine
App p5013.2–15.4 ms5.31–6.21 ms
App p9916.4–18.0 ms8.60–8.80 ms
Compositor p509.8–13.0 ms3.35–3.77 ms

Radeon 860M, Hyprland. Preliminary, as of November 4, 2026.

How it works

  1. Allow one normal job in flight per scheduler.
  2. Pick whoever has had the least GPU time.
  3. Skip blocked work so the compositor can go.

Reproduce

python3 trace/kernel/arms.py fair/bg1/skip-cap
Full design doc on GitHub ↗