Run #68's mpv-fourier-1:0.41.0-4 fails to start on ohm with libavcodec ABI mismatch: build version 62.28.101 incompatible with runtime version 62.28.100 Build host (fermi) pulls stock arch ffmpeg via makepkg --syncdeps — that ffmpeg currently ships libavcodec 62.28.101. Consumer host (ohm) runs marfrit/ffmpeg-v4l2-request-fourier (Kwiboo's fork pinned to commit b57fbbe, libavcodec 62.28.100). The build/runtime drift silently aborts mpv at startup before the version banner prints. Fix: configure [marfrit] on fermi and pre-install our ffmpeg before makepkg --syncdeps. mpv-fourier PKGBUILD now depends on ffmpeg-v4l2-request-fourier explicitly (replacing the generic ffmpeg dep), making the build target unambiguous. Workflow change: new step in mpv-fourier-aarch64 between "install deploy ssh key" and "makepkg" — imports the marfrit signing key into pacman-key, appends [marfrit] block to /etc/pacman.conf if absent, syncs db, installs marfrit/ffmpeg-v4l2-request-fourier explicitly so makepkg --syncdeps finds the dep already satisfied via provides=ffmpeg. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
- Bug: marfrit/dmabuf-modifier-triage#1
- Symptom-tracker: marfrit/libva-multiplanar#1
- Acceptance criterion:
~/src/dmabuf-modifier-triage/screenshots/
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.