Pipewire files not found. (/etc/pipewire/media-session.d/)

Hi,

As per the Arch Wiki:

Noticeable audio delay when starting playback

This is caused by node suspension when inactive. It can be disabled by editing /etc/pipewire/media-session.d/*-monitor.conf depending on where the delay occurs and changing property session.suspend-timeout-seconds to 0 to disable or to experiment with other values and see what works. Alternatively you can comment out the line suspend-node in /etc/pipewire/media-session.d/media-session.conf. Restart both the pipewire and pipewire-pulse systemd services to apply these changes, or alternatively reboot.

My problem, as per the title, is that these files are not in /etc/ or even in /usr/share/pipewire/media-session.d

I have seached through the .conf files in /usr/share/pipewire but was unable to find anything matching what the wiki refers to.

How would I go about making these config changes?

Thanks in advance for any help.

Wireguard. Check out wireguard.

1 Like

I think you meant WirePlumber. Had a quick scan through this. But think I'll need to read through it a bit more slowly when I have some time.

Thanks for the lead, I appreciate it!

1 Like

Did you try creating the files and entering the lines as advised (then restarting the service(s) or rebooting)?

Can always remove them again if it doesn't work. Not too uncommon for standard settings to be within the software and only overridden when config files exist, for the settings defined within.

Thanks for your response.

To elaborate, I don't have a /etc/pipewire directory, I believe this is because it is being handled by wireplumber as per c00ter's response earlier.

I haven't had time to read up on wireplumber yet.

So with that in mind, I can't create the first file "*-monitor.conf", because I don't know what the wildcard would represent.

Also I can't comment out the line in the second file "media-sessions.conf" because it doesn't exist.

Well, in /usr/share/pipewire/pipewire.conf there are these lines at the top.
I also do not have /etc/pipewire/ existing presently.

# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.

Maybe that'll help :woman_shrugging: GL :+1:

LOL, yes. Sorry for the confusion.

1 Like

Think I found a solution to my problem. Little bit of detail in case someone else needs to do the same.

Issue: Distortion, or delay when starting playback over S/PDIF

Cause: S/PDIF gets disabled on idle, causing the DAC to either distort or mute for a little bit when receiving a signal again.

Solution with Wireplumber:

  • Edit /usr/share/wireplumber/main.lua.d/90-enable-all.lua
  • Comment out line 19: load_script("suspend-node.lua")
  • Reboot or Restart services
2 Likes

Damnit I'd even glanced at those and dismissed.
An alternative to commenting out the line, could extend the timeout from 3 seconds by editing the entry @ line 32 (on mine)

      -- honor "session.suspend-timeout-seconds" if specified
      local timeout =
          tonumber(node.properties["session.suspend-timeout-seconds"]) or 3

in /usr/share/wireplumber/scripts/suspend-node.lua

to desired length of time (I've just edited 3 to 300 for 5 minutes).

The reason you might want to maintain a timeout is to allow connected equipment to enter sleep-mode, potentially saving power and/or reducing any static that might occur.

Thanks for sharing Demonic, that had been a minor irritation for me.

3 Likes

Thanks so much for this! My solution was a bit of a sledgehammer, but this is much more precise. Now I can set mine to match the screen.

1 Like

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