3abfdff943
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 <noreply@anthropic.com>
77 lines
2.8 KiB
Bash
Executable File
77 lines
2.8 KiB
Bash
Executable File
#!/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. 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")")
|
|
|
|
# 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"
|