Pipewire Broken After an Update?


April 26, 2022

gentoo pipewire update


A recent update to pipewire has broken audio on my system.

A quick check of the system journal shows the following repeated messages:

pipewire-media-session[2663]: device 'alsa_card.pci-0000_00_1f.3': can't restore profile: No such device
pipewire[2662]: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.4/work/alsa-lib-1.2.4/src/dlmisc.c:224:(snd_dlsym_verify) unable to verify version for symbol snd_func_private_integer
pipewire[2662]: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.4/work/alsa-lib-1.2.4/src/conf.c:4733:(_snd_config_evaluate) symbol snd_func_private_integer is not defined inside (null)
pipewire[2662]: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.4/work/alsa-lib-1.2.4/src/conf.c:5233:(snd_config_expand) Evaluate error: No such device or address
pipewire[2662]: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.4/work/alsa-lib-1.2.4/src/conf.c:3917:(snd_config_hook_load) Unable to expand filenames in the pre-load section
pipewire[2662]: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.4/work/alsa-lib-1.2.4/src/conf.c:3739:(snd_config_hooks_call) function snd_config_hook_load_for_all_cards returned error: No such device or address

Fortunately, the fix for this was simple.

systemctl --user enable --now wireplumber.service

It turns out that since version 0.3.39, pipewire requires wireplumber as its session handler. Version 0.3.49 is the newly stabilised version, replacing the much older 0.3.36, so this requirement will now impact Gentoo users.

The update did pull wireplumber in as a dependency, but pipewire needs it to actually be running as well. Makes sense I guess.

If you like what we do, consider supporting us on Ko-fi