debian/libva-v4l2-request-fourier: new package

Mirror of arch/libva-v4l2-request-fourier into the Debian tree.
Same pin (de27e95), same build (meson + ninja), output as
arm64 .deb installing the VA-API ICD as
/usr/lib/aarch64-linux-gnu/dri/v4l2_request_drv_video.so.

Auto-detected by VAAPI consumers (ffmpeg -hwaccel vaapi, mpv
--hwdec=vaapi, Firefox VAAPI accel) when
LIBVA_DRIVER_NAME=v4l2_request is set.

build-deb.sh follows the lmcp pattern: reproducible build with
SOURCE_DATE_EPOCH pin; standalone dpkg-deb so it runs on a
non-Debian builder without dh/debhelper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 18:25:33 +00:00
parent 3293cd6542
commit 249e8461bb
4 changed files with 154 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
#!/bin/bash
# Build libva-v4l2-request-fourier_<ver>_arm64.deb.
#
# Compiles the libva ICD from the marfrit/libva-v4l2-request-fourier
# tip pinned in PKGVER below. Mirrors arch/libva-v4l2-request-fourier
# (Arch Linux build). Output is a single arm64 .deb that ships the
# VA-API driver as /usr/lib/aarch64-linux-gnu/dri/v4l2_request_drv_video.so.
#
# Sibling Arch package: ../../arch/libva-v4l2-request-fourier/PKGBUILD
# 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
PKGREL=1
HERE=$(dirname "$(readlink -f "$0")")
# Reproducible build. 2026-05-18 23:00 UTC — Phase 8.13 close.
export SOURCE_DATE_EPOCH=1779231600
work=$(mktemp -d)
trap "rm -rf $work" EXIT
cd "$work"
curl -sSLfo libva-fourier.tar.gz \
"https://git.reauktion.de/marfrit/libva-v4l2-request-fourier/archive/${UPSTREAM_COMMIT}.tar.gz"
tar xzf libva-fourier.tar.gz
SRCDIR=$(echo libva-v4l2-request-fourier)
cd "$SRCDIR"
meson setup build \
--buildtype=release \
--prefix=/usr \
--libdir=lib/aarch64-linux-gnu \
-Db_lto=false
meson compile -C build
ROOT="$work/pkgroot"
DESTDIR="$ROOT" meson install -C build
# Strip any non-package debug, then drop dependencies + control.
install -Dm644 "$HERE/debian/copyright" "$ROOT/usr/share/doc/libva-v4l2-request-fourier/copyright"
install -Dm644 "$HERE/debian/changelog" "$ROOT/usr/share/doc/libva-v4l2-request-fourier/changelog.Debian"
gzip -9 -n "$ROOT/usr/share/doc/libva-v4l2-request-fourier/changelog.Debian"
mkdir -p "$ROOT/DEBIAN"
cat > "$ROOT/DEBIAN/control" <<EOF
Package: libva-v4l2-request-fourier
Version: ${PKGVER}-${PKGREL}
Section: libs
Priority: optional
Architecture: arm64
Depends: libva2, libdrm2
Conflicts: libva-v4l2-request
Replaces: libva-v4l2-request
Provides: libva-driver, libva-v4l2-request (= ${PKGVER}-${PKGREL})
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
Homepage: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
Description: VA-API backend for V4L2 stateless decoders (fourier fork)
LibVA implementation for the Linux Video4Linux2 Request API, multiplanar
fork of bootlin/libva-v4l2-request. Drives rkvdec / hantro / cedrus /
rpi-hevc-dec / daedalus_v4l2 stateless decoders for H.264, HEVC, VP8,
VP9, AV1, and MPEG-2.
.
Auto-detected by VAAPI consumers (ffmpeg -hwaccel vaapi, mpv --hwdec=vaapi,
Firefox VAAPI accel) when LIBVA_DRIVER_NAME=v4l2_request is set.
EOF
DEB_OUT="libva-v4l2-request-fourier_${PKGVER}-${PKGREL}_arm64.deb"
dpkg-deb --root-owner-group --build "$ROOT" "$HERE/$DEB_OUT"
echo "built: $HERE/$DEB_OUT"
+15
View File
@@ -0,0 +1,15 @@
libva-v4l2-request-fourier (1.0.0+r376+gde27e95-1) bookworm trixie; urgency=medium
* Initial Debian packaging (sibling to existing
arch/libva-v4l2-request-fourier).
* Pinned to fork tip de27e95: "v4l2: log error_idx + failing ctrl id
on S_EXT_CTRLS failure" — Phase 8.13 diagnostic that surfaced the
real root cause of the libva→daedalus_v4l2 request-completion
timeout.
* Includes daedalus_v4l2 probe slot (b5b3acf) and meson option gate
(2146341) for the Pi 5 daemon-backed decoder shim.
* Backward-compatible on rkvdec / hantro / cedrus / rpi-hevc-dec
hosts — daedalus probe is off by default unless the kernel module
is present.
-- Markus Fritsche <mfritsche@reauktion.de> Mon, 18 May 2026 23:00:00 +0000
+27
View File
@@ -0,0 +1,27 @@
Source: libva-v4l2-request-fourier
Section: libs
Priority: optional
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
Build-Depends: debhelper-compat (= 13),
libva-dev,
libdrm-dev,
meson (>= 0.43),
ninja-build,
pkg-config
Standards-Version: 4.6.2
Homepage: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
Package: libva-v4l2-request-fourier
Architecture: arm64
Depends: ${misc:Depends}, ${shlibs:Depends}, libva2, libdrm2
Conflicts: libva-v4l2-request
Replaces: libva-v4l2-request
Provides: libva-driver, libva-v4l2-request (= ${binary:Version})
Description: VA-API backend for V4L2 stateless decoders (fourier fork)
LibVA implementation for the Linux Video4Linux2 Request API, multiplanar
fork of bootlin/libva-v4l2-request. Drives rkvdec / hantro / cedrus /
rpi-hevc-dec / daedalus_v4l2 stateless decoders for H.264, HEVC, VP8,
VP9, AV1, and MPEG-2.
.
Auto-detected by VAAPI consumers (ffmpeg -hwaccel vaapi, mpv --hwdec=vaapi,
Firefox VAAPI accel) when LIBVA_DRIVER_NAME=v4l2_request is set.
+38
View File
@@ -0,0 +1,38 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libva-v4l2-request-fourier
Upstream-Contact: Markus Fritsche <fritsche.markus@gmail.com>
Source: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
Comment:
Fork of bootlin/libva-v4l2-request with multi-codec / multi-device
enhancements for the fourier campaign (RK3399 / RK3588 / RK3566 / BCM2712).
Per-file SPDX headers are the canonical declaration; this summary
covers the aggregate.
Files: *
Copyright: 2018 Paul Kocialkowski <paul.kocialkowski@bootlin.com>
2018-2026 The libva-v4l2-request authors
2024-2026 Markus Fritsche <fritsche.markus@gmail.com>
License: LGPL-2.1+ or MIT
License: LGPL-2.1+
This package is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
On Debian systems, the complete text of the GNU Lesser General
Public License v2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.
License: MIT
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject
to the following conditions:
.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.