[Solved, but really ask yourself if you want to know the solution] Pulseaudio borked itself. But audio works with Pulsewire

So usually I had to restart Pulseaudio regularly at start, because it couldn’t detect audio hardware. The HDMI output of my GPU was detected but not the sound card.

Yet a single pulseaudio -k fixed the issue. Annoying, but manageable.

Yet today no sinks are detected, I can restart PA as many times as I want and only the dummy output shows up.

Yet alsamixer shows both cards and controls, pw-play plays back files. Yet I don’t see how to plug in anything to PW instead PA (f.e. KDE expects only PA and nothing else).

I didn’t do any major package or kernel updates recently. Only installed pulseeffects yesterday, but uninstalling it did not change anything, as expected.

Excerpt from pulseaudio --log-level=4:

I: [pulseaudio] module.c: Loaded "module-alsa-card" (index: #8; argument: "device_id="1" name="pci-0000_0d_00.4" card_name="alsa_card.pci-0000_0d_00.4" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes
se_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"").
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:08.1/0000:0d:00.4/sound/card1 (alsa_card.pci-0000_0d_00.4) module loaded.
I: [pulseaudio] module-udev-detect.c: Found 2 cards.
I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #6; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-jackdbus-detect.so': failure
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-bluetooth-policy.so': success
I: [pulseaudio] module.c: Loaded "module-bluetooth-policy" (index: #9; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-bluetooth-discover.so': success
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-bluez5-discover.so': success
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus system bus 242ec48d75f97c36889bee3a600c60ff as :1.241
I: [pulseaudio] module.c: Loaded "module-bluez5-discover" (index: #11; argument: "").
I: [pulseaudio] module.c: Loaded "module-bluetooth-discover" (index: #10; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-esound-protocol-unix.so': failure
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #12; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib/pulse-13.99.2/modules/module-gsettings.so': success
I: [pulseaudio] module.c: Loaded "module-gsettings" (index: #13; argument: "").
I: [pulseaudio] module-default-device-restore.c: Restoring default sink 'compressor'.
I: [pulseaudio] core.c: configured_default_sink: (unset) -> compressor
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] module-default-device-restore.c: Restoring default source 'alsa_input.pci-0000_0d_00.4.analog-stereo'.
I: [pulseaudio] core.c: configured_default_source: (unset) -> alsa_input.pci-0000_0d_00.4.analog-stereo
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #14; argument: "").
D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected.
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 1 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"

 

# lsof /dev/snd/*
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
  Output information may be incomplete.
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
  Output information may be incomplete.
COMMAND     PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pipewire  30519 dzwiedziu   27u   CHR  116,1      0t0  565 /dev/snd/seq
pipewire  30519 dzwiedziu   28u   CHR  116,1      0t0  565 /dev/snd/seq
pipewire- 30528 dzwiedziu   22u   CHR 116,14      0t0  654 /dev/snd/controlC1
pipewire- 30528 dzwiedziu   24u   CHR  116,9      0t0  632 /dev/snd/controlC0
pulseaudi 30741 dzwiedziu   17u   CHR 116,14      0t0  654 /dev/snd/controlC1
pulseaudi 30741 dzwiedziu   19u   CHR  116,9      0t0  632 /dev/snd/controlC0
pulseaudi 30741 dzwiedziu   23u   CHR 116,14      0t0  654 /dev/snd/controlC1

 

Pop! OS 20.10

pulseaudio 13.99.2

 

pipewire
Compiled with libpipewire 0.3.10
Linked with libpipewire 0.3.10

I’ve also posted this to Reddit [1], if that interests anyone.

[1] Pulseaudio borked itself. But audio works with Pulsewire. : linuxquestions

Edit 1: failed solution – adding my user to the audio group.
Edit 2: failed solution – pam-auth-update and pam-auth-update --force
Edit 3: failed solution – systemctl --user stop pipewire.socket; systemctl --user stop pipewire.service
Edit 4: when the search engine gives you your own post it’s a clear signal to stop for the day.

Delete ~/.config/pulse.

And yes, the answer to what year is it is still 2020. 329th of March to be precise.

Solution comment: jberns comments on Pulseaudio borked itself. But audio works with Pulsewire.