Bug 1989959

Summary: Switch to WirePlumber as the PipeWire session manager
Product: [Fedora] Fedora Reporter: Ben Cotton <bcotton>
Component: Changes TrackingAssignee: Wim Taymans <wim.taymans>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: akurtako, awilliam, bcotton, ngompa13, priv.luk, travier, wim.taymans, wtaymans
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-02 16:03:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2011737    
Bug Blocks: 1894270    

Description Ben Cotton 2021-08-04 12:45:46 UTC
This is a tracking bug for Change: Switch to WirePlumber as the PipeWire session manager
For more details, see: https://fedoraproject.org/wiki/Changes/WirePlumber

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

If you encounter a bug related to this Change, please do not comment here. Instead create a new bug and set it to block this bug.

Comment 1 Ben Cotton 2021-08-10 12:32:48 UTC
Today is the "Code complete (testable)" deadline in the Fedora Linux 35 release schedule:
https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html

If this Change is complete enough to be tested, please indicate this by setting this bug to the MODIFIED status. (If it is 100% complete, you can set it to ON_QA).

If you wish to defer this Change to Fedora Linux 36, please needinfo bcotton.

Comment 2 Ben Cotton 2021-08-24 15:12:22 UTC
Today is the "Code complete (100% complete)" deadline in the Fedora Linux 35 release schedule:
https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html

If this Change is 100% complete, please indicate this by setting this bug to the ON_QA status. Note that if you have further package updates to complete this Change you will need an approved blocker or release exception as we are now in the Beta Freeze.

If you wish to defer this Change to Fedora Linux 36, please needinfo bcotton.

Comment 3 Adam Williamson 2021-08-24 17:10:05 UTC
This was marked MODIFIED in response to the previous ping with no further elaboration, but per Lukas' testing in https://bugzilla.redhat.com/show_bug.cgi?id=1983861#c13 , it does not really seem to be implemented at all. wireplumber is not included in any package group:

[adamw@xps13k fedora-comps (main %)]$ grep -i wireplumb *
grep: po: Is a directory
[adamw@xps13k fedora-comps (main %)]$ 

pipewire requires 'pipewire-session-manager', which is provided by both pipewire-media-session and wireplumber. Nothing appears to be set up with the intent of making wireplumber the preferred provider (I believe having pipewire 'recommend' or 'suggest' it would do so), and it appears that dnf in fact picks pipewire-media-session to fulfill the requirement, possibly because it has fewer dependencies.

Comment 4 Ben Cotton 2021-08-25 20:58:49 UTC
On Tuesday, 24 August we reached the Change Checkpoint: Completion deadline (100% complete). At this milestone all the F35 Changes should be fully complete, which is indicated by "ON_QA" status of a tracking bug.

If you wish to defer this Change to F36, please needinfo bcotton

Comment 5 Alexander Kurtakov 2021-08-30 16:08:46 UTC
After update to F35 I got no sound card ( in pavucontrol) and thus no sound output. After some digging it was caused by this change most likely as pipewire-media-server was not autostarted, starting it manually returned the sound.
Doing 'dnf swap pipewire-media-session wireplumber' fixed the problem permanently for me as the wireplumber was autostarted. It might be some missing migration step not added in rpms. In case it's already fixed and just my early update caused the issue - ignore this comment.

Comment 6 Neal Gompa 2021-08-30 16:43:24 UTC
(In reply to Adam Williamson from comment #3)
> This was marked MODIFIED in response to the previous ping with no further
> elaboration, but per Lukas' testing in
> https://bugzilla.redhat.com/show_bug.cgi?id=1983861#c13 , it does not really
> seem to be implemented at all. wireplumber is not included in any package
> group:
> 
> [adamw@xps13k fedora-comps (main %)]$ grep -i wireplumb *
> grep: po: Is a directory
> [adamw@xps13k fedora-comps (main %)]$ 
> 
> pipewire requires 'pipewire-session-manager', which is provided by both
> pipewire-media-session and wireplumber. Nothing appears to be set up with
> the intent of making wireplumber the preferred provider (I believe having
> pipewire 'recommend' or 'suggest' it would do so), and it appears that dnf
> in fact picks pipewire-media-session to fulfill the requirement, possibly
> because it has fewer dependencies.

I can add the necessary Suggests (I thought this was already done) and also
add it to the comps for good measure.

Comment 7 Neal Gompa 2021-08-30 17:01:03 UTC
The missing changes are proposed here now:

* comps: https://pagure.io/fedora-comps/pull-request/674
* pipewire update being tracked in bug 1999194

Comment 8 Łukasz Patron 2021-09-11 14:12:35 UTC
It seems like Gnome system sounds cannot be adjusted with WirePlumber. I keep getting 'Sep 11 10:08:46 localhost-live pipewire-pulse[1736]: failed to set metadata restore.stream.Output/Audio.media.role:Notification = { "mute": false, "volumes": [ 0.223811 ], "channels": [ "MONO" ] }' in journalctl.
Tested on current Fedora 35 Workstation Live ( https://kojipkgs.fedoraproject.org/compose/branched/Fedora-35-20210911.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-35-20210911.n.0.iso )

Comment 9 Neal Gompa 2021-09-11 21:30:11 UTC
(In reply to priv.luk from comment #8)
> It seems like Gnome system sounds cannot be adjusted with WirePlumber. I
> keep getting 'Sep 11 10:08:46 localhost-live pipewire-pulse[1736]: failed to
> set metadata restore.stream.Output/Audio.media.role:Notification = { "mute":
> false, "volumes": [ 0.223811 ], "channels": [ "MONO" ] }' in journalctl.
> Tested on current Fedora 35 Workstation Live (
> https://kojipkgs.fedoraproject.org/compose/branched/Fedora-35-20210911.n.0/
> compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-35-20210911.n.
> 0.iso )

Please file a bug on "wireplumber" instead of commenting here.

Comment 10 Łukasz Patron 2021-09-11 21:33:33 UTC
Should I do that in Bugzilla or upstream at https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues?

Comment 11 Neal Gompa 2021-09-12 02:35:11 UTC
(In reply to priv.luk from comment #10)
> Should I do that in Bugzilla or upstream at
> https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues?

Upstream is better.

Comment 12 Ben Cotton 2021-11-02 16:03:44 UTC
F35 was released today. Closing the trackers.