I agree, if you install and never do anything with it it will usually work. But that isn't very high bar for usability. What about people who actually use their machines for anything else than just browsing Internets? I had people break it even in this relatively simple case.
I'll give you an example. I am using an external DAC (connected over Toslink). It starts up automatically when it detects digital audio signal and shuts down when the signal stops. Unfortunately, the startup sequence takes couple of seconds (it has a delay of 2s and then slowly increases the volume over 4s, can't be configured).
So in the default configuration, PipeWire insists to turn off the audio whenever there is no client to play anything for more than X seconds.
This is super annoying, every time you try to play youtube video after going to kitchen for coffee you are loosing first couple of seconds of audio.
This can be changed (remove a module that causes automatic suspend), but over last couple of years I had to redo this configuration at least 5-6 times after various PipeWire upgrades because PipeWire developers don't give a shit about user configuration and are happy to override it or in fact do some stupid things like move it from /etc to /usr/share so you are left guessing why your config files no longer do what they were supposed to do.
ArchWiki is a well-known recommendation to every newbie who has technical needs.
Quote:
"PulseAudio will first look for configuration files in the home directory ~/.config/pulse/, and if they are not found, the system-wide configuration from /etc/pulse/ will be applied.
Tip:
It is strongly suggested not to edit system-wide configuration files, but rather edit user ones. Create the ~/.config/pulse directory, then copy the system configuration files into it and edit according to your need.
Make sure you keep user configuration in sync with changes to the packaged files in /etc/pulse/. Otherwise, PulseAudio may refuse to start due to configuration errors."
"[...]or by creating a new file that includes it with the syntax .include /etc/pulse/name. For simple changes the latter is preferred because the user will not be required to update the file when system-wide defaults change."
So this particular example is moot unless PA somehow disregards the /home config and loads its system-wide config anyway or does some weird overrides. Any details or other examples?
I normally don't edit the text substantially after somebody responds but this time I corrected Pulse to PipeWire not to slander Pulse developers for no reason.
Eh, maybe this behavior was changed, but PipeWire works in the same way ATM:
"The PipeWire configuration template file is located in /usr/share/pipewire/pipewire.conf. You can copy and edit the file to /etc/pipewire/ or ~/.config/pipewire/pipewire.conf.
Since 0.3.45 you can also copy fragments of the config file to a file in the directories /usr/share/pipewire/pipewire.conf.d/, /etc/pipewire/pipewire.conf.d/ or ~/.config/pipewire/pipewire.conf.d/."
TBH, while this is a common pattern across Linux applications, the thought to look for override location in the /home folder comes solely from experience and I am not aware of any place suggesting it. I tend to treat all of root as if it was an immutable file system that is a hassle to edit manually. Saves a lot of headache.
I'll give you an example. I am using an external DAC (connected over Toslink). It starts up automatically when it detects digital audio signal and shuts down when the signal stops. Unfortunately, the startup sequence takes couple of seconds (it has a delay of 2s and then slowly increases the volume over 4s, can't be configured).
So in the default configuration, PipeWire insists to turn off the audio whenever there is no client to play anything for more than X seconds.
This is super annoying, every time you try to play youtube video after going to kitchen for coffee you are loosing first couple of seconds of audio.
This can be changed (remove a module that causes automatic suspend), but over last couple of years I had to redo this configuration at least 5-6 times after various PipeWire upgrades because PipeWire developers don't give a shit about user configuration and are happy to override it or in fact do some stupid things like move it from /etc to /usr/share so you are left guessing why your config files no longer do what they were supposed to do.