We're hiring!
*

WirePlumber 0.3 released, now ready for the desktop

George Kiagiadakis avatar

George Kiagiadakis
July 16, 2020

Share this post:

Reading time:

It is with great pleasure that we announce the availability of WirePlumber - the PipeWire session manager - version 0.3.0, which was made available a few weeks ago.

This release brings support for desktop use cases and is a working drop-in replacement for PipeWire's pipewire-media-session example session manager. At the same time, it introduces configurability and other features that pipewire-media-session lacks, such as the use of session, endpoint and endpoint-stream objects to orchestrate the graph. If you are curious about what this means, my previous blog post is a good starting point to read about endpoints.

On the configurability front, some noteworthy features that this release has, are:

  • Creation of sessions, endpoints and endpoint streams is fully driven by configuration files.
  • There is the concept of session default endpoints, which can be changed at runtime with the wpctl utility and are stored, so the user may change at runtime the target device of new links in a persistent way. This is the equivalent of selecting the default audio input and output devices in GNOME Sound Settings, except that wpctl also has a default video input choice!
  • While a runtime choice of default endpoints is possible, WirePlumber also supports declaring priorities on endpoints in the configuration files, so that there are sane initial defaults.
  • Additionally, creating links between endpoints is also configurable. This means that you can, for instance, specify that a certain application should be linked to a specific device, no matter what the "default" input/output devices are.
  • It supports creating static node and device objects at startup, also driven by configuration files. This is useful to create instances of custom nodes or to make the device configuration more static, avoiding the default automatic detection.
  • There are volume & mute controls on audio endpoints and endpoint streams, which can be set also with wpctl.

Finally, another noteworthy feature in this release is the use of the org.freedesktop.ReserveDevice1 D-Bus API to arbitrate the capture of audio devices between PipeWire and JACK. If a JACK server is started while PipeWire running or is found already running when PipeWire is started, WirePlumber releases the audio device that JACK wants to control and sets up the PipeWire JACK source & sink nodes so that audio in PipeWire is routed through JACK to access that audio device.

Try it out

If you are interested in trying PipeWire with WirePlumber, take a look at the online documentation to get started.

A very useful resource is also the testing page, where you can find examples of things you can try to test WirePlumber's functionality.

 

Search the newsroom

Latest News & Events

16 contributors, cross-stack improvements: Collabora's work on GStreamer 1.28

08/04/2026

Our multimedia engineering team delivered major improvements to GStreamer 1.28: hardware acceleration and zero-copy pipelines, HDR and color…

Springing into AI: PyTorch Conference Europe & ICLR 2026

02/04/2026

Collabora presents "Bringing BitNet to ExecuTorch via Vulkan" at PyTorch Conference Europe in Paris (April 7-8) and attends ICLR in Rio…

Apertis v2026: A modern foundation for industrial embedded development

31/03/2026

Based on Debian 13 (Trixie), Apertis v2026 delivers updated system libraries, development tools, compilers, and core services, alongside…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2026. All rights reserved. Privacy Notice. Sitemap.