You are not logged in.

#1 2024-04-01 06:01:39

OpusOne
Member
Registered: 2023-05-31
Posts: 84

Changes in wireplumber 0.5 and settings

Hi, I've heard that there were changes in wireplumber 0.5 that may require changing its settings, but I couldn't really find any guide explaining what.

I have kept my older settings for wireplumber and everything seems to work, except that I had disabled suspend for my onboard HDA sound card (via the recommended 51-disable-suspension.lua script, that I had put in /etc/wireplumber/main.lua.d , but it doesn't seem to work anymore and I think the onboard sound card now goes to suspend after a couple minutes as if this script had no effect.

Any help appreciated, and sorry if this all obvious migration stuff that I missed.

Offline

#2 2024-04-01 10:32:39

just4arch
Member
Registered: 2023-01-07
Posts: 84

Re: Changes in wireplumber 0.5 and settings

Offline

#3 2024-04-01 22:01:09

OpusOne
Member
Registered: 2023-05-31
Posts: 84

Re: Changes in wireplumber 0.5 and settings

Probably. I think it could be mentioned in the Arch wiki, as it still refers to the old format, and is now obsolete.

This decision of the wireplumber maintainer absolutely sucks. Incredible.

Offline

#4 2024-04-02 03:22:48

OpusOne
Member
Registered: 2023-05-31
Posts: 84

Re: Changes in wireplumber 0.5 and settings

So, for anyone who could use some help for migrating (and read the page just4arch linked to above):

- Lua configuration files are no longer supported, so you basically have to redo all your config. The config files are now some variant of JSON.
- Paths also have changed a bit. All your custom config files must be in the wireplumber/wireplumber.conf.d subdirectory (for instance: ~/.config/wireplumber/wireplumber.conf.d for your user config files.)
- One thing that trapped me is that you now *need* a master config file for wireplumber - it won't read anything in the wireplumber.conf.d directory unless you have a wireplumber.conf file at the same level. Previously, I didn't even have a master config file, had just put some config files in main.lua.d/, and that was it. Not so anymore.

- You can start by copying the example master config file from : /usr/share/wireplumber/wireplumber.conf
- then create the wireplumber.conf.d/ subdirectory. In which you can put additional config files.

Finally, here is my translation of the 51-disable-suspension.lua config translated for wireplumber 0.5+:

51-disable-suspension.conf

monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "~alsa_input.*"
      }
      {
        node.name = "~alsa_output.*"
      }
    ]
    actions = {
      update-props = {
        session.suspend-timeout-seconds = 0
      }
    }
  }
]

If that can help anyone save some time figuring out how to migrate.

Offline

#5 2024-04-02 07:46:00

just4arch
Member
Registered: 2023-01-07
Posts: 84

Re: Changes in wireplumber 0.5 and settings

Well, this was also just in this very forum: https://bbs.archlinux.org/viewtopic.php?id=294241 (it ended up in the Pipewire section)
The Wiki Talk page has some info on why it hasn't been updated yet, so feel free to rework the sections wink

Offline

#6 2024-04-02 20:53:25

OpusOne
Member
Registered: 2023-05-31
Posts: 84

Re: Changes in wireplumber 0.5 and settings

Hi, yes some info as in "but I don't feel like handling these updates right now. " smile
I don't blame at all. This change was "unexpected" and not completely trivial to figure out in full, it took me a while.
I have never contributed to the wiki so far - so I wouldn't feel completely qualified to do it. The information I put above is just a starting point and I don't think it even scratches the surface, but hopefully it can help some in the meantime to get started.

As to the change itself, I understand that wireplumber is becoming more or less an integral part of pipewire and thus they wanted to use a common configuration file format, which is a variant of JSON. And while some keys have the exact same identifiers as before, some have changed and I couldn't really find a complete list of them so far, so for now it's a bit of trial and error.

Offline

#7 2024-04-21 15:57:52

Urgentemente
Member
Registered: 2024-03-07
Posts: 1

Re: Changes in wireplumber 0.5 and settings

OpusOne wrote:

So, for anyone who could use some help for migrating (and read the page just4arch linked to above):

- Lua configuration files are no longer supported, so you basically have to redo all your config. The config files are now some variant of JSON.
- Paths also have changed a bit. All your custom config files must be in the wireplumber/wireplumber.conf.d subdirectory (for instance: ~/.config/wireplumber/wireplumber.conf.d for your user config files.)
- One thing that trapped me is that you now *need* a master config file for wireplumber - it won't read anything in the wireplumber.conf.d directory unless you have a wireplumber.conf file at the same level. Previously, I didn't even have a master config file, had just put some config files in main.lua.d/, and that was it. Not so anymore.

- You can start by copying the example master config file from : /usr/share/wireplumber/wireplumber.conf
- then create the wireplumber.conf.d/ subdirectory. In which you can put additional config files.

Finally, here is my translation of the 51-disable-suspension.lua config translated for wireplumber 0.5+:

51-disable-suspension.conf

monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "~alsa_input.*"
      }
      {
        node.name = "~alsa_output.*"
      }
    ]
    actions = {
      update-props = {
        session.suspend-timeout-seconds = 0
      }
    }
  }
]

If that can help anyone save some time figuring out how to migrate.


Thanks a LOT for posting this, I just finally updated to Plasma 6 plus a bunch of other stuff that was outstanding, one of which was wireplumber , and had the 3 second pause return on audio restart, this saved me some head scratching to convert to the new format on a lazy Sunday afternoon !

Last edited by Urgentemente (2024-04-21 15:58:27)

Offline

Board footer

Powered by FluxBB