Full state-of-play matrix (browser × SoC × codec) plus per-SoC
ranked-by-tractability YouTube delivery paths, drafted by the Plan
subagent with web research synthesizing LibreELEC/CoreELEC patterns,
Mozilla bugzilla, Collabora's mainline Rockchip status, and
chromium-dev threads. Sources cited at the end.
Headline:
- fresnel ships today via enhanced-h264ify forcing YouTube to
serve H.264 (rkvdec already validated bbb_1080p30 RDD 78% to 5%)
- ohm needs VP9 hwaccel verification against hantro before claims
- ampere blocked on Linux 7.0 / VDPU381 rkvdec2 driver kernel rebase
- mpv-as-YouTube is the LibreELEC-inspired browser-bypass path
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
User has been running the more aggressive 0001 variant (skip the
watchDmaBuf wait entirely) downstream and reports Plasma feels
measurably snappier — fewer latency spikes under heavy compositor
activity. The present 0002 MR has different (correct) wait
semantics so the perceived gain can't be directly attributed, but
calling it out gives reviewers an honest signal that the patch
at least preserves whatever benefit was on the table downstream.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Independent firefox-fourier campaign (RK3399 H.264 stateless via
rkvdec) overlaps significantly with David's HEVC work outlined in
comment #3 — same gfxinfo / FFmpeg / sandbox plumbing. Posting our
findings, including a non-obvious sandbox/libudev interaction
(Mozilla's OpenAtTrap rejects fd-relative openat used by systemd's
chase() inside udev_enumerate_scan_devices), would save duplicate
effort.
Draft is the proposed comment text plus upload notes. Final
submission still needs human review + bugzilla account to post.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Index README for upstream-submissions/. Captures:
- Directory layout (3 subdirs, one per series).
- Where the actual patch files live.
- Submission status table (none filed yet).
- Validation gates common to all three series.
- Recommended submission order: vb2-dma-resv first (the
architectural correction the kwin patch's premise depends on),
qt6-base-fourier independently anytime, kwin-fourier last
with reference to the merged/in-flight kernel patch.
- Cadence after submitting: review feedback loop, LTS backport
requests, eventual retirement of the local -fourier packages
once the upstream changes ship.
Submission notes for the kernel/vb2-dma-resv-rfc series. Captures:
- Pre-flight gates (full-tree compile-test, boot-test on ohm,
runtime validation by uninstalling kwin-fourier and confirming
chrome still plays through, syscall-count delta).
- The git send-email recipe with the full CC list (linux-media,
V4L2 maintainers, hantro maintainer Tomasz Figa, dma-buf
reviewers Sumit Semwal / Christian König / Jason Ekstrand,
dri-devel, linux-rockchip, Heiko / Jeffy).
- Expected reviewer feedback (opt-in vs. auto-on, selftest
request, signal-point semantics for async producers,
Pick-to-LTS decision).
- Withdraw conditions if upstream is already doing this work or
the design has a fundamental issue we didn't see.
This is the third upstream-submission draft in the campaign:
upstream-submissions/qt6-base-fourier/ bugreports.qt.io draft
upstream-submissions/kwin-fourier/ invent.kde.org MR draft
upstream-submissions/vb2-dma-resv/ linux-media draft (this)
KDE merge-request body for kwin-fourier patch 0002 (the
upstream-shape, not the diagnostic 0001 bypass).
Captures:
- Summary of the change (poll dmabuf fd directly, drop the
EXPORT_SYNC_FILE+sync_file roundtrip).
- Why it matters (per-frame ioctl overhead on Mali hardware,
measurable contributor to compositor latency spikes).
- Side effects (drop unused linux/dma-buf.h and xf86drm.h
includes, remove exportWaitSyncFile static helper).
- Alternative considered (16ms timeout — preserves shape but
doesn't remove the syscalls; rejected for that reason).
- Validation context on PineTab2.
- Future work pointer at the kernel-side dma_resv work.
- KDE contribution flow boilerplate: account, SSH, fork+branch
recipe, reviewer suggestions (vladz, zamundaaa, David Edmundson),
labels (Component::Wayland, Performance, Backport).
Validation gate before submitting: build kwin-fourier with 0002
instead of 0001, install on ohm, confirm equivalence with the
0001-validated playback. Strace numbers for the syscall reduction
go into the MR body once captured.
This is a parallel to the qt6 submission draft committed earlier.
Bug-report body for filing the qt6-base-fourier patch series at
bugreports.qt.io against QtBase: OpenGL.
Captures:
- The summary (GL_ALPHA hard-coded for QT_CONFIG(opengles2),
spec-violating in OpenGL ES 3.x).
- Reproduction steps (any Mali-class hardware running Plasma
Wayland + Qt 6, watch the journal for kwin_wayland's GL debug
output).
- The four affected sites in qtbase (qopengltextureglyphcache.cpp
×2, qrhigles2.cpp, qopengltextureuploader.cpp).
- The fix shape and the runtime predicate added by each patch.
- Validation context on ohm (RK3566 PineTab2, mainline 6.19,
panfrost mesa 26.0.5).
- Gerrit submission boilerplate: account setup, per-patch
trailers (Bug:, Pick-to:, Change-Id), reviewer suggestions.
The patches themselves stay in arch/qt6-base-fourier/ unchanged —
the Change-Id and Bug: trailers will be added at submission time
once the bug is filed and bugreports.qt.io issues an issue
number. The patches are commit-message-ready to upload via
git-review master once those trailers land.