We're hiring!

WirePlumber 0.3 released, now ready for the desktop

George Kiagiadakis avatar

George Kiagiadakis
July 16, 2020

Share this post:

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.


Comments (1)

  1. Venn:
    Jul 16, 2020 at 09:22 PM

    Good to see the continued work with Jack integration. Does it work with netjack? Using Jack2 with netjack1 in the studio to link all the PCs to the DAW and streaming box these days.

    Looking forward to playing PipeWire and WirePlumber.

    Reply to this comment

    Reply to this comment

Add a Comment

Allowed tags: <b><i><br>Add a new comment:


Search the newsroom

Latest News & Events

Open Source Summit + Embedded Linux Conference 2021


Collaborans will be actively participating in next week's activities with seven talks on topics including Rust build scripts, embedded deep…

Panfrost achieves OpenGL ES 3.1 conformance on Mali-G52


This important milestone is a step forward for the open source driver, as it now certifies Panfrost for use in commercial products containing…

Generate a minimal GStreamer build, tailored to your needs


GStreamer can be tricky to ship in a constrained device. Thanks to a partnership with Huawei, you can now use gst-build to generate a minimal…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2021. All rights reserved. Privacy Notice. Sitemap.

Collabora Limited is registered in England and Wales. Company Registration number: 5513718. Registered office: The Platinum Building, St John's Innovation Park, Cambridge, CB4 0DS, United Kingdom. VAT number: 874 1630 19.