forked from marfrit/marfrit-packages
34972ae9c1
Lock-step downgrade of both packages to the revert tip of daedalus-v4l2 (PR #10 closed PRs #7 + #8). After 0.1.0+r28+g79256dc-1 / 0.1.0+r30+g6ffe92b-1 landed in production, mpv (--hwdec=vaapi-copy) failed pre-playing with "Unable to dequeue buffer: Resource temporarily unavailable" because the daemon parked CAPTURE buffers waiting for libavcodec's display-order reorder, violating libva's V4L2 stateless 1:1 contract. See daedalus-v4l2#9 for the diagnostic, #10 for the revert PR. DAEDALUS_PROTO_VERSION drops 1 → 0; install both .debs in the same apt transaction. Userspace ABI returns to the f0d4186-equivalent behaviour, plus PR #4 (cosmetic H.264 menu controls). The daedalus-v4l2-dkms #64 multi-kernel postinst behaviour stays in build-deb.sh. Visible regression: H.264 B-frame streams in Firefox return to the "2 1 4 3 6 5" pair-swap visual. Proper fix (concurrent in-flight requests in daemon + display-order reorder moved into libva-v4l2- request-fourier) tracked at daedalus-v4l2#11. Refs: * reauktion/daedalus-v4l2#9 * reauktion/daedalus-v4l2#10 (merged) * reauktion/daedalus-v4l2#11
147 lines
7.4 KiB
Plaintext
147 lines
7.4 KiB
Plaintext
daedalus-v4l2-dkms (0.1.0+r33+g5d8b436-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 5d8b436 — reverts daedalus-v4l2 PRs #7 + #8. Kernel
|
|
module returns to the pre-#7 buf_done_and_job_finish completion
|
|
model: no src/dst lifecycle decoupling, no parked dst_bufs, no
|
|
1:1-contract violation against libva-v4l2-request-fourier
|
|
(closes daedalus-v4l2#9 + #10 as won't-fix at this layer; proper
|
|
fix tracked at daedalus-v4l2#11).
|
|
* Wire-protocol drops 1 → 0; lock-step install with daedalus-v4l2
|
|
0.1.0+r33+g5d8b436 REQUIRED.
|
|
* Carries forward the #64 multi-kernel postinst fix.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Thu, 21 May 2026 14:50:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r30+g6ffe92b-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 6ffe92b — fixes the kernel panic regression introduced
|
|
by 79256dc's split-completion design (closes daedalus-v4l2#8).
|
|
`device_run` now removes both src + dst from `m2m_ctx`'s
|
|
rdy_queue at pickup time, not at `buf_done` time. Without
|
|
this, after `SRC_CONSUMED`'s `job_finish` released the m2m
|
|
scheduler, the NEXT `device_run` saw the still-queued parked
|
|
dst_buf and paired it with a fresh src — two inflight entries
|
|
referencing the same vb2_buffer, the later `HAS_PIXELS`
|
|
triggered list_del on an already-detached list_head, smashing
|
|
the rdy_queue → hard reboot on Pi CM5 during `mpv vaapi-copy`
|
|
playback of 720p H.264 (2026-05-21).
|
|
* Wire protocol unchanged — DAEDALUS_PROTO_VERSION stays at 1.
|
|
Daemon (userspace daedalus-v4l2 package) need NOT bump in
|
|
lockstep with this DKMS update; the existing
|
|
daedalus-v4l2 0.1.0+r28+g79256dc is wire-compatible with
|
|
daedalus-v4l2-dkms 0.1.0+r30+g6ffe92b.
|
|
* Carries forward the #64 multi-kernel postinst fix.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Thu, 21 May 2026 14:00:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r28+g79256dc-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 79256dc — H.264 B-frame display reorder fix (closes
|
|
daedalus-v4l2#6). libavcodec's H.264 decoder reorders output to
|
|
display order before returning from avcodec_receive_frame; the
|
|
daemon was binding each REQ_DECODE's pixels to the cookie of the
|
|
bitstream that triggered the receive_frame call, not the cookie
|
|
of the bitstream that actually produced the picture. For B-frame
|
|
sequences this paired cookie N's CAPTURE buffer with cookie N-2's
|
|
pixels and silently lost intermediate frames — visible as
|
|
"2 1 4 3 6 5" frame pairing in mpv / Firefox on Pi CM5.
|
|
* Wire-protocol bump (DAEDALUS_PROTO_VERSION 0 → 1): REQ_DECODE
|
|
gains __u64 src_pts; RESP_FRAME gains __u32 flags +
|
|
__u64 output_src_pts. Kernel + daemon must install atomically
|
|
(this package + daedalus-v4l2 0.1.0+r28+g79256dc).
|
|
* Carries forward the #64 multi-kernel postinst fix from -2:
|
|
autoinstall for every /lib/modules/*/build that resolves to real
|
|
headers, not just $(uname -r).
|
|
* Closes #64.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Thu, 21 May 2026 12:00:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r24+gf0d4186-2) bookworm trixie; urgency=medium
|
|
|
|
* postinst: autoinstall for every installed kernel with headers, not
|
|
just the running one. Previously `dkms autoinstall $NAME/$VERSION`
|
|
built only against `$(uname -r)`, so installing the package on
|
|
kernel A and then rebooting into a separately-installed kernel B
|
|
left /lib/modules/B/updates/dkms/ empty — /dev/daedalus-v4l2 absent,
|
|
daedalus daemon nothing to talk to, browser/VAAPI silently falling
|
|
back to software with no obvious diagnostic. Now we enumerate every
|
|
/lib/modules/*/build that resolves to a real directory and run
|
|
`dkms autoinstall -k <kver>` for each, reporting per-kernel failure
|
|
only when headers are missing. Closes #64.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Thu, 21 May 2026 09:30:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r24+gf0d4186-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to f0d4186 — per-ctx vb2 lock fix. daedalus_queue_init now
|
|
uses ctx->vb_mutex instead of ctx->dev->m2m_lock for each
|
|
vb2_queue's lock, unblocking Firefox's multi-process VAAPI
|
|
clients (they were colliding on the device-wide mutex and one
|
|
would EBUSY-fail S_FMT while another was mid-streamon).
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 23:00:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r22+g462aa4b-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 462aa4b — kernel device_run() now calls
|
|
v4l2_ctrl_request_setup() before reading the H.264 stateless
|
|
control values from the bound media_request, so the values
|
|
daedalus ships to the userspace daemon match what the V4L2
|
|
client (libva-v4l2-request-fourier) actually set. Closes the
|
|
libva→kernel control-binding gap that was causing decoded
|
|
frames to come back as best-effort zero garbage from libavcodec.
|
|
* Wire-ABI lockstep with daedalus-v4l2 0.1.0+r22+g462aa4b.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 22:00:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r20+g3dd0eb0-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 3dd0eb0 — DAEMON-PPS kernel-side changes. device_run()
|
|
now reads the V4L2 H.264 stateless control values from the bound
|
|
media_request and ships them to the daemon inside REQ_DECODE
|
|
via the new struct daedalus_h264_meta block (gated on
|
|
DAEDALUS_REQ_FLAG_H264_META). Required for H.264 decode to
|
|
work via the libva-v4l2-request -> daedalus daemon path; daemon
|
|
synthesises AnnexB SPS+PPS NAL units from the structs.
|
|
* Wire-ABI lockstep with daedalus-v4l2 0.1.0+r20+g3dd0eb0 — install
|
|
both packages together.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 21:00:00 +0000
|
|
|
|
daedalus-v4l2-dkms (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium
|
|
|
|
* Bump to 481279c in lockstep with the userspace daedalus-v4l2
|
|
package (which ships the new systemd unit + modules-load.d
|
|
drop-in). No kernel-module behaviour change in this commit —
|
|
bump is purely to keep DKMS pkgver and userspace pkgver aligned
|
|
so /etc/modules-load.d/daedalus-v4l2.conf has a module to load.
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 16:00:00 +0000
|
|
|
|
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
|
|
|
|
* Initial Debian DKMS packaging for the daedalus_v4l2 kernel module.
|
|
* Pinned to f55b2cd (Phase 8.13 close): kernel-side framework
|
|
integration (V4L2 m2m, dmabuf-export, media controller, request
|
|
API, NV12 single-plane + NV12M + P010 CAPTURE) that closes the
|
|
libva→/dev/video0→daemon round-trip with byte-exact pixels.
|
|
* Auto-builds via DKMS against the running kernel's headers.
|
|
* Companion userspace package: daedalus-v4l2 (daemon + tools).
|
|
|
|
-- Markus Fritsche <mfritsche@reauktion.de> Mon, 18 May 2026 23:00:00 +0000
|