The first release candidate for PipeWire 1.6, version 1.5.81, is now available, giving us a clear idea of what to expect from the final stable release of this widely adopted Linux multimedia framework. Being fully compatible with previous 1.4.x, 1.2.x, and 1.0.x releases, the RC offers performance improvements and a ton of refinements under the hood.
One of the biggest changes is a complete refactor of the link negotiation code. Applications now have better control over default values and can more precisely restrict available options, which means better format matching and smoother audio and video handling. The default negotiation process has also been fine-tuned to better align with the application’s expectations.
Another major improvement is in real-time performance. The loop now supports locking with priority inversion, and most of the codebase has been updated to use these new locks. That means inter-thread synchronization is much faster and no longer has to pass through eventfd or epoll—a win for latency-sensitive audio workloads.
The control stream parser has also been rewritten from scratch. It’s now safe against concurrent updates when parsing shared memory, avoiding potential race conditions, integer overflows, and undefined behavior.
Another important feature – PipeWire 1.6 introduces Bluetooth ASHA (Audio Streaming for Hearing Aid) support, expanding accessibility and device compatibility. On top of that, the ALSA node setup has been adjusted to improve latency, especially when working with FireWire-based audio interfaces.
Musicians and audio engineers will appreciate several new additions to the tools and pro-audio components. The new release adds support for MIDI 2.0 clips, along with new pw-midi2play
and pw-midi2record
tools for working directly with the updated MIDI 2.0 UMP format.
There’s also a new Dolby Surround and Dolby Pro Logic II example filter configuration, as well as ONNX and FFmpeg filters added to the filter-graph system for more flexible audio processing pipelines.
Under the hood, the Simple Plugin API also got a lot of attention. Many of its functions are now safe to use on shared memory, and hardcoded channel limits have been removed—PipeWire can now handle up to 128 channels dynamically. The videoconvert
component was heavily improved, and support for advanced color matrices, transfer functions, and color primaries was expanded.
On the Bluetooth side, there are more updates beyond ASHA. PipeWire 1.6 introduces packet-loss correction using the spandsp library for certain codecs and improved synchronization for ISO streams across grouped devices.
Lastly, other small updates include new timer-queue
scheduling for modules, better latency reporting in loopback and combine-stream modules, and updated documentation that explains the client-node flow more clearly.
For the full list with changes, see the changelog.