Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
Dne 02. 10. 21 v 18:02 Robert-André Mauchin napsal(a): On 7/19/21 18:17, Ben Cotton wrote: https://fedoraproject.org/wiki/Changes/WirePlumber == Summary == PipeWire currently uses a simple example session manager. This proposal is to move to the more powerful WirePlumber session manager. == Owner == * Name: [[User:Wtaymans| Wim Taymans]] * Email: wim.taym...@gmail.com == Detailed Description == PipeWire requires a session manager that at least needs to implements the following features: * create and configure detected devices in the system. This includes audio cards, video and bluetooth devices. * configure applications and route audio/video to/from them to the devices and filters. * keep track of prefered devices and volumes. * move audio/video streams when devices appear and disappear. PipeWire uses a simple example session manager with limited features and configuration options. The proposal is to move to WirePlumber. WirePlumber is built on GNOME (GObject) technologies and has bindings for most languages using GObject introspection. WirePlumber allows one to implement many of the rules for setup and configuration using small LUA scripts, which are easier to maintain and customize. These are some of the functions that are scriptable in LUA: * setup and configuration of the devices and streams. This includes deciding if devices and streams need to operate in 5.1 or stereo mode, depending on the available devices. * routing of the streams based on metadata of the streams (Roles) and overall state of the system. * volume/mute restore of devices and streams == Benefit to Fedora == PipeWire currently uses a simple example session manager with mostly hardcoded logic and rules. This proposal wants to replace the session manager with a more advanced session manager, called WirePlumber. WirePlumber brings to following improvements * Drop-in replacement session manager for PipeWire, implements the exact same features as the example session manager * built with GObject, which provides a richer development experience and adds bindings for most languages * extensible with loadable modules * scriptable policy using small lua scripts * better integration with desktop settings The main benefits will be that this session manager would allow for more customization of the policy and rules. Initially we aim for feature parity with the current solution and work on more features in the next releases. == 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. * Release engineering: 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: == 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 == * Contingency mechanism: (What to do? Who will do it?): If the feature can not be completed we continue using the existing pipewire-media-session. * Contingency deadline: N/A (not a System Wide Change) * Blocks release? N/A (not a System Wide Change) == Documentation == [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) Just switched to F35 beta, no sound card was detected, I had to get back to pipewire-media-session to get sound again. I was fighting with something similar on Friday and I think the solution was something like: ~~~ $ systemctl --no-reload preset --global pipewire-pulse.service $ systemctl --no-reload preset --global pipewire-pulse.socket ~~~ The symptoms were that one or both of these services had this line in their `status` output: ~~~ Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; disabled; vendor preset: enabled) ~~~ I don't really how to figure what "disables" the unit file, assuming that enabling the pipewire-pulse.* was the right thing to do. Vít ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
Robert-André Mauchin kirjoitti 2.10.2021 klo 19.02: On 7/19/21 18:17, Ben Cotton wrote: https://fedoraproject.org/wiki/Changes/WirePlumber == Summary == PipeWire currently uses a simple example session manager. This proposal is to move to the more powerful WirePlumber session manager. == Owner == * Name: [[User:Wtaymans| Wim Taymans]] * Email: wim.taym...@gmail.com == Detailed Description == PipeWire requires a session manager that at least needs to implements the following features: * create and configure detected devices in the system. This includes audio cards, video and bluetooth devices. * configure applications and route audio/video to/from them to the devices and filters. * keep track of prefered devices and volumes. * move audio/video streams when devices appear and disappear. PipeWire uses a simple example session manager with limited features and configuration options. The proposal is to move to WirePlumber. WirePlumber is built on GNOME (GObject) technologies and has bindings for most languages using GObject introspection. WirePlumber allows one to implement many of the rules for setup and configuration using small LUA scripts, which are easier to maintain and customize. These are some of the functions that are scriptable in LUA: * setup and configuration of the devices and streams. This includes deciding if devices and streams need to operate in 5.1 or stereo mode, depending on the available devices. * routing of the streams based on metadata of the streams (Roles) and overall state of the system. * volume/mute restore of devices and streams == Benefit to Fedora == PipeWire currently uses a simple example session manager with mostly hardcoded logic and rules. This proposal wants to replace the session manager with a more advanced session manager, called WirePlumber. WirePlumber brings to following improvements * Drop-in replacement session manager for PipeWire, implements the exact same features as the example session manager * built with GObject, which provides a richer development experience and adds bindings for most languages * extensible with loadable modules * scriptable policy using small lua scripts * better integration with desktop settings The main benefits will be that this session manager would allow for more customization of the policy and rules. Initially we aim for feature parity with the current solution and work on more features in the next releases. == 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. * Release engineering: 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: == 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 == * Contingency mechanism: (What to do? Who will do it?): If the feature can not be completed we continue using the existing pipewire-media-session. * Contingency deadline: N/A (not a System Wide Change) * Blocks release? N/A (not a System Wide Change) == Documentation == [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) Just switched to F35 beta, no sound card was detected, I had to get back to pipewire-media-session to get sound again. Problems here as well. I am affected by the inability to change systems sounds volume, as already reported in this thread. Additionally, opening certain Matroska videos with VLC suffer from about 20 second delay before starting to play. The problem disappears if I revert back to pipewire-media-session and reboot. Otto ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On 7/19/21 18:17, Ben Cotton wrote: https://fedoraproject.org/wiki/Changes/WirePlumber == Summary == PipeWire currently uses a simple example session manager. This proposal is to move to the more powerful WirePlumber session manager. == Owner == * Name: [[User:Wtaymans| Wim Taymans]] * Email: wim.taym...@gmail.com == Detailed Description == PipeWire requires a session manager that at least needs to implements the following features: * create and configure detected devices in the system. This includes audio cards, video and bluetooth devices. * configure applications and route audio/video to/from them to the devices and filters. * keep track of prefered devices and volumes. * move audio/video streams when devices appear and disappear. PipeWire uses a simple example session manager with limited features and configuration options. The proposal is to move to WirePlumber. WirePlumber is built on GNOME (GObject) technologies and has bindings for most languages using GObject introspection. WirePlumber allows one to implement many of the rules for setup and configuration using small LUA scripts, which are easier to maintain and customize. These are some of the functions that are scriptable in LUA: * setup and configuration of the devices and streams. This includes deciding if devices and streams need to operate in 5.1 or stereo mode, depending on the available devices. * routing of the streams based on metadata of the streams (Roles) and overall state of the system. * volume/mute restore of devices and streams == Benefit to Fedora == PipeWire currently uses a simple example session manager with mostly hardcoded logic and rules. This proposal wants to replace the session manager with a more advanced session manager, called WirePlumber. WirePlumber brings to following improvements * Drop-in replacement session manager for PipeWire, implements the exact same features as the example session manager * built with GObject, which provides a richer development experience and adds bindings for most languages * extensible with loadable modules * scriptable policy using small lua scripts * better integration with desktop settings The main benefits will be that this session manager would allow for more customization of the policy and rules. Initially we aim for feature parity with the current solution and work on more features in the next releases. == 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. * Release engineering: 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: == 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 == * Contingency mechanism: (What to do? Who will do it?): If the feature can not be completed we continue using the existing pipewire-media-session. * Contingency deadline: N/A (not a System Wide Change) * Blocks release? N/A (not a System Wide Change) == Documentation == [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) Just switched to F35 beta, no sound card was detected, I had to get back to pipewire-media-session to get sound again. ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Fri, 2021-10-01 at 17:27 +, Tom Seewald wrote: > > This change proposal is the first I've heard of it. But since this is > > being proposed by the author of Pipewire, I kind of assume it's good, > > and I doubt Workstation WG would see the need to get involved unless > > concerns are raised. Does WirePlumber have some sort of deficiencies > > compared to pipewire-session-manager? > > Now that Fedora 35 is in beta and more people are testing it out, it > appears that wireplumber does have some regressions compared to > pipewire-media-session. Namely that audio output switching for flatpak > applications does not work [1], and that desktop system sound volume > (e.g. notification sounds) can not be controlled independently from the > main system volume [2][3]. There is also an issue with changing > bluetooth speaker volume [5]. From developer comments it may not be > likely that all of these problems will be fixed in time for the F35 > release, and the current workaround is to switch back to pipewire- > media-session [4]. > > Clearly this is late in the release cycle, but I am concerned that > wireplumber will provide an overall worse audio experience for F35 > users. So ultimately I am asking if we should re-evaluate whether or > not wireplumber should be the default pipewire session manager for F35. > Are there other features landing in F35 that specifically depend on > wireplumber, and if so do they outweigh the currently known > regressions? > > [1] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/59 > [2] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/51 > [3] https://bugzilla.redhat.com/show_bug.cgi?id=2003403 > [4] https://bugzilla.redhat.com/show_bug.cgi?id=2003403#c4 > [5] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/58 I think you make a good point here. I've filed a ticket asking FESCo to consider whether we should pull the change: https://pagure.io/fesco/issue/2670 -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
> This change proposal is the first I've heard of it. But since this is > being proposed by the author of Pipewire, I kind of assume it's good, > and I doubt Workstation WG would see the need to get involved unless > concerns are raised. Does WirePlumber have some sort of deficiencies > compared to pipewire-session-manager? Now that Fedora 35 is in beta and more people are testing it out, it appears that wireplumber does have some regressions compared to pipewire-media-session. Namely that audio output switching for flatpak applications does not work [1], and that desktop system sound volume (e.g. notification sounds) can not be controlled independently from the main system volume [2][3]. There is also an issue with changing bluetooth speaker volume [5]. From developer comments it may not be likely that all of these problems will be fixed in time for the F35 release, and the current workaround is to switch back to pipewire-media-session [4]. Clearly this is late in the release cycle, but I am concerned that wireplumber will provide an overall worse audio experience for F35 users. So ultimately I am asking if we should re-evaluate whether or not wireplumber should be the default pipewire session manager for F35. Are there other features landing in F35 that specifically depend on wireplumber, and if so do they outweigh the currently known regressions? [1] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/59 [2] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/51 [3] https://bugzilla.redhat.com/show_bug.cgi?id=2003403 [4] https://bugzilla.redhat.com/show_bug.cgi?id=2003403#c4 [5] https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/58 ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Wed, Jul 28, 2021 at 7:44 AM Stephen Gallagher wrote: > > On Mon, Jul 19, 2021 at 12:18 PM Ben Cotton wrote: > > > > https://fedoraproject.org/wiki/Changes/WirePlumber > > > > == Summary == > > PipeWire currently uses a simple example session manager. This > > proposal is to move to the more powerful WirePlumber session manager. > > > > Has the Fedora Workstation Working Group made any recommendations > around this? Does that group feel that WirePlumber is mature enough to > replace the existing session manager? With my WG hat on, we've elected to trust Wim on this and we're generally excited to see how this goes in F35. He had brought up WirePlumber when we originally did the PipeWire change last cycle and told us then that he was planning to have it ready for F35. So from that perspective, we're okay with it. Taking my WG hat off, I've been testing it for about as long as it's existed in the repositories in Rawhide and it's been pretty good thus far. The user experience is no worse than before, as far as I can tell, and having the programmability and flexibility for applications to leverage opens the doors for all kinds of interesting use-cases. My understanding is that it's also a prerequisite for eventually doing similar stuff for video sources that we're doing with audio sources today too. -- 真実はいつも一つ!/ Always, there's only one truth! ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Tue, Jul 27 2021 at 12:50:29 PM -0400, Stephen Gallagher wrote: Has the Fedora Workstation Working Group made any recommendations around this? Does that group feel that WirePlumber is mature enough to replace the existing session manager? This change proposal is the first I've heard of it. But since this is being proposed by the author of Pipewire, I kind of assume it's good, and I doubt Workstation WG would see the need to get involved unless concerns are raised. Does WirePlumber have some sort of deficiencies compared to pipewire-session-manager? ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Mon, Jul 19, 2021 at 12:18 PM Ben Cotton wrote: > > https://fedoraproject.org/wiki/Changes/WirePlumber > > == Summary == > PipeWire currently uses a simple example session manager. This > proposal is to move to the more powerful WirePlumber session manager. > Has the Fedora Workstation Working Group made any recommendations around this? Does that group feel that WirePlumber is mature enough to replace the existing session manager? ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Tue, Jul 20, 2021 at 05:44:42PM +, Zbigniew Jędrzejewski-Szmek wrote: > On Tue, Jul 20, 2021 at 07:21:07PM +0200, gerard.bi...@gmail.com wrote: > > Hi, > > a happy user of F35 here. > > > > With PipeWire since two weeks. Which stopped working with the last update. > > > > Finding this page [1], I installed WirePlumber. It > > removed pipewire-media-session. > > > > I didn't have to do anything more than dnf install xxx. I looked for > > potential systemctl commands, but I found nothing needed. > > Oh, right. wireplumber.rpm conflicts with pipewire-media-session.rpm, > so what I wrote it unnecessary. ftr, you can change between the two packages with dnf swap wireplumber pipewire-media-session dnf swap pipewire-media-session wireplumber Everythingthing else should work magically provided fedora-release-35 packages are up to date. Cheers, Peter ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Mon, 2021-07-19 at 12:17 -0400, Ben Cotton wrote: > > WirePlumber is built on GNOME (GObject) technologies and has bindings > for most languages using GObject introspection. Is this going to pull in gobject as a dependency anywhere it's not currently already pulled in by something else? -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Tue, Jul 20, 2021 at 07:21:07PM +0200, gerard.bi...@gmail.com wrote: > Hi, > a happy user of F35 here. > > With PipeWire since two weeks. Which stopped working with the last update. > > Finding this page [1], I installed WirePlumber. It > removed pipewire-media-session. > > I didn't have to do anything more than dnf install xxx. I looked for > potential systemctl commands, but I found nothing needed. Oh, right. wireplumber.rpm conflicts with pipewire-media-session.rpm, so what I wrote it unnecessary. Zbyszek > From my simple point of view, all is working fine. I got my bluetooth > headset to play the sound of a movie. > > What's better is that pipewire (even before Wireplumber) choses the input > and output I prefer by default. I always had to select them again > each login. > > I looked into wpctl commands, all seems in place. > > G > > [1] : https://fedoraproject.org/wiki/Changes/WirePlumber > > Le mar. 20 juil. 2021 à 18:47, Zbigniew Jędrzejewski-Szmek < > zbys...@in.waw.pl> a écrit : > > > On Mon, Jul 19, 2021 at 06:33:29PM +0200, Igor Raits wrote: > > > It would be great if the "How to test" section would include some steps > > on > > > how to switch to WirePlumber so that anything can be tested. > > > > It's something like 'sudo dnf install wireplumber && systemctl --user > > disable --now pipewire-media-session && systemctl --user enable --now > > wireplumber.service' > > (fully untested ;)). > > > > Zbyszek ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
Hi, a happy user of F35 here. With PipeWire since two weeks. Which stopped working with the last update. Finding this page [1], I installed WirePlumber. It removed pipewire-media-session. I didn't have to do anything more than dnf install xxx. I looked for potential systemctl commands, but I found nothing needed. >From my simple point of view, all is working fine. I got my bluetooth headset to play the sound of a movie. What's better is that pipewire (even before Wireplumber) choses the input and output I prefer by default. I always had to select them again each login. I looked into wpctl commands, all seems in place. G [1] : https://fedoraproject.org/wiki/Changes/WirePlumber Le mar. 20 juil. 2021 à 18:47, Zbigniew Jędrzejewski-Szmek < zbys...@in.waw.pl> a écrit : > On Mon, Jul 19, 2021 at 06:33:29PM +0200, Igor Raits wrote: > > It would be great if the "How to test" section would include some steps > on > > how to switch to WirePlumber so that anything can be tested. > > It's something like 'sudo dnf install wireplumber && systemctl --user > disable --now pipewire-media-session && systemctl --user enable --now > wireplumber.service' > (fully untested ;)). > > Zbyszek > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam on the list, report it: > https://pagure.io/fedora-infrastructure > ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
On Mon, Jul 19, 2021 at 06:33:29PM +0200, Igor Raits wrote: > It would be great if the "How to test" section would include some steps on > how to switch to WirePlumber so that anything can be tested. It's something like 'sudo dnf install wireplumber && systemctl --user disable --now pipewire-media-session && systemctl --user enable --now wireplumber.service' (fully untested ;)). Zbyszek ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
Also, I forgot to change the status to ReadyForWrangler so it has been in limbo for a while. But meanwhile, we've been busy moving the parts into f35 for testing. Next step is to check all of the stuff we added to the old session manager and make sure we don't cause regressions. I'll update the wiki with more info on how to test. Wim On Tue, Jul 20, 2021 at 6:10 PM Ben Cotton wrote: > For the record, this proposal isn't late. I just forgot what day it > was yesterday. *Today* is the deadline. > > -- > Ben Cotton > He / Him / His > Fedora Program Manager > Red Hat > TZ=America/Indiana/Indianapolis > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam on the list, report it: > https://pagure.io/fedora-infrastructure > ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
For the record, this proposal isn't late. I just forgot what day it was yesterday. *Today* is the deadline. -- Ben Cotton He / Him / His Fedora Program Manager Red Hat TZ=America/Indiana/Indianapolis ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Re: F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
It would be great if the "How to test" section would include some steps on how to switch to WirePlumber so that anything can be tested. On Mon, Jul 19, 2021 at 6:18 PM Ben Cotton wrote: > https://fedoraproject.org/wiki/Changes/WirePlumber > > == Summary == > PipeWire currently uses a simple example session manager. This > proposal is to move to the more powerful WirePlumber session manager. > > == Owner == > * Name: [[User:Wtaymans| Wim Taymans]] > * Email: wim.taym...@gmail.com > > == Detailed Description == > PipeWire requires a session manager that at least needs to implements > the following features: > > * create and configure detected devices in the system. This includes > audio cards, video and bluetooth devices. > * configure applications and route audio/video to/from them to the > devices and filters. > * keep track of prefered devices and volumes. > * move audio/video streams when devices appear and disappear. > > PipeWire uses a simple example session manager with limited features > and configuration options. The proposal is to > move to WirePlumber. > > WirePlumber is built on GNOME (GObject) technologies and has bindings > for most languages using GObject introspection. > > WirePlumber allows one to implement many of the rules for setup and > configuration using small LUA scripts, which are > easier to maintain and customize. These are some of the functions that > are scriptable in LUA: > > * setup and configuration of the devices and streams. This includes > deciding if devices and streams need to operate in 5.1 or stereo mode, > depending on the available devices. > * routing of the streams based on metadata of the streams (Roles) and > overall state of the system. > * volume/mute restore of devices and streams > > > == Benefit to Fedora == > > PipeWire currently uses a simple example session manager with mostly > hardcoded logic and rules. This proposal wants to replace the session > manager with a more advanced session manager, called WirePlumber. > > WirePlumber brings to following improvements > > * Drop-in replacement session manager for PipeWire, implements the > exact same features as the example session manager > * built with GObject, which provides a richer development experience > and adds bindings for most languages > * extensible with loadable modules > * scriptable policy using small lua scripts > * better integration with desktop settings > > The main benefits will be that this session manager would allow for > more customization of the policy > and rules. Initially we aim for feature parity with the current > solution and work on more features > in the next releases. > > == 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. > * Release engineering: 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: > > == 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 == > * Contingency mechanism: (What to do? Who will do it?): If the > feature can not be completed we continue using the existing > pipewire-media-session. > * Contingency deadline: N/A (not a System Wide Change) > * Blocks release? N/A (not a System Wide Change) > > > == Documentation == > [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) > > > > > > -- > Ben Cotton > He / Him / His > Fedora Program Manager > Red Hat > TZ=America/Indiana/Indianapolis > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam on the list, report it: > https://pagure.io/fedora-infrastructure > ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam o
F35 Change: Switch to WirePlumber as the PipeWire session manage (late Self-Contained Change proposal)
https://fedoraproject.org/wiki/Changes/WirePlumber == Summary == PipeWire currently uses a simple example session manager. This proposal is to move to the more powerful WirePlumber session manager. == Owner == * Name: [[User:Wtaymans| Wim Taymans]] * Email: wim.taym...@gmail.com == Detailed Description == PipeWire requires a session manager that at least needs to implements the following features: * create and configure detected devices in the system. This includes audio cards, video and bluetooth devices. * configure applications and route audio/video to/from them to the devices and filters. * keep track of prefered devices and volumes. * move audio/video streams when devices appear and disappear. PipeWire uses a simple example session manager with limited features and configuration options. The proposal is to move to WirePlumber. WirePlumber is built on GNOME (GObject) technologies and has bindings for most languages using GObject introspection. WirePlumber allows one to implement many of the rules for setup and configuration using small LUA scripts, which are easier to maintain and customize. These are some of the functions that are scriptable in LUA: * setup and configuration of the devices and streams. This includes deciding if devices and streams need to operate in 5.1 or stereo mode, depending on the available devices. * routing of the streams based on metadata of the streams (Roles) and overall state of the system. * volume/mute restore of devices and streams == Benefit to Fedora == PipeWire currently uses a simple example session manager with mostly hardcoded logic and rules. This proposal wants to replace the session manager with a more advanced session manager, called WirePlumber. WirePlumber brings to following improvements * Drop-in replacement session manager for PipeWire, implements the exact same features as the example session manager * built with GObject, which provides a richer development experience and adds bindings for most languages * extensible with loadable modules * scriptable policy using small lua scripts * better integration with desktop settings The main benefits will be that this session manager would allow for more customization of the policy and rules. Initially we aim for feature parity with the current solution and work on more features in the next releases. == 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. * Release engineering: 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: == 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 == * Contingency mechanism: (What to do? Who will do it?): If the feature can not be completed we continue using the existing pipewire-media-session. * Contingency deadline: N/A (not a System Wide Change) * Blocks release? N/A (not a System Wide Change) == Documentation == [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) -- Ben Cotton He / Him / His Fedora Program Manager Red Hat TZ=America/Indiana/Indianapolis ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure