protonscr

Steam doesn't use pulseaudio network devices.

steamopen reviewedAudio
ValveSoftware/steam-for-linux#3402 · opened 2014-07-13 by Benguin · updated 2024-09-03 · 11 comments · github
BBenguin 2014-07-13 github

So.. I use a pulseaudio server that is hosted on another device in my LAN (for complicated reasons mostly unique to my circumstances.) And it works well with every other application I've tested (Firefox, Mumble, different media players.)

However, Steam games refuse to use the remote sound devices, even though that server and device is the default.

I understand that this probably isn't a common user scenario so I'm not expecting a fix but I was wondering if there's a way to make it work?

My setup is like this: a raspberry pi connected to my router runs the pulse server, and that pi has a USB headset plugged into it. The PC (running Arch Linux) then connects to that server.

Also, I tested it using a pair of cheap headphones plugged into the pc directly, and that works fine so it's not a case of missing dependencies or anything. I also tested a game that can run outside of steam (Hammerwatch,) and that works when not launched via steam.

BBenguin 2014-07-14 github

I got a controller today, so I thought I might try big picture mode. I was surprised, because sound was working fine in BPM, including games launched from it, but still no sound from games launched via the desktop client. However, I then went to test the music features, and that worked fine for a few minutes before the sound then cut out and the songs started "playing" (silently,) much more quickly, basically fast forwarding through them all.

Ddigitalcircuit 2014-08-24 github

Using the latest non-beta version of the Steam client, I have the same issue. On Ubuntu 14.04, I modified /etc/pulse/client.conf, set 'default-server = hostname', and no games that I tried had sound, e.g. Portal 2, even in Big Picture mode. Most other programs will play sounds properly (Firefox, Rhythmbox, Adobe Flash); Shatter (by Sidhe) does not.

As above, local sound works if I plug in a headset. I've got an old netbook set up on Ubuntu server 14.04, connected via Ethernet to my router along with my desktop, also wired.

I'm willing to help with any sort of testing needed.

BBenguin 2014-08-24 github

After fiddling with my pulse configs a bunch for non-steam-related reasons, I think this issue is with pulse, and not steam. If I launch Hammerwatch from within steam right now, the game works fine and sound works. Unfortunately, I didn't notice this early enough for me to remember exactly what configs changed, or what else it may've been.

This could still be steam and not pulseaudio, but my advice is to keep fiddling with it. Also, I'm using the pasystray panel applet to manage my sound stuff, as it lets you set which server is currently being used, and which device on that server etc, try using that.

Kkisak-valve maintainer 2018-03-02 github

Hello @Benguin, @digitalcircuit, are either of you still experiencing this issue on an up to date system?

BBenguin 2018-03-02 github

My setup is much different now, but I've just spun up a pulse server to test with, and it looks like this isn't a problem anymore, worked flawlessly with 3 different games.

Ddigitalcircuit 2018-03-03 github

Thank you for checking back! Unfortunately, I'm still experiencing this issue with the most recent Steam and an up-to-date Ubuntu 16.04 install.

Audio within the Steam client itself (e.g. store page trailers) works! Audio for games launched by Steam.. does not work. Microphone input doesn't work regardless according to the settings test page. Specifically, Steam does not appear to create any remote audio streams according to launching pavucontrol.

One workaround: launch a separate, local PulseAudio server, run Steam via PULSE_SERVER=localhost steam, then set this local PulseAudio server to stream to the remote one via source/sink. This seems to add more latency compared to direct network streaming.

Configuration

This is a recommended and supported way of streaming audio over the network as per the PulseAudio documentation wiki page on Network Streaming.

Desktop with Steam

/etc/pulse/client.conf

# [...]
# Edited by digitalcircuit: stream to the local netbook
default-server = hostname-goes-here.local # Local network instance of PulseAudio

NOTE: This is the default-server argument, not default-sink or default-source. Those function with Steam, but do not allow for controlling a remote PulseAudio instance in the way default-server does.

Server with PulseAudio

Packages: pulseaudio pulseaudio-module-zeroconf

/etc/pulse/default.pa

# [...]
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
# [...]
# Edited by digitalcircuit: allow only local network access to sound devices
# Original: auth-ip-acl=127.0.0.1;192.168.1.0/16
# New: don't specify anything, only allow .pulse-cookie authentication
load-module module-native-protocol-tcp
load-module module-zeroconf-publish
# [...]

Then run pulseaudio via a logged-in user, e.g.

pulseaudio --start --log-target=syslog --system=false

Versions

Desktop with Steam

  • Ubuntu 16.04.4 LTS (last updated: 2018-3-3)
    • pulseaudio and pulseaudio-module-zeroconf packages installed and working with all other applications (Firefox, Totem, Quassel, etc)
  • Steam
    • Built: Dec 15 2017, at 11:47:57
    • Steam API: v017
    • Steam package versions: 1513371133
  • Games tested (latest), not working
    • Don't Starve Together
    • Portal
    • Portal 2
    • Puddle
    • Terraria

Audio works within Steam, but not within Steam games. Microphone input doesn't appear to work at all.

Server with PulseAudio

  • Ubuntu 16.04.4 LTS (last updated: 2018-3-3)
    • pulseaudio and pulseaudio-module-zeroconf packages installed and audio is working locally and remotely with all other applications
Ggissf1 2024-07-10 github

I am using the same configuration - audio on my desktop is fed to another system over the network via pulseaudio. Audio works fine for most applications, and it used to work with Steam as well, but sometime within the last 2 years (I didn't track exactly when the issue started), a change was made and now Steam Desktop chooses to select my disconnected motherboard audio instead. I'm wondering how to configure Steam to use the intended network pulseaudio output? I'm running Manjaro Linux on x86_64.

BBackThrowTheBaguetteBrawler 2024-07-19 github

I had the exact same issue with ubuntu 22.04 using pulseaudio networking, if i recall correctly it has something to do with the steam-runtime

Wwsadza 2024-08-30 github

I noticed that when i add tcp before host - steam sound works correctly, proton games also are able to fetch pipewire-pulse module.

# NOT WORKING
PULSE_SERVER=pipewire-host:port
# WORKING
PULSE_SERVER=tcp:pipewire-host:port 

*Maybe it works only for me.

Ggissf1 2024-09-01 github

@utilizable - in which file are you changing that line? Or are you changing an environment variable before launch?

Wwsadza 2024-09-03 github

Exactly, i changed this variable for session from which i run steam.

PULSE_SERVER=tcp:pipewire-host:port steam

Nothing extracted yet.