daedalus-v4l2{,-dkms}: 79256dc/6ffe92b -> 5d8b436 — revert parking design #71

Merged
marfrit merged 1 commits from claude-noether/marfrit-packages:noether/daedalus-revert-bump-5d8b436 into main 2026-05-21 14:54:19 +00:00
Owner

Lock-step downgrade of both packages to the revert tip of daedalus-v4l2 (reauktion/daedalus-v4l2 PR #10, which reverted PRs #7 + #8).

Why

After daedalus-v4l2 0.1.0+r28+g79256dc-1 + daedalus-v4l2-dkms 0.1.0+r30+g6ffe92b-1 landed in production, mpv (--hwdec=vaapi-copy) failed pre-playing on higgs with:

v4l2-request: Unable to dequeue buffer: Resource temporarily unavailable
[ffmpeg/video] h264: Failed to end picture decode issue: 1 (operation failed).
Attempting next decoding method after failure of h264-vaapi-copy.

Daemon journal confirmed decode was working — but PR #7's design parked CAPTURE buffers for cookies whose pixels libavcodec hadn't yet released for display-order output. That violated the V4L2 stateless API's 1:1 OUTPUT-to-CAPTURE contract. Firefox tolerated the resulting stale-pixel mess (the visible "2 1 4 3" pair-swap); strict V4L2 stateless clients (mpv, ffmpeg-vaapi) bailed.

Full diagnosis: reauktion/daedalus-v4l2#9.

What changes

  • DAEDALUS_PROTO_VERSION drops 1 → 0. Install both .debs in the same apt transaction.
  • Userspace daemon ABI returns to f0d4186-equivalent behaviour.
  • Kernel module returns to buf_done_and_job_finish completion (pre-#7).
  • PR #4 (H.264 DECODE_MODE / START_CODE menu controls — cosmetic warning fix) stays.
  • daedalus-v4l2-dkms carries forward the #64 multi-kernel postinst fix.

Visible regression

H.264 B-frame streams in Firefox return to the "2 1 4 3 6 5" pair-swap visual. This is the explicit trade-off ("unblock strict V4L2 stateless clients at the cost of restoring the visible-but-not-breaking Firefox artifact") that closed the design loop with the maintainer.

Proper fix tracked at reauktion/daedalus-v4l2#11: concurrent in-flight requests in the daemon + display-order reorder moved into libva-v4l2-request-fourier where the V4L2 stateless API expects it. Multi-day effort.

Refs

Verified

  • git diff f0d4186 5d8b436 -- kernel/ daemon/ include/ shows only the PR #4 menu-controls delta (the change we keep). All PR #7 / #8 deltas are gone.
  • Cross-built on higgs against 6.18.29+rpt-rpi-2712: clean, no errors.
Lock-step downgrade of both packages to the revert tip of daedalus-v4l2 (reauktion/daedalus-v4l2 PR #10, which reverted PRs #7 + #8). ## Why After `daedalus-v4l2 0.1.0+r28+g79256dc-1` + `daedalus-v4l2-dkms 0.1.0+r30+g6ffe92b-1` landed in production, mpv (`--hwdec=vaapi-copy`) failed pre-playing on higgs with: ``` v4l2-request: Unable to dequeue buffer: Resource temporarily unavailable [ffmpeg/video] h264: Failed to end picture decode issue: 1 (operation failed). Attempting next decoding method after failure of h264-vaapi-copy. ``` Daemon journal confirmed decode was working — but PR #7's design parked CAPTURE buffers for cookies whose pixels libavcodec hadn't yet released for display-order output. That violated the V4L2 stateless API's 1:1 OUTPUT-to-CAPTURE contract. Firefox tolerated the resulting stale-pixel mess (the visible "2 1 4 3" pair-swap); strict V4L2 stateless clients (mpv, ffmpeg-vaapi) bailed. Full diagnosis: reauktion/daedalus-v4l2#9. ## What changes - `DAEDALUS_PROTO_VERSION` drops `1 → 0`. Install both .debs in the same apt transaction. - Userspace daemon ABI returns to f0d4186-equivalent behaviour. - Kernel module returns to `buf_done_and_job_finish` completion (pre-#7). - PR #4 (H.264 DECODE_MODE / START_CODE menu controls — cosmetic warning fix) stays. - `daedalus-v4l2-dkms` carries forward the #64 multi-kernel postinst fix. ## Visible regression H.264 B-frame streams in Firefox return to the "2 1 4 3 6 5" pair-swap visual. This is the explicit trade-off ("unblock strict V4L2 stateless clients at the cost of restoring the visible-but-not-breaking Firefox artifact") that closed the design loop with the maintainer. Proper fix tracked at `reauktion/daedalus-v4l2#11`: concurrent in-flight requests in the daemon + display-order reorder moved into `libva-v4l2-request-fourier` where the V4L2 stateless API expects it. Multi-day effort. ## Refs - reauktion/daedalus-v4l2 issue #9 (diagnostic): https://git.reauktion.de/reauktion/daedalus-v4l2/issues/9 - reauktion/daedalus-v4l2 PR #10 (revert, merged): https://git.reauktion.de/reauktion/daedalus-v4l2/pulls/10 - reauktion/daedalus-v4l2 issue #11 (proper-fix design): https://git.reauktion.de/reauktion/daedalus-v4l2/issues/11 - Predecessor bumps superseded: marfrit-packages #67 (PR #7 deploy) + #69 (PR #8 deploy) ## Verified - `git diff f0d4186 5d8b436 -- kernel/ daemon/ include/` shows only the PR #4 menu-controls delta (the change we keep). All PR #7 / #8 deltas are gone. - Cross-built on higgs against `6.18.29+rpt-rpi-2712`: clean, no errors.
marfrit added 1 commit 2026-05-21 13:42:43 +00:00
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
marfrit merged commit 736b6da176 into main 2026-05-21 14:54:19 +00:00
marfrit deleted branch noether/daedalus-revert-bump-5d8b436 2026-05-21 14:54:19 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/marfrit-packages#71