New comment by cinerea0 on void-packages repository https://github.com/void-linux/void-packages/pull/46960#issuecomment-1817640035 Comment: I tested this PR on pipewire version 0.3.84 with the conditional execution statements included. Unfortunately, conditional execution does not work the way I thought it did. If wireplumber is started in a file in `/usr/share/pipewire/pipewire.conf.d` and in another file/link in a different priority directory two instances of wireplumber will start, even with the conditional statements. The mechanics of how those work aren't especially well documented. Given this section in the man page for `pipewire.conf`: > Array of dictionaries. Each entry in the array is dictionary > containing the path of a program to execute on startup and > optional args. > > This array used to contain an entry to start the session manager > but this mode of operation has since been demoted to development > aid. Avoid starting a session manager in this way in production > environment. I don't think this behavior would be supported by upstream. However, given the persistent confusion around pipewire I would still support automatically starting wireplumber with the alternatives line and breaking the link, since that does work. Also, since `/usr/share/pipewire/pipewire.conf.avail` already contains `10-rates.conf` and `20-upmix.conf`, should we consider changing the number prefixes for the files this PR would move to that directory?