From 3abfdff9438db7d3052d98e1bf40821d36160c5b Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Wed, 20 May 2026 13:58:05 +0200 Subject: [PATCH] libva-v4l2-request-fourier: de27e95 -> c332d34 (LIBVA-1 close) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps both Arch (PKGBUILD) and Debian (build-deb.sh + changelog) pins to upstream c332d34 — the merged LIBVA-1 PR. Effect: Pi 5 / CM5 mixed deployment (higgs) now opens BOTH rpi-hevc-dec and daedalus_v4l2 from one libva session and routes per-codec — HEVC to rpi-hevc-dec ('p'), VP9 / AV1 / H.264 to the daedalus daemon (new 'd' kind). Before c332d34, find_codec_device picked rpi-hevc-dec by known_decoder_drivers[] order and the daedalus slot stayed -1, so VP9/AV1/H.264 frames failed S_FMT. Also closes a small fd leak in RequestTerminate (daedalus pair — caught while reviewing the alt-driver expansion). Both packages: pkgver bumped 1.0.0.r378.c332d34, pkgrel reset to 1 (new upstream pin). Backward-compatible on RK3399/3588 — new branches gated by HAVE_DAEDALUS_V4L2 *and* video_fd_daedalus >= 0, both false in those deployments. Companion: daedalus-v4l2{,-dkms} bump 481279c landed in PR #39 (systemd unit + auto-enable). Together they close the Pi 5 stack: boot → modules-load.d loads daedalus_v4l2 → daedalus-v4l2.service starts daemon → libva opens both decoders → ffmpeg -hwaccel vaapi routes by codec. Co-Authored-By: Claude Opus 4.7 --- arch/libva-v4l2-request-fourier/PKGBUILD | 14 ++++++++------ debian/libva-v4l2-request-fourier/build-deb.sh | 10 ++++++---- debian/libva-v4l2-request-fourier/debian/changelog | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/arch/libva-v4l2-request-fourier/PKGBUILD b/arch/libva-v4l2-request-fourier/PKGBUILD index 16ee88adec..bbfb81b7f8 100644 --- a/arch/libva-v4l2-request-fourier/PKGBUILD +++ b/arch/libva-v4l2-request-fourier/PKGBUILD @@ -31,18 +31,20 @@ _upstreampkg=libva-v4l2-request # H264/HEVC probe; actual VP9 stateless control SET worked all along). # # Prior pin (7ac934e) was iter38b — fresnel-fourier multi-device probe -# + MAX_PROFILES bounds-check fix. de27e95 adds the daedalus_v4l2 +# + MAX_PROFILES bounds-check fix. de27e95 added the daedalus_v4l2 # probe slot (b5b3acf), the meson option gate (2146341), and the -# S_EXT_CTRLS diagnostic (de27e95 itself). Backward-compatible on -# rkvdec / hantro / cedrus / rpi-hevc-dec hosts — daedalus probe is -# off by default unless the kernel module is present. -_commit=de27e95571b67ef34619c23a12db4698f9b3454e +# S_EXT_CTRLS diagnostic (de27e95 itself). c332d34 (LIBVA-1) finishes +# the per-codec dispatch: rpi-hevc-dec + daedalus_v4l2 both probe each +# other as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind, +# HEVC stays on 'p' (rpi-hevc-dec). Required for the Pi 5 / CM5 +# mixed-decoder deployment (higgs). +_commit=c332d34643be29e88012e30878d2fbeb255b20ab # Project version from meson.build (1.0.0) + commit count + short sha, # matching the ffmpeg-v4l2-request-fourier convention. Recomputed at # build time by pkgver() below; the static value here is a placeholder # so AUR-style consumers see something coherent before src/ exists. -pkgver=1.0.0.r376.de27e95 +pkgver=1.0.0.r378.c332d34 pkgrel=1 pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)" arch=('aarch64') diff --git a/debian/libva-v4l2-request-fourier/build-deb.sh b/debian/libva-v4l2-request-fourier/build-deb.sh index a3931ec541..9d15f1d770 100755 --- a/debian/libva-v4l2-request-fourier/build-deb.sh +++ b/debian/libva-v4l2-request-fourier/build-deb.sh @@ -10,10 +10,12 @@ # Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier set -euo pipefail -# Same pin as the Arch PKGBUILD. de27e95 = "v4l2: log error_idx + -# failing ctrl id on S_EXT_CTRLS failure" (Phase 8.13 diagnostic). -UPSTREAM_COMMIT=de27e95571b67ef34619c23a12db4698f9b3454e -PKGVER=1.0.0+r376+gde27e95 +# Same pin as the Arch PKGBUILD. c332d34 = LIBVA-1 close — per-codec +# dispatch on Pi 5: rpi-hevc-dec + daedalus_v4l2 both probe each other +# as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind, HEVC stays +# on 'p' (rpi-hevc-dec). +UPSTREAM_COMMIT=c332d34643be29e88012e30878d2fbeb255b20ab +PKGVER=1.0.0+r378+gc332d34 PKGREL=1 HERE=$(dirname "$(readlink -f "$0")") diff --git a/debian/libva-v4l2-request-fourier/debian/changelog b/debian/libva-v4l2-request-fourier/debian/changelog index fcb6873dfd..a22e9236b2 100644 --- a/debian/libva-v4l2-request-fourier/debian/changelog +++ b/debian/libva-v4l2-request-fourier/debian/changelog @@ -1,3 +1,17 @@ +libva-v4l2-request-fourier (1.0.0+r378+gc332d34-1) bookworm trixie; urgency=medium + + * Bump to c332d34 — LIBVA-1 per-codec dispatch close. Pi 5 mixed + deployment (rpi-hevc-dec + daedalus_v4l2 both loaded) now correctly + opens BOTH decoders: VP9/AV1/H.264 route to daedalus via new 'd' + kind, HEVC stays on 'p' (rpi-hevc-dec). Before this commit + find_codec_device picked rpi-hevc-dec as the sole primary and the + daedalus_v4l2 slot stayed -1, so VP9/AV1/H.264 frames failed. + * Also closes a small fd leak in RequestTerminate (daedalus pair). + * Backward-compatible: new branches gated by HAVE_DAEDALUS_V4L2 + *and* video_fd_daedalus >= 0 — RK3399/RK3588 boxes unaffected. + + -- Markus Fritsche Wed, 20 May 2026 17:30:00 +0000 + libva-v4l2-request-fourier (1.0.0+r376+gde27e95-1) bookworm trixie; urgency=medium * Initial Debian packaging (sibling to existing