# Pipewire. Disable suspend of sink

**URL:** <https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125>\
**Category:** Gaming, sound and video\
**Created:** [July 16, 2024, 5:55pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125 "2024-07-16T17:55:25Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![coladict](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/c/b9e5f3/32.png) [@coladict](https://forum.endeavouros.com/u/coladict)\
**Post date:** [July 16, 2024, 5:55pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/1 "2024-07-16T17:55:25Z")

</div>

I need some way to make the audio system NOT suspend the output. Here’s the output of `pactl list short sinks` when I have something running:

```auto
147 alsa_output.pci-0000_0a_00.1.hdmi-stereo PipeWire s32le 2ch 48000Hz RUNNING
148 alsa_output.pci-0000_0c_00.4.iec958-stereo PipeWire s32le 2ch 48000Hz SUSPENDED

```

This is it right when audio stops being used:

```auto
147 alsa_output.pci-0000_0a_00.1.hdmi-stereo PipeWire s32le 2ch 48000Hz IDLE
148 alsa_output.pci-0000_0c_00.4.iec958-stereo PipeWire s32le 2ch 48000Hz SUSPENDED

```

And here it is about 7 seconds later:

```auto
147 alsa_output.pci-0000_0a_00.1.hdmi-stereo PipeWire s32le 2ch 48000Hz SUSPENDED
148 alsa_output.pci-0000_0c_00.4.iec958-stereo PipeWire s32le 2ch 48000Hz SUSPENDED

```

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.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [July 16, 2024, 5:59pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/2 "2024-07-16T17:59:30Z")

</div>

> Why?  
> 💬

🤓

PS. me sending some crypto your way 🤪

---

<div class="post-metadata">

**Author:** ![z580c](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/z580c/32/98828_2.png) [@z580c](https://forum.endeavouros.com/u/z580c)\
**Post date:** [July 16, 2024, 7:05pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/3 "2024-07-16T19:05:38Z")

</div>

I think “why” is a fair question sometimes since a deeper understanding of the actual issue being experienced may help to furnish a fuller solution.

There are many ways to skin a cat, as they say 😄

---

<div class="post-metadata">

**Author:** ![coladict](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/c/b9e5f3/32.png) [@coladict](https://forum.endeavouros.com/u/coladict)\
**Post date:** [July 16, 2024, 7:37pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/4 "2024-07-16T19:37:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![z580c](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/z580c/32/98828_2.png) [@z580c](https://forum.endeavouros.com/u/z580c)\
**Post date:** [July 16, 2024, 8:10pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/5 "2024-07-16T20:10:16Z")

</div>

That does sound frustrating!

Assuming you’re using wireplumber alongside pipewire, you may want to try editing suspend-node.lua in /usr/share/wireplumber/scripts/node -

```auto
    -- 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?

---

<div class="post-metadata">

**Author:** ![yhcheng888](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/y/ba8739/32.png) [@yhcheng888](https://forum.endeavouros.com/u/yhcheng888)\
**Post date:** [July 17, 2024, 9:16am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/6 "2024-07-17T09:16:10Z")

</div>

edit and change ~/.config/pipewire/pipewire-pulse.conf to have the next line  
pulse.idle.timeout = 0 # pause after 5 seconds of underrun

edit and change ~/.config/wireplumber/wireplumber.conf.d/51-disable-suspension-xx1.conf (give youyr own name) to have the following settings:

monitor.alsa.rules = [

{  
matches = [  
{  
## Matches all sources.  
node.name = “alsa\_input._"  
node.name = "alsa\_output._”  
}  
]  
actions = {  
update-props = {  
## 0 disables suspend  
api.alsa.use-chmap = false  
api.alsa.headroom = 16384  
session.suspend-timeout-seconds = 0  
}  
}  
}

{  
matches = [  
{  
node.name = “alsa\_output.pci-0000\_00\_1f.3.hdmi-surround71”  
}  
{  
node.name = “alsa\_output.usb-GeneralPlus\_USB\_Audio\_Device-00.analog-stereo”  
}  
]  
actions = {  
update-props = {  
session.suspend-timeout-seconds = 0  
}  
}  
}

]

If you do your own equalizers in ~/.config/pipewire/pipewire.conf, then these sinks should also be  
disabled suspend function.

```
    node.name = "Lv2_EQ16-Rock_input"
    node.name = "Lv2_EQ16-Ska_input"
    node.name = "Lv2_EQ16-Soft_input"
    node.name = "Lv2_EQ16-Techno_input"
    node.name = "Lv2_EQ16-Highno_input"
    node.name = "surround-Lad_input"
    node.name = "surround-lv2_input"
    node.name = "Reverb_input"
    node.name = "Reverb_Delay_input"
    node.name = "Lv2_Airwindow-tube2_input"
    node.name = "Lv2_Airwindow-drumslam_input"
    node.name = "Lv2_Airwindow-purestdrive_input"
    node.name = "Lv2_Airwindow-slew_input"
    node.name = "Lv2_Airwindow-srsly2_input"
    node.name = "Lv2_Airwindow-spiral_input"

```

---

<div class="post-metadata">

**Author:** ![coladict](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/c/b9e5f3/32.png) [@coladict](https://forum.endeavouros.com/u/coladict)\
**Post date:** [July 17, 2024, 11:46am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/7 "2024-07-17T11:46:13Z")

</div>

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.

 ![Screenshot_20240717_144233](https://forum.endeavouros.com/uploads/default/original/3X/c/b/cb3e60b4e48af3eb5fada7f4a11e29f4e2c65294.png)

Ran

```auto
systemctl --user restart pipewire wireplumber

```

and now I have sound working all the time!

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.

---

<div class="post-metadata">

**Author:** ![z580c](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/z580c/32/98828_2.png) [@z580c](https://forum.endeavouros.com/u/z580c)\
**Post date:** [July 17, 2024, 11:51am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/8 "2024-07-17T11:51:18Z")

</div>

Congratulations! I’m just glad you got there haha 😆

---

<div class="post-metadata">

**Author:** ![coladict](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/c/b9e5f3/32.png) [@coladict](https://forum.endeavouros.com/u/coladict)\
**Post date:** [July 17, 2024, 12:08pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/9 "2024-07-17T12:08:42Z")

</div>

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”.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [July 17, 2024, 12:21pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/10 "2024-07-17T12:21:43Z")

</div>

> [@coladict](#):
>
> 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](https://wiki.archlinux.org/title/Getting_involved) and contribute to the distribution. Reporting and helping fix [bugs](https://gitlab.archlinux.org/groups/archlinux/packaging/-/issues) is highly valued and patches improving packages or the core [projects](https://gitlab.archlinux.org/) 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](https://wiki.archlinux.org/title/Arch_User_Repository), improve the [ArchWiki documentation](https://wiki.archlinux.org/title/Main_page), provide technical assistance to others or just exchange opinions in the [forums](https://bbs.archlinux.org/), [mailing lists](https://lists.archlinux.org/mailman3/lists/), or [IRC channels](https://wiki.archlinux.org/title/IRC_channels). Arch Linux is the operating system of choice for many people around the globe, and there exist several [international communities](https://wiki.archlinux.org/title/International_communities) that offer help and provide documentation in many different languages.
> 
> [source](https://wiki.archlinux.org/title/Arch_Linux#)

> […] 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.
> 
> [https://endeavouros.com/about-us/](https://endeavouros.com/about-us/)

With that out of the way, welcome to the community @coladict ! Hope you enjoy your system and your time here!

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [July 17, 2024, 3:17pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/11 "2024-07-17T15:17:07Z")

</div>

> [@coladict](#):
>
> If I was your average user, this would just mean I’m stuck with Windows as my only option.

Most of us are just average users. 😏

---

<div class="post-metadata">

**Author:** ![fred666](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/f/f17d59/32.png) [@fred666](https://forum.endeavouros.com/u/fred666)\
**Post date:** [July 17, 2024, 3:48pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/12 "2024-07-17T15:48:25Z")

</div>

Late to the party but this could have been a simple solution:

edit /usr/share/pipewire/media-session.d/media-session.conf  
Comment (#) out this line: suspend-node

---

<div class="post-metadata">

**Author:** ![coladict](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/c/b9e5f3/32.png) [@coladict](https://forum.endeavouros.com/u/coladict)\
**Post date:** [July 17, 2024, 4:52pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/13 "2024-07-17T16:52:31Z")

</div>

> 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.

---

<div class="post-metadata">

**Author:** ![fred666](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/f/f17d59/32.png) [@fred666](https://forum.endeavouros.com/u/fred666)\
**Post date:** [July 17, 2024, 5:07pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/14 "2024-07-17T17:07:35Z")

</div>

Mm that might been changed, i haven’t used this in a while

---

<div class="post-metadata">

**Author:** ![z580c](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/z580c/32/98828_2.png) [@z580c](https://forum.endeavouros.com/u/z580c)\
**Post date:** [July 17, 2024, 5:18pm UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/15 "2024-07-17T17:18:22Z")

</div>

I concur with coladict here, my system is largely stock EOS so I just had a look for curiosity’s sakes and I also have no such .conf file 🙂

But alongside that, I must also echo pebcak’s comments. How does that famous speech go again?

“We choose to ~~go to the moon~~ install and maintain Linux distros, not because it is easy, but because it is hard.”

---

<div class="post-metadata">

**Author:** ![dreadnought](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/d/8edcca/32.png) [@dreadnought](https://forum.endeavouros.com/u/dreadnought)\
**Post date:** [July 18, 2024, 7:40am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/16 "2024-07-18T07:40:51Z")

</div>

> [@coladict](#):
>
> There’s nothing to comment out, because it doesn’t exist.

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/

---

<div class="post-metadata">

**Author:** ![fred666](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/f/f17d59/32.png) [@fred666](https://forum.endeavouros.com/u/fred666)\
**Post date:** [July 18, 2024, 7:55am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/17 "2024-07-18T07:55:34Z")

</div>

Ah that makes sense indeed!  
Thanks

---

<div class="post-metadata">

**Author:** ![system](https://forum.endeavouros.com/uploads/default/original/2X/9/9ea52f9fd5ef8e609e593c362d61a36295f48be8.png) [@system](https://forum.endeavouros.com/u/system)\
**Post date:** [July 20, 2024, 7:56am UTC](https://forum.endeavouros.com/t/pipewire-disable-suspend-of-sink/58125/18 "2024-07-20T07:56:31Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
