ohm_gl_fix:start
Table of Contents
ohm_gl_fix — Mali-G52 EGL/dmabuf import efficiency
A scope-narrow campaign to reduce per-frame GL/EGL import cost on Mali-G52 (RK3566) when consuming V4L2-decoded NV12 dmabuf frames. Spun off from fourier on 2026-04-30 after Phase 3 measurements confirmed the import cost is the binding constraint on browser-side video playback.
- Local dossier:
~/src/ohm_gl_fix/README.md(canonical scope + reference list) - Reference target: ohm — PineTab2, RK3566, Mali-G52 MP2, hantro G1/G2 VPU, kernel
6.19.10-danctnix1-1-pinetab2
Status — Phase 1 locked 2026-04-30
- Phase 1 goal formulation, 2026-04-30 — goal locked, constraints separated. Phase 2 (situation analysis) is next.
- Phase 2 situation analysis, 2026-04-30 — substrate enumerated (Mesa/panfrost, EGL/GLES extensions, V4L2 buffer-pool, mpv+libplacebo, KWin, known failure modes). Phase 3 (baseline measurements) is next.
- Phase 3 (revised), 2026-05-01 — empirical bucket-attribution + boundary characterisation across six playback paths; supersedes the original Phase 3 narrative.
- Phase 1 (revised), 2026-05-01 — measurable success criteria (C1-C4) across in-scope use cases (Brave / Chromium + VS Code); supersedes the original Phase 1 lock.
- Phase 4 (from scratch), 2026-05-01 — libva-v4l2-request multiplanar port plan; Brave/Chromium VA-API chain, Step 0 research → Step 1 implementation → conditional Step 2; supersedes the original Phase 4 enumeration.
- Phase 5 second-model review, 2026-05-01 — Sonnet 4.6 challenges the four Phase 4 §7 hand-over questions; surfaces four pre-Phase-6 actions, including a 10-second test that could obviate the libva multiplanar rewrite if Brave already has the direct V4L2 decoder path compiled in.
- Phase 4 Step 1 test corpus, 2026-05-01 — extended H.264 test corpus (5 YouTube clips R1-R5 + JVT conformance subset including MBAFF / long-GOP / scaling-list) addressing Phase 5 review Q4; Step 1 completion gate.
- Phase 6 Step 0 — Chromium Wayland routing, 2026-05-01 — routing decision chain; Step 2 patch site identified at WaylandConnection::ShouldUseOverlayDelegation lines 495-509.
- Phase 6 Step 0.5 — Kernel UAPI surface audit, 2026-05-01 — V4L2 stateless H.264 control struct layouts captured from working GStreamer pipeline; per-byte template for Step 1.
Origin freeze (sibling): fourier Phase 5 review handover.
Scope (canonical: README)
- In: panfrost (Mesa) EGLImage-from-dmabuf import path for NV12 with Rockchip-relevant DRM modifiers; application-level EGLImage caching across V4L2 buffer-pool reuse; Mali-G52 on RK3566 specifics.
- Out: V4L2 stateless decoder work (fourier territory); browser-side carrier patches that opt into dmabuf-overlay compositing (fourier territory; the workaround, not the fix); compositor-side overlay-plane promotion for video surfaces (overlap with KWin / Mutter); hardware Vulkan video decode (panvk does not implement
VK_KHR_video_decode_*yet).
Sibling
- fourier — V4L2 stateless decode unlock for mainline ARM Wayland. Currently paused; re-entry condition is that this campaign surfaces something useful that changes the GL-consumer baseline.
Namespace landing created 2026-04-30 alongside the Phase 1 entry lock.
ohm_gl_fix/start.txt · Last modified: by markus_fritsche
