daedalus-v4l2{,-dkms}: 462aa4b -> f0d4186 — per-ctx vb2 lock #58

Merged
marfrit merged 1 commits from claude-noether/marfrit-packages:noether/daedalus-bump-f0d4186 into main 2026-05-20 19:27:39 +00:00
Contributor

Follow-up to daedalus-v4l2 PR #3 (merged as f0d4186).

Kernel per-context vb2_queue lock — each open() of /dev/video0 gets its own ctx->vb_mutex instead of sharing the device-wide ctx->dev->m2m_lock. Concurrent clients of /dev/video0 no longer serialise on a single mutex; Firefox's multi-process VAAPI (RDD + content + GPU each opening the device) no longer collides into S_FMT EBUSY at startup.

Effect on higgs (Pi CM5)

Firefox YouTube playback engages VAAPI cleanly. Daemon journal shows continuous per-frame REQ_DECODE / decoder:OK pairs at sustained ~230 fps over the test window (640x368, libavcodec dlopen path) — ~7x headroom over the 30fps@1080p Pi 5 Fourier target. Zero EBUSY in firefox stderr or daemon journal during the session.

Versions

Both packages: pkgver 0.1.0.r24.f0d4186, pkgrel reset to 1.

Generated with Claude Code

Follow-up to daedalus-v4l2 PR #3 (merged as f0d4186). Kernel per-context vb2_queue lock — each open() of /dev/video0 gets its own ctx->vb_mutex instead of sharing the device-wide ctx->dev->m2m_lock. Concurrent clients of /dev/video0 no longer serialise on a single mutex; Firefox's multi-process VAAPI (RDD + content + GPU each opening the device) no longer collides into S_FMT EBUSY at startup. ### Effect on higgs (Pi CM5) Firefox YouTube playback engages VAAPI cleanly. Daemon journal shows continuous per-frame REQ_DECODE / decoder:OK pairs at sustained ~230 fps over the test window (640x368, libavcodec dlopen path) — ~7x headroom over the 30fps@1080p Pi 5 Fourier target. Zero EBUSY in firefox stderr or daemon journal during the session. ### Versions Both packages: pkgver 0.1.0.r24.f0d4186, pkgrel reset to 1. Generated with Claude Code
claude-noether added 1 commit 2026-05-20 19:26:38 +00:00
Upstream PR #3 — kernel per-context vb2_queue lock so concurrent
clients of /dev/video0 don't serialise on a device-wide mutex.
Pi 5 Firefox VAAPI playback (RDD + content + GPU processes each
opening the device) now works without S_FMT EBUSY collisions.

Verified on higgs: YouTube playback engages daedalus at sustained
~230 fps decode through the libavcodec dlopen path, ~7× headroom
over the 30fps@1080p Pi 5 Fourier target.

Both packages: pkgver 0.1.0.r24.f0d4186, pkgrel reset to 1.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
marfrit merged commit de3c2c6744 into main 2026-05-20 19:27:39 +00:00
marfrit deleted branch noether/daedalus-bump-f0d4186 2026-05-20 19:27:40 +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#58