aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/perf/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-12 19:07:18 +0100
committerDanilo M. <danix@danix.xyz>2026-11-12 19:07:18 +0100
commitfda4e7847bb5dc985404269c81400eead52b0181 (patch)
tree724fb032a3809c9cdde521775b4d4f28ce684c95 /desktop/modules/perf/README.md
parent13f04c0d3188f9f974986225486c01f91cd18701 (diff)
downloadquickshell-fda4e7847bb5dc985404269c81400eead52b0181.tar.gz
quickshell-fda4e7847bb5dc985404269c81400eead52b0181.zip
feat(perf): show GPU render and compute loadHEADmaster
xe exposes no busy percentage, but its DRM fdinfo carries per-engine cycle counters. vram.sh becomes gpu.sh: the same scan also sums drm-cycles-rcs/ccs per client and prints them with the GPU's cycle counter, and Perf.js turns two scans into a percentage per engine. The GPU card's headline is now the busier engine, with render (games) and compute (local LLMs) as bars, then VRAM, temperature and fan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/perf/README.md')
-rw-r--r--desktop/modules/perf/README.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/desktop/modules/perf/README.md b/desktop/modules/perf/README.md
index d5ae0b3..9fdbc6e 100644
--- a/desktop/modules/perf/README.md
+++ b/desktop/modules/perf/README.md
@@ -2,10 +2,12 @@
The figures the conky dashboard used to show, as a drawer page of cards, one
per row; the page scrolls. CPU load with a bar per core, the CPU model and
-RAM; every temperature as a tile; the Arc B580's VRAM and fan (no
-utilisation, xe exposes none); the five mounts with their usage; and
+RAM; every temperature as a tile; the Arc B580's render and compute load
+(games and local LLMs, from fdinfo's cycle counters), VRAM, temperature and
+fan; the five mounts with their usage; and
`~/.cache` with its five largest children. `Perf.qml` reads them; `Perf.js`
-holds the parsing, tested by `node desktop/modules/perf/test_perf.js`.
+holds the parsing, tested by `node desktop/modules/perf/test_perf.js`;
+`gpu.sh` sums the fdinfo scan, tested by `sh desktop/modules/perf/test_gpu.sh`.
The tile shows CPU and RAM, and a dot for the worst of these, yellow or red:
@@ -27,7 +29,7 @@ into the LAN depends on the ISP's fixed address. The fetch is
never a mismatch: the old value goes stale after 4 hours and shows as a dash.
Everything is sampled always, including per-core load, the network rate,
-VRAM (a scan of every fdinfo, ~14ms every 2s) and the fan. The network rate
+GPU load and VRAM (a scan of every fdinfo, ~14ms every 2s) and the fan. The network rate
is drawn by the network page, which reads it from here, so its graph opens
on the last minute of history instead of empty. The mount list, `br0`, the GPU name and the 12 GiB VRAM
size are constants in `Perf.qml`.