Package: warzone2100
Version: 4.5.5deb-1

My ~/.config/pipewire/client-rt.conf.d/20-defaults.conf has this, which should set node.loudness = -18 on warzone2100.real:

stream.rules = [
  # TODO: don't override node.loudness if the application set it?
  {
    matches = [{media.class = Stream/Output/Audio}]
    actions = {update-props = {node.loudness = -18}}
  }
  {
    matches = [
      {media.class = Stream/Output/Audio, application.name = "Quod Libet"}
    ]
    actions = {update-props = {node.loudness = -30}}
  }
]

However, `pw-dump warzone2100.real | grep loudness` does not show anything.

Looking at /usr/games/warzone2100, I'm guessing that warzone2100.real can't read ~/.config/pipewire/client-rt.conf.d/20-defaults.conf because there's no bind mount for it? From https://manpages.debian.org/unstable/pipewire-bin/pipewire-client.conf.5.en.html it looks like all the paths are bind mounted except for $XDG_CONFIG_HOME/pipewire. (I think it makes more sense to bind the entire user pipewire config dir instead of just client-rt.conf and client-rt.conf.d? libopenal1 could reasonably choose to use a different client config like client.conf instead of client-rt.conf, and I'm not sure anything in ~/.config/pipewire is too sensitive.)

I didn't test this, but it also looks like libopenal1's config files ~/.config/alsoft.conf and ~/.alsoftrc aren't bind mounted, which I'm guessing would prevent those from working for warzone2100 too.

Reply via email to