Linux has no unified multimedia framework for exchanging multimedia content between applications or even devices. For those who are unfamiliar with PipeWire, it was originally created to only handle access to video resources and co-exist with PulseAudio, but ended up handling any kind of media, to the point of planning to completely replace PulseAudio.
PipeWire can be used as an audio server, similar to PulseAudio and JACK. It aims to replace both PulseAudio and JACK, by providing a PulseAudio-compatible server implementation and ABI-compatible libraries for JACK clients.
PipeWire 0.3.33 was released, marking a big step forward in the effort of making this emerging media service the core layer of all multimedia on Linux.
What’s New in PipeWire 0.3.33
PipeWire continues maturing nicely this year and with PipeWire 0.3.33 takes things one step further.
Above all, Bluetooth can now automatically switch between headset and audio profile, and that’s an absolute game changer.
The new version also adds support for multiple sample rates. The graph can switch when IDLE to one of the supported rates. In addition there is an added option to lock the rate as well. This is not enabled by default yet because of driver bugs that need to be worked around first.
PipeWire 0.3.33 Highlights
- Better support for virtual sinks/sources for Pro Audio profile.
- Better DMA-BUF format modifier negotiation.
- Support multiple sample rates in the graph. Not enabled by default yet.
- Documentation updates.
- Many improvements and crasher fixes.
On the PulseAudio side, PipeWire 0.3.33 implements module-switch-on-connect to emulate PulseAudio behaviour of new devices. Some desktop environments expect this behaviour and break otherwise.
This update comes with many bug fixes and small improvements, and documentation updates.
For more information about all changes in the new version, you can refer to the full changelog or you can visit the projectโs website.