[Bug 1201349] [Build 20220708] pipewire: no audio after logout/login
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1201349 https://bugzilla.suse.com/show_bug.cgi?id=1201349#c1 Fabian Vogt <fvogt@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CONFIRMED CC| |fvogt@suse.com --- Comment #1 from Fabian Vogt <fvogt@suse.com> --- I was able to reproduce it with wireplumber log-level 3. It appears to be a race condition between logind/inotify and pipewire/wireplumber. Works: Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Unknown PCM dcahdmi:0,10 Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Error opening PCM device dcahdmi:0,10: No such file or directory Jul 12 10:15:00 localhost.localdomain org_kde_powerdevil[1642]: org.kde.powerdevil: The profile "AC" tried to activate "DimDisplay" a non-existent action. This is usually due to an installation problem, a configuration problem, or because the action is not supported Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Successfully attached to mixer 'hw:0' Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support 64 channels, changed to 2. Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support sample format s32le, changed to s16le. Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support 64 channels, changed to 2. Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support sample format s32le, changed to s16le. Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Profile output:stereo-fallback+input:stereo-fallback available unknown -> yes Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Profile output:stereo-fallback available unknown -> yes Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Profile input:stereo-fallback available unknown -> yes Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Profile pro-audio available yes -> unknown Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: activate profile: off (0) Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: <WpDevice:35:0x55a0872b34f0> restore routes for profile off Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Default profile not found for alsa_card.pci-0000_00_0a.0 Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Best profile changed to output:stereo-fallback+input:stereo-fallback in alsa_card.pci-0000_00_0a.0 Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Setting profile output:stereo-fallback+input:stereo-fallback on alsa_card.pci-0000_00_0a.0 Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: activate profile: output:stereo-fallback+input:stereo-fallback (1) Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Device: Stereo mapping 'Stereo' (stereo-fallback). Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Activating path analog-output-lineout Jul 12 10:15:00 localhost.localdomain wireplumber[2315]: Hardware volume ranges from -125.00 dB to 0.00 dB. Fails: Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Unknown PCM dcahdmi:0,10 Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device dcahdmi:0,10: No such file or directory Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0c' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0c' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0c' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0p' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0p' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: open '/dev/snd/pcmC0D0p' failed (-13) Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Error opening PCM device hw:0: Permission denied Jul 12 10:12:16 localhost.localdomain org_kde_powerdevil[1642]: org.kde.powerdevil: The profile "AC" tried to activate "DimDisplay" a non-existent action. This is usually due to an installation problem, a configuration problem, or because the action is not supported Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support 64 channels, changed to 2. Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support sample format s32le, changed to s16le. Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support 64 channels, changed to 2. Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: Device hw:0,0 doesn't support sample format s32le, changed to s16le. Jul 12 10:12:16 localhost.localdomain wireplumber[2315]: activate profile: off (0) When switching active sessions, logind adds and removes "uaccess" acls for sound device access. pipewire listens to inotify ATTRIB events on /dev/snd/* and checks for accessibility there. The order of those ATTRIB changes appears to be random, and some combinations result in wireplumber trying to enable devices before they're completely accessible. Specifically, if /dev/snd/controlC0 is made accessible before the others, it breaks. If it made accessible last, it works. This can be reproduced manually by assuming the role of logind and setting acls manually: # Break access -> audio disabled setfacl -m user:linux:- /dev/snd/* # Grant access in the working order -> audio works again setfacl -m user:linux:rw- /dev/snd/{pcm,hw,seq,timer}*; sleep 1; setfacl -m user:linux:rw- /dev/snd/controlC0 # Break access again -> audio disabled setfacl -m user:linux:- /dev/snd/* # Grant access in the broken order -> audio still broken! setfacl -m user:linux:rw- /dev/snd/controlC0; sleep 1; setfacl -m user:linux:rw- /dev/snd/* So pipewire needs to check for accessibility of more device files. I'll file a report upstream. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com