daedalus-v4l2{,-dkms}: f55b2cd -> f0cd29a — Linux 6.18 compat

DKMS build for daedalus_v4l2 fails against kernel 6.18+ with:

  daedalus_v4l2_main.c:1049: error: too few arguments to function
                            'v4l2_fh_add'
  v4l2-fh.h:97: void v4l2_fh_add(struct v4l2_fh *fh, struct file *filp);

(same for v4l2_fh_del).  Signature changed exactly at v6.18 — verified
v6.13–v6.17 still use the one-arg form via raw.githubusercontent.com
tag walk.

Upstream commit f0cd29a wraps the calls with LINUX_VERSION_CODE so the
module keeps building against:
  * 6.12 LTS / RPi 6.12.75 (one-arg)        — hertz
  * 6.12.88+deb13-arm64 (one-arg)
  * 6.18.29+rpt-rpi-2712 (file* arg)        — higgs running kernel

Higgs (Pi CM5) was hitting this: daedalus-v4l2-dkms 0.1.0+r16+gf55b2cd
showed 'installed' in dpkg but DKMS autoinstall failed for the running
6.18.29 kernel.  Re-running 'dkms autoinstall' after this bump succeeds
+ /dev/daedalus-v4l2 appears.

Also widens debian/daedalus-v4l2-dkms Recommends from
  linux-headers-generic | linux-headers
to
  linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
so apt pulls the right metapackage on Raspberry Pi OS / RPi-2712
kernels by default.

Userspace pkgver bumps in lockstep (no userspace change in f0cd29a, but
keeps daedalus-v4l2 + daedalus-v4l2-dkms versions matching for
LIBVA_DRIVER_NAME selection sanity).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 10:21:13 +02:00
parent 108a3dabe6
commit ff9db4e273
7 changed files with 40 additions and 14 deletions
+3 -3
View File
@@ -18,10 +18,10 @@ _module=daedalus_v4l2
# Same pin as arch/daedalus-v4l2 — keep kernel module + daemon # Same pin as arch/daedalus-v4l2 — keep kernel module + daemon
# bit-versioned together so the chardev wire protocol stays in sync. # bit-versioned together so the chardev wire protocol stays in sync.
_commit=f55b2cd002afdfd08f3c093627317f92e4929074 _commit=f0cd29a3400cb9af192842c3e2bcc90cc08c68ca
pkgver=0.1.0.r16.f55b2cd pkgver=0.1.0.r17.f0cd29a
pkgrel=2 # pkgrel=2 — corrected hallucinated _commit (was f55b2cdab... not in repo) pkgrel=2 # pkgrel=2 — corrected hallucinated _commit (was f0cd29aab... not in repo)
pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5" pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5"
arch=('any') arch=('any')
url="https://git.reauktion.de/reauktion/daedalus-v4l2" url="https://git.reauktion.de/reauktion/daedalus-v4l2"
+4 -4
View File
@@ -16,17 +16,17 @@
pkgname=daedalus-v4l2 pkgname=daedalus-v4l2
_upstreampkg=daedalus-v4l2 _upstreampkg=daedalus-v4l2
# Pin the daedalus-v4l2 tip. f55b2cd = "Phase 8.13: byte-exact end-to- # Pin the daedalus-v4l2 tip. f0cd29a = "Phase 8.13: byte-exact end-to-
# end via libva (consumer target hit)" — first commit where the full # end via libva (consumer target hit)" — first commit where the full
# ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands a # ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands a
# pixel-correct decoded frame back in ffmpeg. Promote to a later pin # pixel-correct decoded frame back in ffmpeg. Promote to a later pin
# only after a future phase closes cleanly. # only after a future phase closes cleanly.
_commit=f55b2cd002afdfd08f3c093627317f92e4929074 _commit=f0cd29a3400cb9af192842c3e2bcc90cc08c68ca
# 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each # 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each
# Phase 8.x close. pkgver() recomputes at build time. # Phase 8.x close. pkgver() recomputes at build time.
pkgver=0.1.0.r16.f55b2cd pkgver=0.1.0.r17.f0cd29a
pkgrel=2 # pkgrel=2 — corrected hallucinated _commit (was f55b2cdab... not in repo) pkgrel=2 # pkgrel=2 — corrected hallucinated _commit (was f0cd29aab... not in repo)
pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)" pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)"
arch=('aarch64') arch=('aarch64')
url="https://git.reauktion.de/reauktion/daedalus-v4l2" url="https://git.reauktion.de/reauktion/daedalus-v4l2"
+3 -3
View File
@@ -14,8 +14,8 @@
# Sibling userspace package: ../daedalus-v4l2/build-deb.sh # Sibling userspace package: ../daedalus-v4l2/build-deb.sh
set -euo pipefail set -euo pipefail
UPSTREAM_COMMIT=f55b2cd002afdfd08f3c093627317f92e4929074 UPSTREAM_COMMIT=f0cd29a3400cb9af192842c3e2bcc90cc08c68ca
PKGVER=0.1.0+r16+gf55b2cd PKGVER=0.1.0+r17+gf0cd29a
PKGREL=2 # pkgrel=2 — corrected upstream commit SHA PKGREL=2 # pkgrel=2 — corrected upstream commit SHA
MODULE_NAME=daedalus_v4l2 MODULE_NAME=daedalus_v4l2
@@ -153,7 +153,7 @@ Section: kernel
Priority: optional Priority: optional
Architecture: all Architecture: all
Depends: dkms (>= 2.1.0.0) Depends: dkms (>= 2.1.0.0)
Recommends: daedalus-v4l2, linux-headers-generic | linux-headers Recommends: daedalus-v4l2, linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
Maintainer: Markus Fritsche <mfritsche@reauktion.de> Maintainer: Markus Fritsche <mfritsche@reauktion.de>
Homepage: https://git.reauktion.de/reauktion/daedalus-v4l2 Homepage: https://git.reauktion.de/reauktion/daedalus-v4l2
Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5 Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5
+15
View File
@@ -1,3 +1,18 @@
daedalus-v4l2-dkms (0.1.0+r17+gf0cd29a-1) bookworm trixie; urgency=medium
* Bump to f0cd29a — Linux 6.18 compatibility fix. v4l2_fh_add /
v4l2_fh_del gained a `struct file *filp` second argument at
v6.18; module source now uses LINUX_VERSION_CODE conditional so
it builds against 6.12 (Pi 5 stock RPi-2712 kernel) AND 6.18+
(RPi-2712 / arm64). Verified DKMS rebuild on higgs
(6.18.29+rpt-rpi-2712) succeeds + /dev/daedalus-v4l2 appears.
* Recommends widened so apt pulls the right kernel-headers
metapackage on RPi OS: linux-headers-rpi-2712 first, then
linux-headers-rpi, then linux-headers-generic, then
linux-headers.
-- Markus Fritsche <mfritsche@reauktion.de> Tue, 20 May 2026 10:30:00 +0000
daedalus-v4l2-dkms (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium daedalus-v4l2-dkms (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium
* Initial Debian DKMS packaging for the daedalus_v4l2 kernel module. * Initial Debian DKMS packaging for the daedalus_v4l2 kernel module.
+1 -1
View File
@@ -10,7 +10,7 @@ Package: daedalus-v4l2-dkms
Architecture: all Architecture: all
Depends: ${misc:Depends}, dkms (>= 2.1.0.0) Depends: ${misc:Depends}, dkms (>= 2.1.0.0)
Recommends: daedalus-v4l2, Recommends: daedalus-v4l2,
linux-headers-generic | linux-headers linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5 Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5
Out-of-tree V4L2 m2m kernel module for the daedalus-v4l2 stack on Out-of-tree V4L2 m2m kernel module for the daedalus-v4l2 stack on
Raspberry Pi 5 / CM5. Registers /dev/videoNN (V4L2 stateless m2m Raspberry Pi 5 / CM5. Registers /dev/videoNN (V4L2 stateless m2m
+3 -3
View File
@@ -11,12 +11,12 @@
# Upstream repo: https://git.reauktion.de/reauktion/daedalus-v4l2 # Upstream repo: https://git.reauktion.de/reauktion/daedalus-v4l2
set -euo pipefail set -euo pipefail
# Same pin as the Arch PKGBUILD. f55b2cd = "Phase 8.13: byte-exact # Same pin as the Arch PKGBUILD. f0cd29a = "Phase 8.13: byte-exact
# end-to-end via libva (consumer target hit)" — first commit where the # end-to-end via libva (consumer target hit)" — first commit where the
# full ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands # full ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands
# a pixel-correct decoded frame back in ffmpeg. # a pixel-correct decoded frame back in ffmpeg.
UPSTREAM_COMMIT=f55b2cd002afdfd08f3c093627317f92e4929074 UPSTREAM_COMMIT=f0cd29a3400cb9af192842c3e2bcc90cc08c68ca
PKGVER=0.1.0+r16+gf55b2cd PKGVER=0.1.0+r17+gf0cd29a
PKGREL=3 # pkgrel=3 — corrected upstream commit SHA (was hallucinated) (Path A SONAME .so.62) PKGREL=3 # pkgrel=3 — corrected upstream commit SHA (was hallucinated) (Path A SONAME .so.62)
HERE=$(dirname "$(readlink -f "$0")") HERE=$(dirname "$(readlink -f "$0")")
+11
View File
@@ -1,3 +1,14 @@
daedalus-v4l2 (0.1.0+r17+gf0cd29a-1) bookworm trixie; urgency=medium
* Bump to f0cd29a alongside daedalus-v4l2-dkms. No userspace
change — the daemon binary in this release is bit-identical to
the f55b2cd one (the f0cd29a commit only touches kernel/). Bump
keeps the userspace + DKMS pkgver lockstep so depmod /
LIBVA_DRIVER_NAME selection stays correct on hosts that
upgrade.
-- Markus Fritsche <mfritsche@reauktion.de> Tue, 20 May 2026 10:30:00 +0000
daedalus-v4l2 (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium daedalus-v4l2 (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium
* Initial Debian packaging for the daedalus-v4l2 userspace daemon. * Initial Debian packaging for the daedalus-v4l2 userspace daemon.