How can I make it never suspend on idle?
Already added node.suspend-on-idle = false in the stream.properties of /usr/share/pipewire/client.conf to no effect.
This is my primary reason I can’t use Linux on my daily browsing, not even considering gaming. Previously on Ubuntu I also tried the answers people gave for PulseAudio since it used that, and that also didn’t work.
Do not ask stupid questions like “why” unless you’re willing to buy me a replacement 43-inch TV-monitor.
Because my monitor has a 5 second initialization for the sound. This start-stop behavior not just robs me of the sound, but also triggers an annoying overlay on the screen. I have never had this problem under Windows, but it makes Linux unusable due to frustration.
Assuming you’re using wireplumber alongside pipewire, you may want to try editing suspend-node.lua in /usr/share/wireplumber/scripts/node -
-- Add a timeout source if idle for at least 5 seconds
if new_state == "idle" or new_state == "error" then
-- honor "session.suspend-timeout-seconds" if specified
local timeout =
tonumber(node.properties["session.suspend-timeout-seconds"]) or 5
if timeout == 0 then
return
end
Change the 5 to 0, then restart the service and see if the issue persists?
Neither of these worked, even though I replaced the node.name with the one from my listing.
However you did point me to look in the wireplubmer config, and I found something that worked.
I edited /usr/share/wireplumber/wireplumber.conf
commented out the loading of the suspend-node.lua script, and removed it from the “wants” of “policy.node” a few rows below.
The dumbest thing I learned here when I went in the source code before the replies is that they’re calling the output a “source”, and the input a “sink”. Their “source” is literally the opposite of a source! It’s a target/destination.
The frustrating thing is that as a user, I shouldn’t have to know any of these words: pipewire, pulseaudio, wireplumber.
If I was your average user, this would just mean I’m stuck with Windows as my only option. Normal people won’t even know to look for this. The most concise description they could give is “audio turning off after 5 seconds”.
Perhaps you have wrong expectations of the distro you have chosen to use and that is the reason for your frustration?
Archlinux and by extension EndeavourOS are Do It Yourself distros:
Whereas many GNU/Linux distributions attempt to be more user-friendly, Arch Linux has always been, and shall always remain user-centric. The distribution is intended to fill the needs of those contributing to it, rather than trying to appeal to as many users as possible. It is targeted at the proficient GNU/Linux user, or anyone with a do-it-yourself attitude who is willing to read the documentation, and solve their own problems.
All users are encouraged to participate and contribute to the distribution. Reporting and helping fix bugs is highly valued and patches improving packages or the core projects are very appreciated: Arch’s developers are volunteers and active contributors will often find themselves becoming part of that team. Archers can freely contribute packages to the Arch User Repository, improve the ArchWiki documentation, provide technical assistance to others or just exchange opinions in the forums, mailing lists, or IRC channels. Arch Linux is the operating system of choice for many people around the globe, and there exist several international communities that offer help and provide documentation in many different languages.
[…] we are aiming for a Linux user with an intermediate level of knowledge who likes to handle a system that needs hands-on customization from the get-go, with the help of our main standout feature: Our vibrant and friendly community.
Perhaps you have wrong expectations of the distro you have chosen to use and that is the reason for your frustration?
It’s the same with every distro! I couldn’t get it fixed under Ubuntu - the “user-friendly” distro, which used PulseAudio, and I doubt this is at all distro-dependent.
edit /usr/share/pipewire/media-session.d/media-session.conf
Comment (#) out this line: suspend-node
There’s nothing to comment out, because it doesn’t exist. This is the out-of-the-box experience.
It doesn´t exist because EOS uses wireplumber and not pipewire-media-session as session manager.
The file to be edited is not below /usr but in ~/.config/wireplumber/main.lua.d/