<div dir="ltr">Package: wireplumber<br>Version: 0.5.8-2<br>Severity: normal<br><br>Stuck on "Dummy Output" after login: WirePlumber does not retry when the<br>ALSA device is briefly busy (EBUSY) due to a race with GDM's greeter PipeWire<br><br>Hardware / system:<br>- Desktop ASUS, AMD Ryzen APU (Phoenix1), Realtek ALC1220 on the Ryzen HD<br>  Audio Controller (snd_hda_intel, pci 0000:0a:00.6), plus AMD HDMI audio.<br>- Debian 13 (trixie), GNOME on Wayland.<br>- Kernel: 7.1.13+deb13-amd64 (backports).<br>- pipewire 1.4.2-1, wireplumber 0.5.8-2, pipewire-pulse 1.4.2-1,<br>  gdm3 48.0-2, gnome-shell 48.7-0+deb13u2.<br><br>Steps to reproduce:<br>1. Reboot and log in at the GDM screen (intermittent; depends on timing<br>   between the greeter session and the user session).<br>2. Check sound output in GNOME: only "Dummy Output" is offered.<br><br>Expected behavior:<br>The ALC1220 analog sink should be available.<br><br>Actual behavior:<br>Only "Dummy Output" appears, even though the ALSA card is present<br>(aplay -l shows "card 1: Generic_1, device 0: ALC1220 Analog").<br><br>What I found in the logs of a failing boot:<br>- 12:05:35 kernel: the codec probes fine at boot<br>  ("snd_hda_codec_alc882 hdaudioC1D0: autoconfig for ALC1220"), so the<br>  kernel/driver side is OK.<br>- 12:05:37 two independent PipeWire stacks start at the same time:<br>  one for the GDM greeter session (user Debian-gdm, uid 110) and one for<br>  the user session (uid 1000). Both start pipewire + wireplumber +<br>  pipewire-pulse.<br>- 12:05:38 the user session's pipewire fails to open the PCM because the<br>  greeter's pipewire is holding it:<br><br>    pipewire: spa.alsa: 'front:1': capture open failed: Dispositivo o recurso ocupado (EBUSY)<br>    pipewire: mod.adapter: can't get format: Dispositivo o recurso ocupado<br>    wireplumber: s-monitors: Failed to create alsa_input.pci-0000_0a_00.6.analog-stereo:<br>                 Object activation aborted: PipeWire proxy destroyed<br><br>- A few seconds later the greeter session is torn down and the device is<br>  released, but WirePlumber never retries, so the session is stuck with<br>  the dummy output until the audio stack is restarted.<br><br>Workaround:<br>systemctl --user restart pipewire pipewire-pulse wireplumber<br>brings the ALC1220 sink back immediately. Currently I run this via an<br>autostart script with a 3-second delay.<br><br>Notes:<br>- The same symptom has also appeared after suspend/resume.<br>- It would be nice if WirePlumber retried node creation when opening the<br>  ALSA device fails with EBUSY (or if the GDM greeter did not hold the<br>  audio device while the user session is starting).<br><br>Thanks,<br>Juan Pablo</div>