From Fedora Project Wiki

Revision as of 13:53, 10 May 2021 by Wtaymans (talk | contribs)


Switch to WirePlumber as the PipeWire session manager

Summary

PipeWire currently uses a simple example session manager. This proposal is to move to the more powerful WirePlumber session manager.


Owner


Current status

  • Targeted release: Fedora Linux 35
  • Last updated: 2021-05-10
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

PipeWire uses a simple example session manager with limited features and configuration option. The proposal is to move to WirePlumber, which is more advanced.


Feedback

Benefit to Fedora

WirePlumber is more maintabled and extensible in the long run.

WirePlumber implements most of the logic and policy with small lua scripts that can more easily be tweaked and adapted.


Scope

  • Proposal owners:

This is a rather isolated changed. Instead of starting the pipewire-media-session executable we would need to package and start WirePlumber instead.

WirePlumber has been kept up to data with the features in the example session manager and would need testing.

  • Other developers:

None. This is an isolated PipeWire change.

A new systemd service will need to be activated in the default install.

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

A more configurable and adaptable session manager will make it easier to adapt to the Audio and Video requirements and policy of the target use-case. We could more easily write desktop, PRO audio or mobile configurations.

Upgrade/compatibility impact

Should not cause any change.


How To Test

Experience should be the same as before. Retest all audio testcases.



User Experience

Should not cause any visible change.


Dependencies

None.


Contingency Plan

If the feature can not be completed we continue using the existing pipewire-media-session.

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No


Documentation

[WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber)

N/A (not a System Wide Change)

Release Notes