Files
darling-lol/docs/COMPATIBILITY.md
T
MintMachineHQ 54f301a0e0 fix(tools): address review feedback on diagnostics
- 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.
2026-10-25 12:28:48 -06:00

4.1 KiB
Raw Blame History

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

  • avgfps is the inverse of the mean sampled frame time over the match, not the average of per-second FPS values.
  • p50/p95/p99ms are percentiles of League's ten-second game.frametime_average samples: the typical sample, the slow 5 %, and the slowest 1 %. They describe ten-second averages, not individual frames.
  • slowfps is the average FPS over the slowest quarter of the match, which is closer to what stutter feels like than the headline average.
  • hitch counts 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.py on 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 p99 until 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.