daedalus-v4l2 (0.1.0+r24+gf0d4186-1) bookworm trixie; urgency=medium * Bump to f0d4186 — kernel per-ctx vb2 lock fix. daedalus_queue_init was wiring src_vq->lock and dst_vq->lock to ctx->dev->m2m_lock (a device-wide mutex), serialising every vb2 ioctl across all concurrent clients of /dev/video0. For Firefox (which spawns separate content + RDD + GPU processes that each open the device and run libva probe simultaneously), one libva session's S_FMT(OUTPUT_MPLANE) hit EBUSY while another was mid-streamon — Firefox VAAPI playback fell apart at startup. * Fix gives each open() its own ctx->vb_mutex; vb2 ioctls run independently per client. Matches cedrus / rkvdec / hantro pattern. * Verified on higgs: Firefox YouTube playback engages VAAPI cleanly, sustained ~230 fps decode at 640x368 through the daedalus daemon, zero EBUSY in stderr or daemon journal. -- Markus Fritsche Wed, 20 May 2026 23:00:00 +0000 daedalus-v4l2 (0.1.0+r22+g462aa4b-1) bookworm trixie; urgency=medium * Bump to 462aa4b — kernel-side fix for control-binding gap that closes the libva→daemon SPS/PPS pipeline. Kernel device_run now calls v4l2_ctrl_request_setup() before reading ctrl->p_cur, so the daemon's daedalus_h264_meta block actually carries THIS request's V4L2 stateless H.264 control values instead of stale /default ones. Pairs with libva-v4l2-request-fourier r382+gc1bb444 (Fix 3 + Fix 4 from issue libva-v4l2-request-fourier#8). * After-fix on higgs (Pi CM5): ffmpeg -hwaccel vaapi -i h264.mp4 produces unique decoded P-frames (per-frame fnv1a hashes differ) and zero "error while decoding MB" / "reference frames exceeds max" warnings. -- Markus Fritsche Wed, 20 May 2026 22:00:00 +0000 daedalus-v4l2 (0.1.0+r20+g3dd0eb0-1) bookworm trixie; urgency=medium * Bump to 3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synthesiser. Daemon now reconstructs AnnexB SPS+PPS NAL units from the V4L2 stateless H.264 control structs (forwarded by the kernel via a new struct daedalus_h264_meta block in REQ_DECODE) and prepends them to the slice bitstream before feeding libavcodec. Without this, ffmpeg -hwaccel vaapi on H.264 sources failed with "non-existing PPS 0 referenced" even after LIBVA-1/-2 routing correctly delivered the request. * Wire protocol: new DAEDALUS_REQ_FLAG_H264_META bit + struct daedalus_h264_meta; daemon and kernel must be installed in lockstep (this package + daedalus-v4l2-dkms 0.1.0+r20+g3dd0eb0). * VP9 / AV1 paths unchanged. -- Markus Fritsche Wed, 20 May 2026 21:00:00 +0000 daedalus-v4l2 (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium * Bump to 481279c. Upstream landed the systemd unit + modules-load.d drop-in (packaging/systemd/daedalus-v4l2.{service,modules-load}). * Package now ships /lib/systemd/system/daedalus-v4l2.service and /usr/lib/modules-load.d/daedalus-v4l2.conf. * postinst: daemon-reload, enable the service, trigger systemd-modules-load, and start if /dev/daedalus-v4l2 is already present. Operator no longer needs to remember the modprobe + systemctl-enable dance after install. * prerm/postrm: stop + disable + daemon-reload. -- Markus Fritsche Wed, 20 May 2026 16:00:00 +0000 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 Tue, 20 May 2026 10:30:00 +0000 daedalus-v4l2 (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium * Initial Debian packaging for the daedalus-v4l2 userspace daemon. * Pinned to f55b2cd (Phase 8.13 close): first commit where the full ffmpeg -hwaccel vaapi → libva-v4l2-request-fourier → /dev/video0 → daemon path lands a pixel-correct decoded NV12 frame back in ffmpeg. * Codecs: VP9, AV1, H.264 (all via dlopen'd FFmpeg 7.1.3). * Capture formats: NV12M (2 plane), NV12 (1 plane, for libva), P010 (10-bit single plane). * Companion package: daedalus-v4l2-dkms (kernel module). -- Markus Fritsche Mon, 18 May 2026 23:00:00 +0000