In addition to this some games refuse to display - Shadow of War via Proton - when the streaming resolution is wrong.
Currently I'm using a script to fire xrandr and work around this...
We have the opposite issue on Windows. With the option enabled. Windows changes resolutions correctly so you can play games and your desktop is set to the right resolution, but Big Picture Mode is screwed up:
https://steamcommunity.com/app/353380/discussions/0/1694922526914392193/
I wonder if this is related somehow?
On linux mint 20 and having the same issue. Makes remote play pretty much unusable, which sucks considering nvidia won't support gamestream for linux.
In addition to this some games refuse to display - Shadow of War via Proton - when the streaming resolution is wrong.
Currently I'm using a script to fire xrandr and work around this...
Could you share more details about your workaround? I still have this issue :/
This problem still persists. Using Arch Linux host with KDE and an RX 580 and a guest using Arch Linux and Intel Graphics. The resolution doesn't set to that of the guest, which is a pretty low resolution 16:9 display.
I am also experiencing this issue on Debian Bullseye. I have a 21:9 display, Big Picture aspect ration is good on my HD TV, but games, and the desktop, are displayed in wide aspect ratio. The behaviour is exactly the same with "Change desktop resolution to match streaming client" checked or unchecked.
@rtorrero, I have also set up a simple startup script that I launch using a Gnome extension called Handy scripts 2:
#!/bin/bash
xrandr --output DisplayPort-2 --mode "1920x1080" -r 120
pacmd set-card-profile alsa_card.pci-0000_05_00.1 off
The second part of the script is a workaround for #6749.
Also experiencing this issue when attempting to remote play from my linux (fedora 35) server to the Steam Deck! Remote play streams 1920x1080 to the Steam Deck's 7" screen which makes everything tiny and quite unreadable instead of downgrading to 1280x800 and then streaming to the Deck.
Please prioritize this issue @slouken ... Steam Deck needs it.
Similar issues here. Running Pop_OS! on my PC and attempting to stream to Steam Deck. Having this option checked or not has no effect, I get no video to Steam Deck. Audio and input seems to work occasionally.
Same issue here, Fedora host trying to stream to a Retroid Pocket 2+ (480p).
Same here... Opensuse 3440x1440p amdgpu HOST to a 1080p client and black screen, freezing, weird issues described above.
Same. Trying to stream from Fedora 36 on an ultrawide monitor to the Steam Deck. Works if I switch the game to run in windowed mode (in the game's display properties) but performance suffers.
Same issue on 5.19.16-2-MANJARO
This issue stops me from streaming from my Windows 10 desktop ultrawide to my SteamDeck. Manually changing the host resolution runs correctly.
Streaming to the steam deck, the "Change desktop resolution to match streaming client" does have a changed effect but not the desired.
"Change desktop resolution to match streaming client" Disabled: Ultrawide is letterboxed on the SteamDeck's 16:10.
"Change desktop resolution to match streaming client" Enabled: Ultrawide is stretched to the SteamDeck's 16:10.
My next action for a work around may be setting up a headless host for streaming to my deck but this would be the extreme solution.
I didn't want to run a cron job because I wanted to know if and when it ran. I ended up with a variation of the scripts above and add it to Steam via "Add Non Steam Game" and run as needed. You would need to run again to bring it back to your original resolution.
#!/bin/bash
export DISPLAY=:0
export cmd=steam_monitor
ps_out=`ps -ef | grep $cmd | grep -v 'grep' | grep -v $0`
result=$(echo $ps_out | grep "$1")
if [[ "$result" != "" ]];then
pactl set-sink-volume @DEFAULT_SINK@ 10%
xrandr --output DisplayPort-0 --mode 1920x1080
echo running
else
xrandr --output DisplayPort-0 --mode 3440x1440 --refresh 160.00
echo not running
fi
Having the same issue stream to a streamdeck from an Arch pc
X11
Nvidia rtx 3060 laptop with official drivers
This is still an issue in Fedora 37, with both NVIDIA and AMD GPUs, using both X11 and Wayland.
Similar misbehavior can also be seen with the Steam Link for Windows and Android versions of the application as well. All versions will
Host Res: 2560 x 1080 - 21:9 (2.33:1)
Setting > Change desktop resolution to match streaming client: TrueWindows Client Res: 1920 x 1280 - 3:2 (1.5:1) ver 1.2.0.241
Setting > Resolution Limit: "Display Resolution" Ignored, host resolution usedSetting > Resolution Limit: "1920 x 1280" Works as expectedAndroid Client Res: 2160 x 1080 - 18:9 (2:1) ver 1.2.0.241
Setting > Resolution Limit: "Display Resolution" Ignored, host resolution usedSetting > Resolution Limit: "2160 x 1080" Ignored, host resolution usedSetting > Resolution Limit: "< any entry tried >" Ignored, host resolution usedLinux Client Res: 1920 x 1080 - 16:9 (1.78:1) ver (will update later) - Deb/Arch distros same experience as posted above.
Posting my experience with other platforms incase it helps.
Would love to see an update on this. Using a 1440p monitor streaming to the deck without change of resolution does not work, text is unreadable. I tried to work through the log to see if anything regarding display or resolution fails, but wasn't able to find anything. Is this feature even supported on Linux?
I guess reaper is the tool providing the stream? Starting ATS I get this output (alongside more messages):
$HOME/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=270880 -- $HOME/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '$HOME/.local/share/Steam/steamapps/common/American Truck Simulator/bin/linux_x64/amtrucks'\0
Streaming initialized and listening on port 27031
Streaming started to steamdeck at 192.168.1.145:53197, audio channels = 2, MTU = 1468
Streaming quality: k_EStreamQualityBalanced
Streaming bitrate: Automatic
Device form factor: computer
Maximum capture: 1280x800 59.56 FPS
Game: American Truck Simulator (270880)
Setting target bitrate to 15000 Kbit/s, burst bitrate is 75000 Kbit/s
GameScope focus changed to appID 0
Window title set to American Truck Simulator
Streamed game has created a window
Changing record window: 0x8200007
SynchronizeClientState(): setting capture size 2560x1440
SynchronizeClientState(): setting title to American Truck Simulator
So the target resolution is communicated, but it seems like there no interaction to either the display manager or something else to change the resolution. I actually would have expected an instance of gamescope to spawn and run in the target resolution (this is what I might try as a workaround), but nothing.
Edit: I just installed gamescope and changed the launch options to
gamescope -W 1280 -H 800 -r 60 -- %command%
Everything works perfectly with the deck! Can we just get that as a feature on the Linux client so I don't have to add this to the game I stream only? It seems like a great option to me.
Getting the same issue in 2024. Hardware decoding on/off doesn't make a difference in this case..
Log:
Streaming started to steamdeck at 0.0.0.0:0, audio channels = 2, MTU = 1472
Streaming quality: k_EStreamQualityBeautiful
Streaming bitrate: Automatic
Device form factor: computer
Maximum capture: 1280x800 60.00 FPS
Video Streaming: enabled
Audio Streaming: enabled
Input Streaming: enabled
=====================================================================
Game: Martha Is Dead (515960)
Setting target bitrate to 15000 Kbit/s, burst bitrate is 75000 Kbit/s
GameScope focus changed to appID 0
Window title set to Martha Is Dead
Streamed game has created a window
Changing record window: 0x7200001
SynchronizeClientState(): setting capture size 3440x1440
SynchronizeClientState(): setting title to Martha Is Dead
SynchronizeClientState(): setting icon 32x32
SynchronizeClientState(): setting activity to k_EStreamActivityGame: Martha Is Dead
Recording system audio
PulseAudio: Sink alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K3-00.iec958-stereo is default
PulseAudio: Adding sink[0] alsa_output.pci-0000_01_00.1.hdmi-stereo with priority 1, monitor is alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
PulseAudio: Adding sink[1] alsa_output.usb-Generic_USB_Audio-00.analog-stereo with priority 1, monitor is alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor
PulseAudio: Adding sink[2] alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K3-00.iec958-stereo with priority 7, monitor is alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K3-00.iec958-stereo.monitor
PulseAudio: Recording on device alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K3-00.iec958-stereo.monitor
Audio mix: start=2018508545, returned=0
Audio source [System Pulse]: init=0, adjustment=0, through=0, last_start=0, mixed=0, drop_before=0, drop_after=0
PulseAudio: Connected to device alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K3-00.iec958-stereo.monitor (3, not suspended).
PulseAudio: Using sample spec 's16le 2ch 48000Hz', channel map 'front-left,front-right'.
CLIENT: Got control packet k_EStreamControlSetQoS
CLIENT: Got control packet k_EStreamControlSetTargetBitrate
CLIENT: Starting audio stream: frequency=48000, channels=2
CLIENT: Opened audio device: format=2, channels=2, frequency=48000
CLIENT: Initialized audio decoder: codec=3, sample rate=48000, channels=2
CLIENT: Got control packet k_EStreamControlStartAudioData
CLIENT: Got control packet k_EStreamControlSetSpectatorMode
CLIENT: Got control packet k_EStreamControlSetCaptureSize
CLIENT: Got control packet k_EStreamControlSetTitle
CLIENT: Got control packet k_EStreamControlSetIcon
CLIENT: Got control packet k_EStreamControlSetActivity
>>> Switching video stream from NONE to GameOverlay_MovieStream_17024
BuildCompleteAppOverviewChange: 550 apps
Video Encoder Changed
>>> Capture method set to Game Vulkan NV12 + NVENC H264
>>> Capture resolution set to 1280x536
>>> Capture colorspace set to BT.601 limited range
CLIENT: Sending HID device 28de/1205/0 Valve Software Steam Controller at /dev/hidraw1
CLIENT: Sending HID device 28de/1205/1 Valve Software Steam Controller at /dev/hidraw2
CLIENT: Sending HID device 28de/1205/2 Valve Software Steam Controller at /dev/hidraw4
CLIENT: Got control packet k_EStreamControlStartVideoData
CLIENT: Got control packet k_EStreamControlVideoEncoderInfo
>>> Client video decoder set to VAAPI tiled hardware decoding
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: CVDPAUAccel: GL_NV_vdpau_interop not available on current context
CLIENT: ffmpeg verbose: Trying to use DRM render node for device 0.
CLIENT: ffmpeg verbose: libva: VA-API version 1.18.0
CLIENT: ffmpeg verbose: libva: Trying to open /usr/lib/dri/radeonsi_drv_video.so
CLIENT: ffmpeg verbose: libva: Found init function __vaDriverInit_1_18
CLIENT: ffmpeg verbose: libva: va_openDriver() returns 0
CLIENT: ffmpeg verbose: Initialised VAAPI connection: version 1.18
CLIENT: ffmpeg verbose: VAAPI driver: Mesa Gallium driver 23.1.3 for AMD Custom GPU 0405 (vangogh, LLVM 15.0.7, DRM 3.54, 6.1.52-valve16-1-neptune-61).
CLIENT: ffmpeg verbose: Driver not found in known nonstandard list, using standard behaviour.
CLIENT: VAAPI tiled hardware decoding
CLIENT: ffmpeg verbose: Reinit context to 1280x544, pix_fmt: vaapi_vld
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: Got control packet k_EStreamControlSetCursorScale
CLIENT: Texture rect: 1280x536 at 0,0
CLIENT: Video rect: 1280x800 at 0,0
CLIENT: Video size: 1280x536, output size: 1280x800, overlay size: 1280x800
CLIENT: Texture rect: 1280x536 at 0,0
CLIENT: Video rect: 1280x536 at 0,132
CLIENT: Texture rect: 1280x536 at 0,0
CLIENT: Video rect: 1280x536 at 0,132
CLIENT: Video size: 1280x536, output size: 1280x800, overlay size: 1280x800
CLIENT: Texture rect: 1280x536 at 0,0
CLIENT: Video rect: 1280x536 at 0,132
CLIENT: Texture rect: 1280x536 at 0,0
CLIENT: Video rect: 1280x536 at 0,132
I have Manjaro Desktop with KDE wayland with an nvidia 2060rtx and am streaming to the Steam link app on an Nvidia shield (android).
I have a 2k monitor plugged into the GPU. And am streaming to a 1080p TV in the living room.
If I change the resolution to 1080 in Manjaro prior to starting the game stream it looks great. But it's annoying to have to change it back and forth each time. Are there any plans to address this issue ?
Making it trivial to stream from my more powerful linux PC to my steamdeck would be very helpful.
Either changing the actual resolution via wayland/xorg or just auto wrapping games with gamescope would be a big help.
Some customization options around just "match the aspect" or "exactly match resolution" would be nice too.
Any news about this issue ?
Same issue here. Checking the "Change desktop resolution to match streaming client" setting in Steam does nothing at all.
It would be really great to see this issue addressed—it makes streaming a game from a hi-res (5K in my case) Linux host to a SteamDeck very unpleasant in all cases, and completely unusable in any game where text is important, as it is rendered unreadable on the SteamDeck streaming client.
I'm running Flatpak Steam on Debian 12.
Steam version: 1747701111
Kernel: 6.12.22+bpo-amd64
Found a workaround to this issue. Bought a fake HDMI output on Amazon that acts like a monitor and set that as my primary monitor. Then when I start streaming games launch on that one at the resolution I preconfigured.
Found a workaround to this issue. Bought a fake HDMI output on Amazon that acts like a monitor and set that as my primary monitor. Then when I start streaming games launch on that one at the resolution I preconfigured.
That’s not a solution for every situation. I would like to stream to my Steam Deck (1280x800) and my TV (192x1080).
A simple solution to this could be to add the ability to run custom start / stop scripts on the host when the stream is initiated. This is how Sunshine handles this problem and allows users to customise the scripts for their specific platform, as opposed to trying to support every combination of tooling - wayland vs X11 etc.
Bonus points if the script can received the clients requested resolution as a parameter or environment variable.
An even simpler solution may be to expose environment variables for the screen size as Sunshine does, so we could pass them to gamescope; I believe that would bypass the need for resizing the display AND work regardless of where you launch it (host only, or multiple different clients).
That would at least allow us to work around the issue.
Same issue. Fedora 43 KDE wayland. Any plan to address this 2019 issue 7 years after ?
Same issue, CachyOS host, macOS client. Kind of ridiculous that Remote Play on Linux has had this fatal flaw for many years now?
Just noticed this setting doesn't seem to exist in the Steam client anymore? I guess that's one way to "fix" the issue lol.
System information
Please describe your issue in as much detail as possible:
I'm running a 3840x1080 screen. I would like to use steam remote play to stream to my 1080p TV. So I enabled "Change desktop resolution to match streaming client" but this does nothing. This results in letterboxing the ultra wide image on my TV, which kinda makes it unusable.
The weird this is this only occurs in games or the desktop. Big picture mode is fine.
Steps for reproducing this issue: