From d449ec1073b931d11ab9de70f87441e4e8e9b875 Mon Sep 17 00:00:00 2001 From: claude-noether Date: Fri, 22 May 2026 20:50:04 +0200 Subject: [PATCH] =?UTF-8?q?daedalus-v4l2=20+=20daedalus-v4l2-dkms:=20bump?= =?UTF-8?q?=20to=20872eec5=20=E2=80=94=20PROTO=5FMAX=5FPAYLOAD=201=20MiB?= =?UTF-8?q?=20(#20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Picks up reauktion/daedalus-v4l2 PR #20 (closes #19): wire-protocol cap DAEDALUS_PROTO_MAX_PAYLOAD raised from 64 KiB to 1 MiB. DAEDALUS_MAX_BITSTREAM follows; daedalus_fill_output_fmt now reports OUTPUT_MPLANE sizeimage = ~1 MiB. Fixes the Firefox YouTube avc1 SW-fallback observed on higgs when any H.264 slice exceeded 64 KiB (routine on 720p+ streams). libva-v4l2-request-fourier's S_FMT-driven OUTPUT-pool resize was clamping back to 65484 and Firefox lost the slice; now the kernel honours the larger sizeimage. Both packages bumped to 0.1.0+r45+g872eec5-1: - daedalus-v4l2 (daemon): r43 -> r45. Daemon-side allocations are dynamic, so the only growth is one ~1 MiB read buffer per daemon process at startup. - daedalus-v4l2-dkms (kernel module): r33 -> r45. Skips the daemon-only bumps r37/r39/r41/r43 (no kernel/include change in that range) and lands the PROTO_MAX_PAYLOAD bump. LOCK-STEP INSTALL REQUIRED: effective cap is min(kernel, daemon). A stale kernel with a new daemon (or vice versa) still rejects >64 KiB payloads. apt/pacman should pick both up in one transaction since they share the same upstream pin. Wire-protocol value-only change in include/daedalus_v4l2_proto.h; struct layout unchanged. DAEDALUS_PROTO_VERSION stays at 0. --- arch/daedalus-v4l2-dkms/PKGBUILD | 6 +++--- arch/daedalus-v4l2/PKGBUILD | 6 +++--- debian/daedalus-v4l2-dkms/build-deb.sh | 6 +++--- debian/daedalus-v4l2-dkms/debian/changelog | 21 ++++++++++++++++++++ debian/daedalus-v4l2/build-deb.sh | 6 +++--- debian/daedalus-v4l2/debian/changelog | 23 ++++++++++++++++++++++ 6 files changed, 56 insertions(+), 12 deletions(-) diff --git a/arch/daedalus-v4l2-dkms/PKGBUILD b/arch/daedalus-v4l2-dkms/PKGBUILD index 487ebbca3..7d452944b 100644 --- a/arch/daedalus-v4l2-dkms/PKGBUILD +++ b/arch/daedalus-v4l2-dkms/PKGBUILD @@ -23,10 +23,10 @@ _module=daedalus_v4l2 # content-equivalent to f0d4186 plus PR #4 (cosmetic menu ctrls). # PROTO_VERSION drops 1 → 0; lock-step install with # daedalus-v4l2 0.1.0.r33.5d8b436 REQUIRED. -_commit=5d8b4369e58ab947d1c56b1f718293c57c6065b5 +_commit=872eec505eb91b561892d02a0526749348ddc121 -pkgver=0.1.0.r33.5d8b436 -pkgrel=1 # reset for new upstream pin (5d8b436 — revert parking design) +pkgver=0.1.0.r45.872eec5 +pkgrel=1 # reset for new upstream pin (872eec5 — PROTO_MAX_PAYLOAD 64 KiB -> 1 MiB, closes #19); lock-step with daedalus-v4l2 0.1.0.r45.872eec5 REQUIRED pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5" arch=('any') url="https://git.reauktion.de/reauktion/daedalus-v4l2" diff --git a/arch/daedalus-v4l2/PKGBUILD b/arch/daedalus-v4l2/PKGBUILD index 8e51bb441..76035b9ea 100644 --- a/arch/daedalus-v4l2/PKGBUILD +++ b/arch/daedalus-v4l2/PKGBUILD @@ -23,12 +23,12 @@ _upstreampkg=daedalus-v4l2 # (daedalus-v4l2#11). Daemon still needs daedalus-fourier at # build time (Arch packaging for that is a follow-up; Debian side # fetches inline via build-deb.sh). -_commit=1d8f5af1646c7c09b75e07be0c2763b37ea367e6 +_commit=872eec505eb91b561892d02a0526749348ddc121 # 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each # Phase 8.x close. pkgver() recomputes at build time. -pkgver=0.1.0.r43.1d8f5af -pkgrel=1 # reset for new upstream pin (1d8f5af — pause-time tiny-bitstream filter, closes #17) +pkgver=0.1.0.r45.872eec5 +pkgrel=1 # reset for new upstream pin (872eec5 — PROTO_MAX_PAYLOAD 64 KiB -> 1 MiB, closes #19); lock-step with daedalus-v4l2-dkms 0.1.0.r45.872eec5 REQUIRED pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)" arch=('aarch64') url="https://git.reauktion.de/reauktion/daedalus-v4l2" diff --git a/debian/daedalus-v4l2-dkms/build-deb.sh b/debian/daedalus-v4l2-dkms/build-deb.sh index be98b2da5..61142c60c 100755 --- a/debian/daedalus-v4l2-dkms/build-deb.sh +++ b/debian/daedalus-v4l2-dkms/build-deb.sh @@ -14,9 +14,9 @@ # Sibling userspace package: ../daedalus-v4l2/build-deb.sh set -euo pipefail -UPSTREAM_COMMIT=5d8b4369e58ab947d1c56b1f718293c57c6065b5 -PKGVER=0.1.0+r33+g5d8b436 -PKGREL=1 # reset for new upstream pin (5d8b436 — revert parking design); still carries the #64 multi-kernel postinst fix +UPSTREAM_COMMIT=872eec505eb91b561892d02a0526749348ddc121 +PKGVER=0.1.0+r45+g872eec5 +PKGREL=1 # reset for new upstream pin (872eec5 — PROTO_MAX_PAYLOAD 64 KiB -> 1 MiB, closes #19); lock-step with daedalus-v4l2 0.1.0+r45+g872eec5 REQUIRED MODULE_NAME=daedalus_v4l2 HERE=$(dirname "$(readlink -f "$0")") diff --git a/debian/daedalus-v4l2-dkms/debian/changelog b/debian/daedalus-v4l2-dkms/debian/changelog index fc8c8fb1c..36185ffbc 100644 --- a/debian/daedalus-v4l2-dkms/debian/changelog +++ b/debian/daedalus-v4l2-dkms/debian/changelog @@ -1,3 +1,24 @@ +daedalus-v4l2-dkms (0.1.0+r45+g872eec5-1) bookworm trixie; urgency=medium + + * Bump to 872eec5 — picks up daedalus-v4l2 PR #20 (closes #19). + Wire-protocol cap DAEDALUS_PROTO_MAX_PAYLOAD raised from 64 KiB + to 1 MiB in include/daedalus_v4l2_proto.h. The kernel module + inherits the larger DAEDALUS_MAX_BITSTREAM via the same #define + and daedalus_fill_output_fmt now reports OUTPUT_MPLANE + sizeimage = ~1 MiB instead of 65484. + * Skips the r33 -> r45 commit range — between 5d8b436 and 872eec5 + only one kernel/include change landed (the PROTO_MAX_PAYLOAD + bump above). The intervening daemon-only bumps (r37 / r39 / + r41 / r43) didn't touch kernel/ or include/ at all. + * Effective wire cap is min(kernel, daemon) — lock-step install + WITH daedalus-v4l2 0.1.0+r45+g872eec5 REQUIRED. + * Allocations (kmemdup / kmalloc on payload, vb2 plane backing) + are dynamic and sized per-payload at runtime; the bump only + sets the ceiling. KMALLOC_MAX_SIZE on aarch64 SLUB is several + MiB so 1 MiB is well within bounds. + + -- Markus Fritsche Fri, 22 May 2026 21:00:00 +0000 + daedalus-v4l2-dkms (0.1.0+r33+g5d8b436-1) bookworm trixie; urgency=medium * Bump to 5d8b436 — reverts daedalus-v4l2 PRs #7 + #8. Kernel diff --git a/debian/daedalus-v4l2/build-deb.sh b/debian/daedalus-v4l2/build-deb.sh index 1b647db88..c2f7b9c9b 100755 --- a/debian/daedalus-v4l2/build-deb.sh +++ b/debian/daedalus-v4l2/build-deb.sh @@ -19,9 +19,9 @@ set -euo pipefail # source tree we own in marfrit-packages. Headers + .pc files # come from ffmpeg-v4l2-request-fourier (installed by the CI # workflow before this script runs; see PKG_CONFIG_PATH below). -UPSTREAM_COMMIT=1d8f5af1646c7c09b75e07be0c2763b37ea367e6 -PKGVER=0.1.0+r43+g1d8f5af -PKGREL=1 # reset for new upstream pin (1d8f5af — pause-time tiny-bitstream filter, closes #17) +UPSTREAM_COMMIT=872eec505eb91b561892d02a0526749348ddc121 +PKGVER=0.1.0+r45+g872eec5 +PKGREL=1 # reset for new upstream pin (872eec5 — PROTO_MAX_PAYLOAD 64 KiB -> 1 MiB, closes #19); lock-step with daedalus-v4l2-dkms 0.1.0+r45+g872eec5 REQUIRED # daedalus-fourier pin. d87239d = marfrit/daedalus-fourier PR #1 merge # (install rules + pkg-config, enables this consumer to find_package diff --git a/debian/daedalus-v4l2/debian/changelog b/debian/daedalus-v4l2/debian/changelog index b1a098b77..4035bc9c9 100644 --- a/debian/daedalus-v4l2/debian/changelog +++ b/debian/daedalus-v4l2/debian/changelog @@ -1,3 +1,26 @@ +daedalus-v4l2 (0.1.0+r45+g872eec5-1) bookworm trixie; urgency=medium + + * Bump to 872eec5 — picks up daedalus-v4l2 PR #20 (closes #19). + Wire-protocol cap DAEDALUS_PROTO_MAX_PAYLOAD raised from 64 KiB + to 1 MiB. DAEDALUS_MAX_BITSTREAM follows; daedalus_fill_output_fmt + now reports OUTPUT_MPLANE sizeimage = ~1 MiB instead of 65484. + libva-v4l2-request-fourier's S_FMT-driven OUTPUT-pool resize + finally succeeds; Firefox no longer falls off to libmozavcodec + SW when an H.264 slice exceeds 64 KiB (routine on any + 720p+ stream). + * #define-only change in include/daedalus_v4l2_proto.h; struct + layout unchanged. But effective cap is min(kernel, daemon) — + lock-step install of this package WITH + daedalus-v4l2-dkms 0.1.0+r45+g872eec5 REQUIRED. + * Daemon-side allocations are dynamic (malloc-on-payload), so + the practical growth is one ~1 MiB read buffer per daemon + process at startup. Negligible on Pi 5 / 8 GB. + * Picks up the same r43 -> r45 transition as daedalus-v4l2-dkms + (which had been stuck at r33+g5d8b436 since the parking-design + revert because the kernel module didn't change in r37/r39/r41/r43). + + -- Markus Fritsche Fri, 22 May 2026 21:00:00 +0000 + daedalus-v4l2 (0.1.0+r43+g1d8f5af-1) bookworm trixie; urgency=medium * Bump to 1d8f5af — picks up daedalus-v4l2 PR #18 (closes #17).