protonscr

Steam Remote Play plays sound on both the client and the host, when the "Play sound on host" option is disabled.

steamopen AudioStreaming
ValveSoftware/steam-for-linux#6512 · opened 2019-09-19 by baatochan · updated 2026-08-23 · 57 comments · github
Bbaatochan 2019-09-19 github

Your system information

  • Steam client version (build number or date): steam-manjaro 1.0.0.61-5 (23 August 2019)
  • Distribution (e.g. Ubuntu): Manjaro
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

So the problem looks like Steam on Manjaro can't or don't create a fake output device. It plays the sound on one of the existing ones (you're lucky if it's not used). The situation looks like (when the chosen output is used) the sound is played on normal output and in fact the sound is played on normal speakers and remote TV speakers (the checkbox in settings to leave a sound on the host pc is unchecked).

The only workaround as for now is to leave sound on that output set to 1% because it's barely heard then and on TV speakers everything stays fine (you can't mute the output however because then the stream audio is muted as well).

I can confirm that this bug can be reproduced on 3 manjaro running PCs, while on one linux mint PC everything is fine and the fake output is getting created.

Steps for reproducing this issue:

  1. Install Steam on Manjaro
  2. Connect from Steam Link
  3. Try to play any audio on Manjaro PC
Bbaatochan 2019-09-19 github

I'm pretty sure that this reddit post is about that problem (it's not mine post): https://www.reddit.com/r/Steam_Link/comments/c1krmv/steam_link_on_manjaro_audio_issue/

Uu83rmensch 2019-12-21 github

I dont suppose there has been any progress on this issue? I too have the same problem across different distros. audio plays on host and client (in this case steam link (and app) from Pop_Os/Manjaro

?ghost 2020-01-04 github

Chiming in to say I have the same issue on two separate manjaro installs.

Aatylmo 2020-01-07 github

I have this problem with Ubuntu, although I think my cause is a little different. I'm connecting from Ubuntu to Windows, and the audio will play on both or only the host. I found a little workaround by disabling the HDMI audio out on Windows but then I have no sound otherwise (when not streaming) because that's how my speakers are connected. I guess in my case it's not specifically related to Linux.

Not all games have issues, but two that do are Sega Mega Drive/Genesis Classics Collection and Atari Vault. On those I get sound only on the host (Windows) unless I disable HDMI audio. The Steam Link app doesn't have this issue and mutes the host correctly.

Ddevonallie 2020-02-13 github

Same issue on Pop_OS 19.10

UUndeadKernel 2020-02-26 github

Experiencing the same problem using Arch.
I tried copying the Pulseaudio configuration used in SteamOs into my Arch installation and I was still not able to fix the problem.

Has anybody being able to test if this issue is also there in SteamOs?

AArtemSmaznov 2020-03-20 github

I have the same problem when hosting Steam on any of my Arch installs (Vanilla Arch and Manjaro) - sound is played on Host when streaming via Steam Link or from another PC with steam on in. Corresponding checkbox is off.
My workaround is to mute all sounds on Host machine before I try Streaming

Aatylmo 2020-03-24 github

Another game I'm having this issue with is DiRT Rally 2.0. I'm streaming from my Windows 10 PC to Ubuntu 19.10 and the sound only plays on the Windows side.

Edit: Changing the client streaming quality to "Beautiful" makes it work.

Edit 2: Actually, changing the client quality setting to anything else seems to reset the audio to make it work. You can then change it back and it will still work. I should add that the host is connected to a KVM switch so that might throw a wrench into things.

Jjoeknock90 2020-03-27 github

Same issue Arch to Arch and Arch to Steam Link. Audio plays on host no matter what. Changing streaming quality did not do anything for me.

LLarnuUK 2020-05-31 github

Having the issue as well. "Play audio on Host" is not enabled (in fact, turning it on and off does absolutely nothing, it's a pointless button) and yet the host still plays the sound. I shouldn't have to go into the room the host is in and plug a set of headphones in to spot hearing the game noise in the distant background.

Ggamerminstrel 2020-06-19 github

I am on a vanilla install of Ubuntu 20.04 and am experiencing this issue as well. Play Audio on Host is unchecked, but streaming to any other device outputs sound from both the client and the host devices.

Pparkerlreed 2020-06-29 github

Same here. Arch to Steam Link hardware/application. Never mutes host. Been an issue for as long as I can remember.

Ggreen3g 2020-07-10 github

My issue is similar - audio plays on the host but not on the client (which I have an android nvidia shield). Anyone have tips to getting the audio to play to the shield at least? I can manually turn down my monitor on the host.
Host: Manjaro
Kernel: 5.7.0.3-MANJARO

Update: July 13 - its working now. I didn't necessarily change anything obvious but maybe an update triggered it to work .

Ppingubot 2021-01-15 github

Same happens for me on Opensuse Tumbleweed

DDeviceLimit 2021-07-24 github

Encountering this issue on EndeavorOS (Arch based) with kernel 5.13.
Play Audio on Host is unchecked but still audio comes from the host

Ccontentfree 2021-08-05 github

Same issue on macOS Mojave.

Ssunsetrain 2021-08-07 github

Same. Windows 10 pro >>> Ubuntu 21.04 LTS

Ggoffy59 2021-08-07 github

Streaming from Linux Host to Steam Link on PopOS 21.04. I had the same issue. My build in speaker on my desktop was playing and so was my steam link/hdmi. Found a possible fix for this. I went to settings on my steam link and re ran the audio wizard. I changed the outpour from the built in speaker to the built in output (not headset or speaker). I’m thinking either the wizard just needed to be ran or in my case I had to switch the output device since by putting it on built in line out there is no speaker attached. So now all the sound comes through my steam link and works great. Not sure if this can help everyone but I hope it helps some people and please let me know if you want clarification. I wrote this on my phone so I apologize for any miss spellings or confusion.

Ppratith 2021-09-13 github

It has been what two years now since this issue has been reported? Valve could easily fix this but don't seem to be interested to, so here is my workaround that I confirmed works with my Steam Link hardware and Manjaro and Pop OS.

NOTE:
This automatically mutes the Linux host when you start remote play, but you have to manually restore audio on the host after you stop remote play. More details below. For this workaround, you need to have pulseaudio, pacmd and perl installed.

First, we need to add a null sink to redirect all the audio streams to. So add this line in /etc/pulse/default.pa for system wide or ~/.config/pulse/default.pa for per user settings, and reboot:

load-module module-null-sink sink_name=steamNullSink sink_properties="device.description='Steam Null Sink'"

Second, I had problems with some apps switching active audio streams to a different sink on the fly, so create a file ~/.alsoftrc with the following content to fix that:

[pulse]
allow-moves=yes

Next, create a directory to place all the scripts we are going to create. I placed them in /home/<your-username>/workspace/steam-null-sink.

switch-sink.sh:

This script takes in a sink name as an argument and sets it as the default sink, switches all the applications' audio streams to redirect to the specified sink, and then makes Steam's recorder to monitor this sink.

#!/usr/bin/env bash

case "${1:-}" in
  (""|list)
    pacmd list-sinks |
      grep -E 'index:|name:'
    ;;
  ([a-zA-Z0-9_.-]*)
    echo switching default
    pacmd set-default-sink $1 ||
      echo failed
    echo switching applications
    pacmd list-sink-inputs |
      awk '/index:/{print $2}' |
      xargs -r -I{} pacmd move-sink-input {} $1 ||
        echo failed
    echo switching steam recorder to monitor this source
    pacmd list-source-outputs |
      tr '\n' '\r' |
      perl -pe 's/.*? *index: ([0-9]+).+?application\.process\.binary = "([^\r]+)"\r.+?(?=index:|$)/\2:\1\r/g' |
      tr '\r' '\n'|
      awk -F ":" '/steam/ {print $2}'|
      xargs -r -I{} pacmd move-source-output {} $1.monitor ||
        echo failed
    ;;
  (*)
    echo "Usage: $0 [|list|<sink name to switch to>]"
    ;;
esac

steam-remote-play-monitor-start.sh:

This script monitors Steam's streaming log to check if remote play to Steam Link hardware has started, backs up the current audio device (sink) so that we can restore it later after remote play is stopped, and automatically switches the sink to the null sink we created in the first step using switch-sink.sh!

Now, change STEAMNULLSINK_HOME, STEAM_HOME according to what you are using, change $STEAM_HOME/steam/logs/streaming_log.txt to $STEAM_HOME/debian-installation/logs/streaming_log.txt for Pop OS, and you may have to change the search string "Streaming started to Steam Link" to something else if you aren't using Steam Link hardware like me, not sure.

#!/usr/bin/env bash

export XDG_RUNTIME_DIR="/run/user/$(id -u)"

USERNAME=$(whoami)
STEAMNULLSINK_HOME="/home/$USERNAME/workspace/steam-null-sink"
STEAM_HOME="/home/$USERNAME/.steam"

tail -n 0 -F $STEAM_HOME/steam/logs/streaming_log.txt |
grep --line-buffered 'Streaming started to Steam Link' |
while read; do DEFAULT_SINK=$(pacmd info |  awk -F ":" '/Default sink name:/ {print $2}'); if [[ $DEFAULT_SINK != " steamNullSink" ]]; then echo "$DEFAULT_SINK" > $STEAMNULLSINK_HOME/default-sink.backup; fi; $STEAMNULLSINK_HOME/switch-sink.sh steamNullSink; done

switch-to-default-sink.desktop:

Unfortunately, I couldn't find a way to automatically switch the audio sink back to the original one after stopping remote play on Steam Link. I couldn't find anything in Steam's logs that indicates that remote play has stopped. So I created this desktop shortcut and pinned it to my taskbar so that I can switch back to the original audio sink with just a click. Change all paths again as necessary.

[Desktop Entry]
Version=1.0
Exec=sh -c 'USERNAME=$(whoami); STEAMNULLSINK_HOME="/home/$USERNAME/workspace/steam-null-sink"; DEFAULT_SINK=$(cat $STEAMNULLSINK_HOME/default-sink.backup); $STEAMNULLSINK_HOME/switch-sink.sh $DEFAULT_SINK'
Name=Switch To Default Audio Sink
GenericName=Script
Path=/home/<your-username>/workspace/steam-null-sink
Icon=speaker-icon.jpg
Encoding=UTF-8
Terminal=false
Type=Application
Categories=Utilities;

Give executable permission to all these scripts we have created:

sudo chmod +x steam-remote-play-monitor-start.sh
sudo chmod +x switch-sink.sh
sudo chmod +x switch-to-default-sink.desktop

Finally, schedule cron job to start steam-remote-play-monitor-start.sh automatically at boot:
crontab -e
Then paste this line in the file, save and reboot:
@reboot /home/<your-username>/workspace/steam-null-sink/steam-remote-play-monitor-start.sh

Hope this helps others as well.

JJ-Rios 2021-12-18 github

This issue hit me too...

SO:

$ uname -a

Linux USER-HOSTNAME 5.11.0-43-generic [#47](/issue/ValveSoftware/steam-for-linux/47)~20.04.2-Ubuntu SMP Mon Dec 13 11:06:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Steam client application:

Built: Dec 16 2021, at 22:39:26
Steam API: v020
Steam package version: 1639697812
Ssontarin 2022-02-12 github

I'm seeing this issue as well on Fedora 35:

[user@host01 ~]$ uname -a Linux host01 5.16.7-200.fc35.x86_64 #1 SMP PREEMPT Sun Feb 6 19:53:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Built: Jan 16 2022, at 17:34:49 Steam API: v020 Steam package version: 1642451672

Aazlekayn 2022-03-16 github

Seeing the same issue on Endeavor OS

5.16.14-arch1-1

Ddusankx 2022-08-31 github

Same issue on Steam Deck.

YYourHuckleberry 2022-09-18 github

Same issue.

CCKWarner 2022-09-21 github

Potentially relevant detail from #8810 : using the volume buttons on a Steam Deck client gets passed through to the host to affect its volume settings (volume notification pops up on the host).

SStephenWetzel 2022-09-23 github

I have this problem too, I came up with my own hacky work around, inspired by https://github.com/ValveSoftware/steam-for-linux/issues/6512#issuecomment-917795983 above. Mine is much simpler and may break at any moment.

I just ran ps aux before and during Steam streaming and looked for any new processes. The only new one I found was called steam_monitor. I confirmed that does not show up for me when playing a Steam game directly on my PC. If this breaks, then I may try parsing the logs like @pratith did above.

Then I wrote a shell script that looks for that process and then sets the volume to 10% if it sees it. That's it. You have to set to volume back up later when you are on your PC. 10% was low enough for me, but of course you can choose whatever you want, including 0%. I have the name of the process as an argument you pass into the script so that it's easier to change if that process gets renamed. I just run the script every minute with cron.

I use KDE with PulseAudio, if you use something else you may have to change the pactl command.

#!/bin/sh

# run in cron with:
# * * * * * ~/bin/steam_link_sound.sh steam_monitor >> ~/logs/steam_link_sound.log 2>&1

# ps aux lists all processes
# grep -v grep removes the grep command from that list
# grep -v `basename $0` remove this shell script from that list
# grep -c $1 gets the count of processes that match whatever was passed in as an argument when running this shell script
running=$(ps aux | grep -v grep | grep -v `basename $0` | grep -c $1)

# echo $running

if [ $running -ne 0 ]; then
  # if any processes were found, then set the volume level to 10%
  pactl set-sink-volume @DEFAULT_SINK@ 10%
fi
Aallstar87 2022-10-10 github

Same thing on Mint Cinnamon. I'm guessing this just won't get addressed?

Jjeffshee 2022-10-28 github

Same issue on Fedora 36

Jjoshsheedy 2022-11-09 github

Same issue on Ubuntu 22.04

Iirfanhakim-as 2022-11-28 github

Same issue on EndeavourOS (6.0.9-arch1-1)

CCKWarner 2022-12-11 github

Along with this issue and #6749 and doing inappropriate things with the audio stream, if there is audio playing on the host (such as a YouTube video, say) that audio also gets passed through to the remote stream. This is not correct behaviour. The Remote Play audio should only be audio from the game that's being played, and only needs to be synchronised to the game and the video stream. There shouldn't be other audio mixed in, and it shouldn't output to the host unless that is additionally requested as a separate audio output.

Ggongtao0607 2023-05-11 github

Same issue on Arch (6.3.1-arch2-1) and Steam Deck on year 2023.

Dddulic 2023-08-04 github

I ended up solving this by using an HDMI/DP Dummy Plug and switching to that display via https://github.com/phillipberndt/autorandr when using Remote Play.

Jjoeknock90 2024-04-21 github

It's been almost 4.5 years since this issue has been reported. It doesn't seem like this would be that difficult to fix.

Moonlight seems to handle this entire situation by loading a null sink and switching audio over to it based on configurable settings.

It would be even pretty easy to write a bash script to this. It would be a nice feature to allow for a script to be run on the host when starting stream. Unfortunately to emulate that we need to use hacky cron jobs to accomplish that. I digress.

I would love to take a crack at fixing this myself, but unfortunately that's not the nature of closed source software.

I hope this doesn't come off as rude. Is there any progress on this? Is there some sort of blocker stopping what seems like it should be just a few lines of bash? We've fortunately seen some much needed improvements to Remote Play in the last few months which I am thankful for, but the feature still leaves much to be desired, and still feels somewhat ignored for Linux hosts.

Ccammelspit 2024-06-12 github

This issue is obviously a bug and is a massive inconvenience for me. Proton makes Linux usable for day to day gaming but this issue really hampers usability for a lot of people. I am disabled and do much of my gaming in my bedroom but my gaming PC is an Arch VM running on my server, I know it's niche but there are a lot of reasons people user Remote Play daily. For now I have to use the Link to mute audio manually before loading up a game directly through Steam. The jump scare for my wife or son when the sound system in the living room pops on with a game intro without warning is just a normal thing right now if I forget to mute it manually...

FFriendlyTroll 2024-06-12 github

@cammelspit Maybe look into moonlight and sunshine combo for streaming since this issue is obviously ignored.

Ttonechant 2025-01-16 github

For what little good it will do, seeing as it has now been over 5 years, I'd like to add that I am also having this issue. Linux Mint PC streaming to Linux Mint laptop. I'll check back in another 5 years...

SShadou81 2025-05-14 github

Almost 6 years later and no resolution to this issue?

Steam deck connected to Linux Mint, steam ignores the "Play audio on host" option being turned OFF and plays on both deck and PC.

Gotta say, issues being left open like this for this long really makes me wonder if Valve cares.

Iipkpjersi 2025-07-09 github

I'm experiencing this issue on Ubuntu 24.04, it is unfortunate that Valve have still not addressed this.

PPixel-Meister 2025-07-13 github

Also experiencing this issue.

Ttimelord1102 2025-08-03 github

Experiencing on Arch -> Steam deck

Steam deck audio controls are also being passed through to the desktop

MMalkContent 2025-08-04 github

I'll add my voice to the choir. Just switched to Linux and this is one of only two larger issues I've encountered thus far.
Using Ubuntu 25.04

Mmegabytesofrem 2025-11-14 github

Still having the same issue, on EndeavourOS

Hhamid-elaosta 2025-11-22 github

Also having this issue on CachyOS, thought I was going mad but the toggle is definitely off, guess this one ain't getting fixed.

Aadellario 2026-02-02 github

Chiming in! February 2026 and it's still not fixed. Extremely annoying. I rely on this to not wake my daughter (my office with gaming PC is across the hall from her room). Coming from Zorin OS 18. Kernel: Linux 6.14.0-37-generic. Audio device: Starship/Matisse HD Audio Controller.

Kkylespencer 2026-04-05 github

April 2025 and this bug remains unfixed! Experiencing it on Arch/CachyOS with the latest client as of today.

Jjowilhnson 2026-05-12 github

May 2026

Was experiencing this issue with OG Steam Link hardware client streaming from Manjaro Linux host.
Switched to Steam Deck remote play client from same host, same issue.

Ppiquan 2026-06-01 github

I'll give Valve some slack on this one. With the way Linux audio works, it is quite tricky to redirect sound for just one application. In the mean time, muting the sound device on the host is probably the best you can do, and that also is tricky to get right. There's a lot of edge cases to consider, and a lot of diversity in how people - and applications - use audio.

That said, with the Steam Frame being so streaming-oriented, then Steam Link may get some extra attention. I do hope that this issue is part of what they can spend time on. After all, the use case for the Steam Frame is probably mostly being in the same room as the host.

MManagor 2026-06-01 github

Wait, how is this not fixed for you guys? For me both Steam Link app and streaming into a Steam Deck creates a virtual default device that then redirects its monitor to Steam

Image
Pparkerlreed 2026-06-02 github

Yeah this seems to be working here too.

Fedora 45 and Pipewire

Image
Aadellario 2026-06-08 github

Yep, fixed. Love the seemingly novel solution. I'm on Zorin OS 18.1 Core.

EEnochPrime 2026-06-09 github

Confirmed fixed on Steam 1780965181 running on Linux Mint 22.3.

Image
MManagor 2026-06-11 github

@kisak-valve This could possibly deserve a Need Retest label

Iipkpjersi 2026-06-14 github

This seems to be fixed for me now on Ubuntu 24.04. I tested both GTA V Enhanced and Saints Row 2, both of them no longer play audio through my Bluetooth headphones when streaming via Steam Link regardless of whether my TV is muted or playing audio.

It looks like they are creating a virtual audio interface now:
Image

This issue can likely be closed now.

Kkylespencer 2026-06-14 github

Resolved on my Arch/CachyOS

Jjstolarek 2026-08-23 github

Still experiencing the problem on Debian 13 with PulseAudio. Client version 1785799196

Ppiquan 2026-08-23 github

Still experiencing the problem on Debian 13 with PulseAudio. Client version 1785799196

For what it's worth, it's working fine for me on Debian 14 (forky) with PipeWire. You might give PipeWire a shot.

PipeWire has a compatibility layer for PulseAudio, which is what I'm using: most of my applications are using the PulseAudio protocol, even though PipeWire is the server handling that. Things like pactl work. In fact, KDE and GNOME both still speak the PulseAudio protocol but are fine with PipeWire (via pipewire-pulse) being the actual server: the compatibility layer is good enough that they still use it for their desktop audio even when PipeWire is the audio server.

There are a few limitations: for instance, arbitrary PulseAudio modules can't be loaded into PipeWire. (Some things, like pactl load-module module-null-sink, have PipeWire equivalents that get used automatically. It's just unusual or custom modules that would have a problem.)

If you have a complicated custom PulseAudio config, you'll need to translate it to a PipeWire config. But for most use cases, it should be fine.

Since it's at the protocol level, not a compatibility library, then programs still can link to the same libpulse as always. Which is good news for Soldier, statically linked programs, FlatPaks, etc.

The compatibility layer is in the pipewire-pulse package.