Hi all. Very recently, pipewire 0.3.18 has become available as package. As pipewire is getting more attention lately as the next audio server, supposedly offering low latency and direct compability with Pulse Audio and JACK. In addition, pipewire is used for flatpak packages, so integration is - all things considered - pretty ubiquitous.
For Silverblue, you can replace Pulse Audio with pipewire with the following command:
# issue below command to replace Pulse Audio with pipewire's pulse audio-compatible interface sudo rpm-ostree override remove pulseaudio pulseaudio-module-bluetooth pulseaudio-module-x11 alsa-plugins-pulseaudio --install=pipewire-pulseaudio # now restart to boot into the new image pactl info # ... # Server Name: PulseAudio (on PipeWire 0.3.18) # ...
Please consider a few things when trying this:
- You will deviate further from the base image of Silverblue.
It removes Pulse Audio from the base image using overrides, then adds
pipewire-pulseaudioas overlay. Other pipewire -packages are already installed.
- I can confirm that Pulse Audio-based audio works in various use cases: normal desktop apps, wine inside toolbox, games, system audio. Volume control works as it is compatible with Pulse Audio. Mic is detected (but haven’t tested).
- I cannot say anything about bluetooth support. It might not work.
- You might find it an interesting experiment, as it is being discussed to have pipewire by default in future Fedora release.
- You might find it useful if you are interested in audio production/mixing. I have seen some topics on this subject, though I myself have no experience with or use for this use case, so have not tested it.
- I think I have noticced that on high CPU load, e.g. game that requires better hardware, audio might have stuttering issues where it previously wouldn’t. (Most likely due to low-latency characteristic.)
So far I have experimented with it only for a few hours and will report back in case I have critical issues/observations. I hope other people will find this interesting/useful.
Not tested this myself yet, but I believe the command below will reset the customizations in order to revert back to Silverblue’s default Pulse Audio server.
sudo rpm-ostree override reset pulseaudio pulseaudio-module-bluetooth pulseaudio-module-x11 alsa-plugins-pulseaudio --uninstall=pipewire-pulseaudio