How Do I Get The Pipewire Pulseaudio Compatibility To Work in Fedora 39?
by shachter from LinuxQuestions.org on (#6KRGR)
Esteemed Colleagues,
On my Fedora 39 system, the pipewire packages are installed, and the
pulseaudio packages -- which are incompatible with the pipewire
packages -- are not:
$ rpm -qa | grep pipewire
pipewire-0.3.85-1.fc39.x86_64
pipewire-libs-0.3.85-1.fc39.x86_64
pipewire-gstreamer-0.3.85-1.fc39.x86_64
pipewire-pulseaudio-0.3.85-1.fc39.x86_64
qemu-audio-pipewire-8.1.1-1.fc39.x86_64
pipewire-alsa-0.3.85-1.fc39.x86_64
pipewire-utils-0.3.85-1.fc39.x86_64
$
The mpv command (which defaults, as it should, to "mpv -ao=pulse")
fails, for failure to connect to a pulseaudio server.
The pipewire-pulse command claims to start, in the words of its manual
page, "a drop-in replacement for the PulseAudio daemon". It does not:
$ pipewire-pulse -v
[E][25431.837538] mod.protocol-pulse | [ utils.c: 45 get_runtime_dir()] could not find a suitable runtime directory in$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR
[W][25431.837628] mod.protocol-pulse | [ server.c: 998 servers_create_and_start()] pulse-server 0x5630c09d25d0: failed to parse address 'unix:native': No such file or directory
[E][25431.837694] mod.protocol-pulse | [ pulse-server.c: 5542 pw_protocol_pulse_new()] 0x5630c09d25d0: no servers could be started: No such file or directory
[E][25431.838072] pw.conf | [ conf.c: 573 load_module()] 0x5630c099fb60: could not load mandatory module "libpipewire-module-protocol-pulse": No such file or directory
[E][25431.839121] default | [ pipewire.c: 105 main()] failed to create context: No such file or directory
$
I can hear sound by invoking mpv with the "--audio-device=alsa/hdmi"
argument, but that is bogus. The audio device should be configured in
pulseaudio, not specified every time one needs to use audio.
Moreover, there are programs like firefox (and perhaps others) in
which the audio device cannot be specified, and pulseaudio is assumed.
I can install the pulseaudio packages, but only by removing the
pipewire packages. This is what I have done on many of my other
systems, and it works. But, because pipewire is supposed to be so
bloody wonderful, I want to figure out how to use it, starting with my
Fedora 39 system on which it is installed by default. So how do I get
pipewire-pulse to work?
As always, thank you in advance for any and all replies.
On my Fedora 39 system, the pipewire packages are installed, and the
pulseaudio packages -- which are incompatible with the pipewire
packages -- are not:
$ rpm -qa | grep pipewire
pipewire-0.3.85-1.fc39.x86_64
pipewire-libs-0.3.85-1.fc39.x86_64
pipewire-gstreamer-0.3.85-1.fc39.x86_64
pipewire-pulseaudio-0.3.85-1.fc39.x86_64
qemu-audio-pipewire-8.1.1-1.fc39.x86_64
pipewire-alsa-0.3.85-1.fc39.x86_64
pipewire-utils-0.3.85-1.fc39.x86_64
$
The mpv command (which defaults, as it should, to "mpv -ao=pulse")
fails, for failure to connect to a pulseaudio server.
The pipewire-pulse command claims to start, in the words of its manual
page, "a drop-in replacement for the PulseAudio daemon". It does not:
$ pipewire-pulse -v
[E][25431.837538] mod.protocol-pulse | [ utils.c: 45 get_runtime_dir()] could not find a suitable runtime directory in$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR
[W][25431.837628] mod.protocol-pulse | [ server.c: 998 servers_create_and_start()] pulse-server 0x5630c09d25d0: failed to parse address 'unix:native': No such file or directory
[E][25431.837694] mod.protocol-pulse | [ pulse-server.c: 5542 pw_protocol_pulse_new()] 0x5630c09d25d0: no servers could be started: No such file or directory
[E][25431.838072] pw.conf | [ conf.c: 573 load_module()] 0x5630c099fb60: could not load mandatory module "libpipewire-module-protocol-pulse": No such file or directory
[E][25431.839121] default | [ pipewire.c: 105 main()] failed to create context: No such file or directory
$
I can hear sound by invoking mpv with the "--audio-device=alsa/hdmi"
argument, but that is bogus. The audio device should be configured in
pulseaudio, not specified every time one needs to use audio.
Moreover, there are programs like firefox (and perhaps others) in
which the audio device cannot be specified, and pulseaudio is assumed.
I can install the pulseaudio packages, but only by removing the
pipewire packages. This is what I have done on many of my other
systems, and it works. But, because pipewire is supposed to be so
bloody wonderful, I want to figure out how to use it, starting with my
Fedora 39 system on which it is installed by default. So how do I get
pipewire-pulse to work?
As always, thank you in advance for any and all replies.