PipeWire Hits 1.0.0 with Improved JACK and Buffer Optimizations

Revamped PipeWire 1.0.0 delivers memfd/dma-buf leak resolutions, improved JACK port handling, and more. Here's what's new!

PipeWire, the cutting-edge audio and video server for Linux systems designed to provide a modern and versatile multimedia processing framework, has reached a significant milestone with the release of version 1.0.0.

This update represents a significant step forward in Linux audio technology, promising improved performance, reliability, and a host of new features while maintaining API and ABI compatibility with its 0.3.x predecessors.

PipeWire 1.0.0 Highlights

One of the key highlights of this release is the resolution of a memory leak issue related to memfd/dma-buf during the shutdown process of uploading buffers.

Additionally, the update addresses the handling of concurrent jack_port_get_buffer() calls, a scenario frequently encountered in the Ardour digital audio workstation.

Regarding audio performance, PipeWire 1.0.0 introduces enhanced time reporting in ALSA, specifically reducing jitter when using IRQ. This improvement is coupled with extensive enhancements to the documentation, making the user experience more intuitive and informative.

Significant changes have also been made to the core PipeWire system. These include the universal respect for PIPEWIRE_DLCLOSE, the elimination of pw_in_valgrind(), and the removal of warnings related to client attempts to change ignored properties.

The module aspect of PipeWire hasn’t been left behind, with fixes implemented for potential segfaults in mix structures, race conditions in module-rt, and memory leaks in filter-chain. Moreover, the update adjusts the RTP settings and ports the ROC modules to ROC 0.3.

SPA (Simple Plugin API) improvements are also noteworthy, featuring enhanced time reporting in ALSA with IRQ, the addition of latency parameter queries in libcamera, and the update of the EVL plugin. These enhancements aim to provide a more stable and efficient media handling experience.

Bluetooth functionality has been bolstered with improved LC3 codec and overall compatibility, broadening the range of supported devices and use cases. For PulseAudio server users, PipeWire 1.0.0 fixes the issue of event emission when there’s a change in the state of a sink or source.

JACK users will benefit from improved transport and time handling, including unique IDs for consistent snapshots of current time and transport, optimized buffer reuse, and better handling of port parameter enumeration.

Lastly, the documentation has seen extensive improvements, including new man pages, all created using Doxygen. Comprehensive documentation for pulse-modules has been added, further enhancing the usability and understanding of PipeWire’s capabilities.

You can refer to the changelog for more information about all changes in the new version.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%