From 77c604061e7b00482f3aafa9caaf344e0c1d63f3 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sat, 3 Oct 2026 07:53:11 -0400 Subject: [PATCH] [Docs] (Anland): glxgears is fixed-function, so it measures presentation only --- .claude/skills/anland-mobilegl-plasma/SKILL.md | 2 +- docs/Disaggregated/notes/anland/plan-x11-gpu.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.claude/skills/anland-mobilegl-plasma/SKILL.md b/.claude/skills/anland-mobilegl-plasma/SKILL.md index 37eaf64a..21be40a3 100644 --- a/.claude/skills/anland-mobilegl-plasma/SKILL.md +++ b/.claude/skills/anland-mobilegl-plasma/SKILL.md @@ -117,7 +117,7 @@ sudo -u swung0x48 env -i HOME=/home/swung0x48 PATH=/usr/bin XDG_RUNTIME_DIR=/run ## Test clients and how to verify -X11 on the GPU has its own driver, `scripts/x11-verify.sh` (preflight, measure before/after with glxgears at `vblank_mode=0` on both GLX paths, deploy-client/-kwin/-server, check, apps, stop); `scripts/device/x11-measure.sh` refuses to load the phone below 40% battery. +X11 on the GPU has its own driver, `scripts/x11-verify.sh` (preflight, measure before/after with glxgears at `vblank_mode=0` on both GLX paths (presentation throughput only: glxgears is fixed-function GL, which MobileGL does not implement, so its window is black by design), deploy-client/-kwin/-server, check, apps, stop); `scripts/device/x11-measure.sh` refuses to load the phone below 40% battery. Inside the container as root (`printf '...' | bash scripts/ct.sh `), `mgrun offscreen ` runs a client as swung0x48 in the live session through a login shell, with nothing but the surface mode and the log path set (log `/tmp/mgl-run.client.log`, override base with `MGLOG=/tmp/x.log`); a plain `env -i ... bash -l -c ''` as swung0x48 gets MobileGL the same way: ```sh diff --git a/docs/Disaggregated/notes/anland/plan-x11-gpu.md b/docs/Disaggregated/notes/anland/plan-x11-gpu.md index 2c6d02a7..1fa1eb8a 100644 --- a/docs/Disaggregated/notes/anland/plan-x11-gpu.md +++ b/docs/Disaggregated/notes/anland/plan-x11-gpu.md @@ -136,6 +136,11 @@ ordinary X apps (xterm, xeyes) for glamor rendering. glxgears 1280x720, % of one core, `x11-verify.sh measure`; "before" = the old stack (`-shm` llvmpipe Xwayland, GLX readback + PutImage). +> glxgears is fixed-function GL (glBegin/glEnd display lists, glLight), which MobileGL does not +> implement (Core Profile only), so its window stays black. These numbers measure presentation +> throughput of empty frames through each path, not rendering. Check X11 rendering with a +> core-profile or shader-based GLX client, and verify it from pixels (mgl-xgrab / XGetImage). + | run | fps | phone | glxgears | Xwayland | kwin | server | GPU | |---|---|---|---|---|---|---|---| | before, unpaced | 160 | 229% | 28% | 42% | 71% | 37% | 15% |