evidence · 1.6 KiB

board-result-2026-09-28.md

Committed at docs/evidence/card-shell/frame-budget/board-result-2026-09-28.md. This is what grounds the requirements that cite it.

Open raw source

Frame budget: board result, 2026-09-28

Evidence class: board read-only measurement over serial. The DRM vblank probe (nix/panel-refresh-probe.c, DRM_IOCTL_WAIT_VBLANK only) and tools/measure-panel-refresh.sh ran on system 9ix1cka3….

CaptureVblank samplesVblank intervalVO IRQ rate
Idle, nothing animating (idle-capture.txt)299min 19.149, p50 19.161, p95 19.162, max 19.172 ms0 Hz: the vblank IRQ is only enabled on demand
Overview animating via swaymsg card_shell enter/next/previous/back ×8, with foot and galculator open (drag-capture.txt)399min 19.129, p50 19.161, p95 19.163, max 19.192 ms53.4 Hz (427 events)

Programmed mode: 49.5 MHz, htotal 748, vtotal 1268, 52.19 Hz, a period of 19.161 ms.

Conclusion

Per the decision table in analysis.md §3: raw hardware vblank stays on a clean 19.16 ms grid even while the card deck animates. The ~57.5 ms presentation intervals in the earlier telemetry are therefore the compositor’s commit cadence missing vblank slots (H1: render or commit overrun, rounded up to the next vblank). They are not a panel, DSI or VO refresh limit. H4 (vblank IRQ at 1/3 rate) is refuted.

The decision this supports is (c): reduce per-frame card-deck render and commit cost, and/or pipeline commits so an overrun costs one slot instead of serialising the next. It does not support accepting ~57 ms as a hardware limit.

Not measured here: presentation-feedback timing during the same run, and real-finger drags. swaymsg-driven transitions stand in for gestures.