User Tools

Site Tools


ohm_gl_fix:start

This is an old revision of the document!


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

— goal locked, constraints separated. Phase 2 (situation

  analysis) is next.
* [[ohm_gl_fix:phase2_2026-04-30|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.
* [[ohm_gl_fix:phase3_revised_2026-05-01|Phase 3 (revised), 2026-05-01]]
  — empirical bucket-attribution + boundary characterisation across
  six playback paths; supersedes the original Phase 3 narrative.
* [[ohm_gl_fix:phase1_revised_2026-05-01|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.
* [[ohm_gl_fix:phase4_2026-05-01|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.
* [[ohm_gl_fix:phase5_review_2026-05-01|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.
* [[ohm_gl_fix:phase4_step1_test_corpus_2026-05-01|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.

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.1777657128.txt.gz · Last modified: by markus_fritsche