- doctor: resolve the workspace/Nix runtime before the native path, honour multi-entry XDG_DATA_DIRS, raise the kernel minimum to 5.14, and redact home/prefix/workspace paths by default (--no-redact opts out). Reports are written mode 0600. - crash-report: drop the whole-process table from the default bundle (--all-processes opts in), mask credentials in argv, strip window titles, validate --label, find the workspace launcher log, bound the log tail, describe missing logs, write the archive 0600 without owner metadata, and keep --json output pure JSON. - perf-baseline: reject non-finite times and absurd frame times, count --last by usable match, include the last sample interval in duration, record only the log basename, and rename p50/p95/p99 to sample_p* to make clear they are ten-second samples. - docs: correct the metric descriptions, flag names and shader-cache sign.
4.1 KiB
Compatibility matrix
This page answers one question: on which machines has darling-lol actually been used to play, and what did it run like?
It is a record of real reports, not a list of every configuration that might work. "Verified" below means the Riot Client opened, League launched, a match was played manually, and the store was reachable. Experimental or untested hardware is not listed until someone sends a report.
The project is unofficial and carries account risk. Never test on an account you care about, and never play ranked while testing (see the warning in the README).
How to add a row
Run these on the machine you played on, after a match:
darling-lol --doctor # host, GPU, Vulkan, session, prefix checks
darling-lol --doctor --report doctor.json # same checks as a JSON attachment
darling-lol --perf # frame pacing from the game's own logs
darling-lol --perf --json # the same numbers as JSON
darling-lol --doctor needs no runtime and starts nothing, so it is safe to run
at any time. darling-lol --perf reads the netstats.csv files that League
already writes; it does not touch the client or the game.
Open an issue titled Compatibility: <distro> / <GPU> and attach doctor.json
plus the perf --json output. Do not paste a full ~/.darling log or your home
directory; darling-lol --report produces a redacted bundle if more
diagnostics are needed. Then add a row here in a pull request, or mention the issue and a
maintainer will add it.
What the numbers mean
avgfpsis the inverse of the mean sampled frame time over the match, not the average of per-second FPS values.p50/p95/p99msare percentiles of League's ten-secondgame.frametime_averagesamples: the typical sample, the slow 5 %, and the slowest 1 %. They describe ten-second averages, not individual frames.slowfpsis the average FPS over the slowest quarter of the match, which is closer to what stutter feels like than the headline average.hitchcounts ten-second samples whose frame time is at least twice the match median.- FPS depends on map, graphics settings, charger/power state, other programs and shader-cache warmth. Treat comparisons as useful only when those match.
Verified configurations
| Distro / desktop | CPU / GPU | Driver | Session | Kernel | Runtime | Result | Frame pacing |
|---|---|---|---|---|---|---|---|
| Omarchy (Arch), Hyprland | Intel i5-10210U / Intel UHD 620 | i915, Mesa ANV |
Wayland + Xwayland | 7.2.5 | patched Darling, -O2 libc/libc++ |
Client, game, ARAM/Swiftplay and store work; playable at low settings | 24–32 avg FPS over five ARAM matches; p99 44–98 ms; slowest quarter 20–27 FPS |
Notes for the UHD 620 row:
- Measured 2026-10-23 with
tools/perf-baseline.pyon five match logs, no FPS overlay. The laptop has 11.5 GiB RAM and a 15 W Comet Lake CPU. - The 24 FPS match is also the longest log and the one with the most samples; the spread between matches is larger than the difference between recent builds, so single-match comparisons are not meaningful.
- Intel panel self-refresh (
i915.enable_psr) was on for part of this period. See panel self-refresh. - Expect first-match shader compilation to show up as a high
p99until the cache is warm.
The Ryzen 5 5500 / RX 6600 development machine is faster and is documented separately in status. It is not a laptop baseline and should not be read as the expected result on integrated graphics.
Not verified
These are common laptop configurations without a confirmed play test here. Reports are welcome, but treat them as unknown rather than supported:
- Recent AMD integrated graphics (Radeon 680M/780M) under RADV.
- NVIDIA hybrid laptops using PRIME render offload.
- Fedora Silverblue and other immutable distributions with Nix.
- Intel Arc discrete GPUs.
Known driver caveats live in the troubleshooting guide and hybrid graphics notes.