Bug#1103621: pipewire client config not applied

David Mandelberg david at mandelberg.org
Sat Apr 19 19:07:47 BST 2025


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.



More information about the Pkg-games-devel mailing list