Phase 0: A1 Wayland baseline + state snapshot — major reframing

3 in-session reps of chromium-fourier 149 / brave_drops_test.html /
Plasma Wayland 6.6.4 (kwin-fourier 6.6.4-3 + qt6-base-fourier
6.11.0-3 carry-overs intact). Tight cluster IQR=0:
drops_total=0, drops_post_warmup=0, frames_total=1685, kwin %CPU
median=0.00, mean=0.04. Perf samples on kwin (~30 over 70s) show
zero composite/dmabuf/GL symbols — only event-loop bookkeeping.

Most likely mechanism: KWin direct-scanout fast-path engaged for
the single-visible-client video case. The campaign's load-bearing
hypothesis ("X11 + non-compositing WM avoids per-frame GL composite
of NV12") is structurally weakened — KWin already avoids that work
under Wayland for this workload. Phase 1 needs to add a
multi-window A1' variant and drm_info-during-playback to confirm
direct-scanout, then revisit matrix cell design.

revert.log entry 6: SDDM autologin + state.conf swap that landed
the Plasma Wayland session for the A1 reps. Backup of original
state.conf preserved at /var/lib/sddm/state.conf.x11-research-bak;
single-command revert documented.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 13:11:15 +00:00
parent d2e11be430
commit 9a023e9264
45 changed files with 3199 additions and 17 deletions
+28 -16
View File
@@ -37,11 +37,14 @@ inventory and baseline-anchor work below.
- [x] **Experimental matrix drafted.** 3 browsers × 2 decode
paths × 2 sessions = 12 cells (some N/A where libva isn't
supported). See `phase0_findings.md` § "Experimental matrix".
- [ ] State snapshot of ohm under current Plasma Wayland
the campaign-start *before* photo. Unattended-tractable
via SSH. Captures package versions, kernel, kwin_wayland
PID + cmdline, governor, services, browser binary versions,
test asset paths, thermal_zone temps.
- [x] State snapshot of ohm under current Plasma Wayland.
Captured 2026-05-03 in
`phase0_evidence/wayland_baseline_2026-05-03/01_live_session.txt`
+ `02_predecessor_assets.txt`. Confirmed kwin_wayland 6.6.4 +
qt6-base-fourier 6.11.0-3 + kwin-fourier 6.6.4-3 carry-overs
intact, governor=performance, all three browsers + mpv
installed, predecessor's `run_browser_nodebug.sh` +
parsers + `brave_drops_test.html` test page reusable.
- [x] Inventory of available X11 paths on ohm. Captured
2026-05-03 in `phase0_evidence/x11_inventory_2026-05-03/`
(raw `02_x11_paths.txt` + summary `inventory.md` § "Deliverable 2").
@@ -96,17 +99,26 @@ inventory and baseline-anchor work below.
`/usr/bin/xtrace` from glibc is a syscall tracer, unrelated);
optional, matrix doesn't strictly need protocol traces.
perf_event_paranoid=2 — set to 1 once for unattended runs.
- [ ] **A1 baseline: in-session Wayland-with-KWin anchor.**
Mandatory per the governing rule. 3 reps minimum (variance
is a real concern on this hardware per the predecessor
data) of a `kwin_timing_nodebug`-equivalent run on the
current Plasma Wayland session, captured into
`phase0_evidence/wayland_baseline_repN/`. **This is the
only Wayland baseline this campaign uses.** No
predecessor number substitutes for these reps even if the
predecessor measured an "identical" condition. The 3 reps
also surface the session-internal variance up front, so
Phase 1 thresholds aren't drawn against a single sample.
- [x] **A1 baseline: in-session Wayland-with-KWin anchor.**
Captured 2026-05-03 14:2314:31 CEST in
`phase0_evidence/wayland_baseline_2026-05-03/a1_rep[1-3]/`
+ verdict in `a1_summary.md`. 3 reps,
`chromium-fourier-kwin` workload via
`run_browser_nodebug.sh`. **Tight cluster (IQR 0):**
drops_total=0, drops_post_warmup=0, frames_total=1685
(median), kwin %CPU median=0.00, mean=0.04. **Major
reframing finding:** kwin_wayland is doing essentially
zero per-frame work — perf reports show no GL / dmabuf /
composite symbols at all, only event-loop bookkeeping.
Most likely mechanism: KWin direct-scanout
(single-visible-client bypass). The campaign's
load-bearing hypothesis ("X11 will be measurably faster
because no KWin GL composite") is structurally weakened
— there's no per-frame KWin overhead for the X11 cells
to be faster than. Phase 1 needs to add a multi-window
A1' variant + drm_info-during-playback to confirm
direct-scanout, plus revisit cell-design per
`a1_summary.md` § "Phase 1 implications".
## Phase 1 — binding cells + measurement protocol