diff --git a/debian/libva-v4l2-request-fourier/build-deb.sh b/debian/libva-v4l2-request-fourier/build-deb.sh new file mode 100755 index 000000000..a3931ec54 --- /dev/null +++ b/debian/libva-v4l2-request-fourier/build-deb.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# Build libva-v4l2-request-fourier__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" < +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" diff --git a/debian/libva-v4l2-request-fourier/debian/changelog b/debian/libva-v4l2-request-fourier/debian/changelog new file mode 100644 index 000000000..fcb6873df --- /dev/null +++ b/debian/libva-v4l2-request-fourier/debian/changelog @@ -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 Mon, 18 May 2026 23:00:00 +0000 diff --git a/debian/libva-v4l2-request-fourier/debian/control b/debian/libva-v4l2-request-fourier/debian/control new file mode 100644 index 000000000..6389b9baf --- /dev/null +++ b/debian/libva-v4l2-request-fourier/debian/control @@ -0,0 +1,27 @@ +Source: libva-v4l2-request-fourier +Section: libs +Priority: optional +Maintainer: Markus Fritsche +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. diff --git a/debian/libva-v4l2-request-fourier/debian/copyright b/debian/libva-v4l2-request-fourier/debian/copyright new file mode 100644 index 000000000..684dc8dca --- /dev/null +++ b/debian/libva-v4l2-request-fourier/debian/copyright @@ -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 +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 + 2018-2026 The libva-v4l2-request authors + 2024-2026 Markus Fritsche +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.