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.

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