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.


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

Making a spatial impact at AWE 2024


Join us at Augmented World Expo for a first-hand look at our recent XR work including ElectricMaple remote rendering, and xrdesktop showcasing…

Mesa 24.1 brings new hardware support for Arm and NVIDIA GPUs


Mesa 24.1 is out, and the graphics team at Collabora has been working hard to bring a slew of new features and bug fixes to Panfrost, Zink,…

Implementing DRM format modifiers in NVK


This week we merged support for the VK_EXT_image_drm_format_modifier extension in NVK, the new open-source Vulkan driver for NVIDIA hardware.…

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 Ltd © 2005-2024. All rights reserved. Privacy Notice. Sitemap.