Files
Claude (noether) ee636a6d21 mpv-fourier: iter2 — wire v4l2request hwdec through drmprime VO
Adds Kwiboo / Langdale's 2024-08 patches (0001-meson + 0002-vo-hwdec-drmprime)
so AV_HWDEVICE_TYPE_V4L2REQUEST flows through mpv's drmprime VO hwdec and
`--hwdec=v4l2request` engages against the dmabuf-wayland VO instead of failing
with "Could not create device". The matcher previously filtered on
AV_HWDEVICE_TYPE_DRM and rejected v4l2request even when libavcodec's hwaccel
returned a valid PRIME descriptor.

PKGBUILD: pkgrel 9 → 10, source[] picks up both new patches, prepare() applies
them before the existing 0001-vo_dmabuf_wayland cache-sync workaround,
meson build flag -Dv4l2request=enabled added so the new option compiles in.

Stacks on top of iter1 (713a856): the dma_buf cache-sync workaround stays
load-bearing for the existing vaapi_dmabuf and drmprime_dmabuf import paths;
this iter only adds the wiring for the drmprime VO's hwdec selector.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 05:52:22 +00:00
..

mpv-fourier

mpv with the fourier-umbrella patches.

Why

The dmabuf-modifier-triage campaign isolated the green-frames bug on ohm to mpv's vo_dmabuf_wayland.c plane-semantics handling for V4L2 stateless decoder dmabufs. mpv currently emits a zwp_linux_buffer_params_v1 message that mixes per-plane fds (V4L2 MPLANE export) with a single- allocation offset for plane 1, causing KWin to read the UV chroma plane past-EOF on the UV-plane fd and render solid dark green.

This package is the delivery vehicle for the fix once it's written. PKGBUILD is in place with an empty patch slot; the patch itself is iter1 of the triage campaign.

Tracker

Status

  • 2026-05-08: scaffold landed. Builds vanilla mpv 0.41.0 with no fourier patches applied (patch slot empty in prepare()). pkgrel=1 pinned to mpv release v0.41.0.

When iter1 of the triage campaign produces the patch, bump pkgrel, add the patch to source=() and sha256sums=(), uncomment the patch -p1 line in prepare().

Hosts that benefit

Only hosts that exercise the V4L2 stateless dmabuf-wayland path — ohm (RK3566 + hantro G1) today, fresnel (RK3399 + hantro + rkvdec) once that campaign reaches its mpv-test phase. Other hosts on [marfrit] (boltzmann, hertz desktop) won't see any difference as the fix is no-op for non-V4L2-stateless dmabuf paths.