Skip to content

system: skip WirePlumber's v4l2 monitor while the A10 decoder has no firmware - #132

Open
jerricky26 wants to merge 1 commit into
OrchardLinux:mainfrom
jerricky26:j171-wireplumber-v4l2
Open

jerricky26 wants to merge 1 commit into
OrchardLinux:mainfrom
jerricky26:j171-wireplumber-v4l2

Conversation

@jerricky26

Copy link
Copy Markdown
Contributor

apple-vxd registers /dev/video0 on the A10 iPads, but open() fails with ENOENT while apple/vxd-deva.bin is missing. WirePlumber 0.5's v4l2 monitor then never finishes its create-device hook, which stalls every later event: the sound card stays on profile Off, and nothing plays. I hit this on J171 with WirePlumber 0.5.18 and PipeWire 1.6.10. Disabling the v4l2 monitor brought audio back.

This also lets the platform layer and system/defaults install WirePlumber fragments under /usr/share/wireplumber, which is where WirePlumber actually reads them (the layer previously only carried usr/lib/ and usr/share/alsa/ucm2/). That was the open question on #100 about where a per-board WirePlumber rule should live if it is not in the distro.

Changes

  • 52-orchard-no-v4l2-while-vxd-has-no-firmware.conf: monitor.v4l2 = disabled in the main profile. A distro can override it with a same-named file in /etc/wireplumber/wireplumber.conf.d. Remove this once the decoder opens without firmware or the firmware ships.
  • src/orchard/image/platform.py, src/orchard/install_device.py, and system/README.md: allow those fragments under /usr/share/wireplumber.

Rebased onto 71502a0. Official 0.3.0 already had working speakers on this J171, so the stall may only show up in some sessions or images, but it is real when the v4l2 monitor runs against that node. I can drop the packaging change if you would rather keep all WirePlumber rules in omarchy-a.

Signed-off-by: Duke Eagleman 301139544+jerricky26@users.noreply.github.com

…mware

apple-vxd registers /dev/video0 on the A10 iPads, but open() fails with
ENOENT while apple/vxd-deva.bin is missing. WirePlumber 0.5's v4l2
monitor then never completes its create-device hook, which stalls every
later event: the sound card stays on profile off, no session items or
links are made, and nothing plays (seen on J171 with WirePlumber 0.5.18
and PipeWire 1.6.10). Turning the v4l2 monitor off brought the speakers
back.

WirePlumber reads its fragments from /usr/share, not /usr/lib, so allow
system/defaults and the platform layer under /usr/share/wireplumber too,
as for the UCM profiles.

Assisted-by: LLM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant