Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote play frozen if resolution is fullscreen or too high on Linux Host #7130

Open
Saroumane opened this issue May 24, 2020 · 22 comments
Open
Assignees

Comments

@Saroumane
Copy link

Saroumane commented May 24, 2020

Your system information

  • Steam client version (build number or date): May 15 2020
  • Distribution (e.g. Ubuntu): Ubuntu 19.10
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • CPU: AMD Ryzen 3600X
  • Kernel Version: 5.6.7-050607-generic
  • Video Card: Radeon RX 5700 XT
  • Video Card Driver Version: mesa 20.0.7~kisak1~e

Please describe your issue in as much detail as possible:

Trying to use REMOTE PLAY

  • with Linux Host (Ubuntu 19.10) connected to a 4K display
  • and Nvidia Shield client (Official Steam Link App) connected to a 1080p display
    (What matters is the Linux Host, I do not reproduce the bug with Windows Host)

What I expect : launch and play a game (for example Phoenix Wright: Ace Attorney Trilogy) on Nvidia Shield, streaming from the Linux Host. (Nota Bene : this game is certified "Optimized for Remote Play" by Valve)

What did happen : the pre-loading screen appears on the Nvidia Shield BUT, the picture freeze before the main menu appears. The game continues to run normally on the Linux Host (Proton doing is job perfectly)

#### So what happens ?

On the Steam link client (1080p), the picture freezes IF, on the Host :

  • 1/ the game is launched in FULLSCREEN mode
    OR
  • 2/ the game is launched in a resolution GREATER than the client resolution (4K or 1440p, which are both greater than 1080p in my scenario)

Regarding the 2/ case : we should be able to use the option "Change desktop resolution to match streaming client" as a workaround on the host. But it does not work (see issue 6577 ) :
#6577

### #### Workaround
The only workaround is a bit painful : for every game you want to "Remote Play", you have to launch it first on the Linux Host, then disable fullscreen and reduce resolution to match client.

I've been chasing this issue for 2 years, wasting so much time trying to make Remote Play work with a Linux host. I hope this workaround will help players.

Last comment : I do not certify this issue happens with every game (some games don't go higher than 720p or 1080p), but I can reproduce it with lots of them !

(By the way, thanks Kisak for your Graphics drivers PPA 👍 )

@pnaf
Copy link

pnaf commented Aug 8, 2020

I'm getting this issue only when streaming Vulkan games (e.g. Artifact, Hellpoint, or any Proton game that uses DXVK) from a GNU/Linux host connected to a 4K display.

In my case, I've found that fullscreen streaming still works and I can launch the game in a resolution greater than my client resolution, but I still need to reduce my desktop or windowed resolution to something that the host's encoder can handle. For example, I can stream Dota 2 using Vulkan without frozen video as long as I reduce my host's desktop or windowed resolution to no higher than 2560x1440 (16:9), 2560x1600 (16:10), or 2304x1728 (4:3), but I can stream Dota 2 using OpenGL without frozen video all the way up to the host's native 4K resolution.

For games that support both OpenGL and Vulkan backends, you might be able to switch to OpenGL as an alternative workaround.

@Saroumane
Copy link
Author

Thanks for reducing the scope of the bug to vulkan native games (and Proton DXVK games)
Regarding the workaround, If I have to mess with settings I prefer to use mine, so I can keep keep vulkan renderer (as it's supposed to perform better than OpenGL)

@gabriel-rodriguez
Copy link

I confirm this issue both in the hardware Steam Link and the Android Steam Link app.

My system runs ArchLinux 64, using KDE and i3 as a Window Manager. My native desktop resolution is set to 3440x1440. My games are configured to run at 1920x1080.

When I cast the stream to either the Android app or my TV through the physical Link device, the screen goes blank upon launching a game. That is, the Steam Big Picture is correctly cast at 1920x1080, but when the game launches, the Android / TV screen goes black and a red circle (no network?) appears in the bottom right corner. This might be due to the Vulkan/DXVK scope mentioned above (all my games are currently Proton DXVK).

If I change my native desktop resolution to 1920x1080, then the steam link cast works correctly, both in the Android app and the TV through the Link device. Note that I do not pre-launch the game: I just change the entire desktop to 1920x1080 and launch the game from the TV. Still a nuissance.

@innologi
Copy link

I can confirm this issue on a Ubuntu 20.04 host with a 4k desktop resolution, an Nvidia GTX1070Ti with proprietary nvidia driver 460, when streaming anything Vulkan-rendered to Steam Link hardware or Steam Link app on Android or Android TV.

To circumvent this, I either switch to OpenGL rendering when supported, or I lower the desktop resolution before I start streaming.

@jogrue
Copy link

jogrue commented May 25, 2021

I reported this issue first in the Proton repository (#7805). Thankfully, I know found this issue here, and also the workaround. Thus, I can also confirm this behavior. The games start correctly on the machine running the games (Archlinux with KDE desktop environment, up-to-date Steam and Proton install—and, important as I now learned, a 4K display), but on the client (Nvidia Shield or Intel Laptop) I only hear the sound, and the image is stuck at the loading screen. In the lower red corner, I get a red antenna indicating network issues.

Games I tried to run remotely on my Archlinux Machine (AMD graphics) using Proton: Tekken 7, The Witcher 3, Enslaved: Odyssey to the West.

Native games I successfully streamed from the same machine: Rise of the Tomb Raider, Trine, Road Redemption.

@DjebbZ
Copy link

DjebbZ commented Jun 25, 2021

I can confirm the bug, and more: when in a dual screen setup like me (1 3840x1600 screen, 1 1080p), I have to set the resolution with xrandr so that the big screen displays the same thing than the small one, at the same resolution. Only then Steam Link on my Android phone displays the game properly.

@nova-nowiz
Copy link

Yes, that is an issue I encounter as well!

@Saroumane
Copy link
Author

As Valve is now advertising Remote Play on the Steam Deck, we might have a fix before the end of year :
https://www.youtube.com/watch?v=AlWgZhMtlWo

By the way I wonder if this bug could be reproduced with wayland instead of X. (After wayland is supported, of course)

@Rav8es
Copy link

Rav8es commented Sep 5, 2021

Same issue.

Desktop is 4K, attempting to play any game in 4K freezes steam link on loading, red connection signal at bottom. Game is still running properly on desktop. Have only experienced this with Proton games so far.

Using oibaf PPA for MESA. System files attached.

system information.txt

@jbd8438
Copy link

jbd8438 commented Oct 20, 2021

I'm experiencing the same streaming freezing trying to remote play proton games if my desktop resolution is set to 4k. If my desktop resolution is lower than 4k, I can successfully stream proton enabled games to the steam link app (Nvidia Shield) and to my laptop. Native games streams successfully regardless of the desktop resolution.

@VoodaGod
Copy link

VoodaGod commented Oct 20, 2021

I have a workaround for this using gamescope:
gamescope -h 2160 -H 1080 -b -- %command%
This starts the game on a virtual display with 2160p resolution, but presents a window with 1080p, which is borderless.
That way, every game, irrespective of settings, will start at a size, which works with remote play, but if you want it fullscreen, you simply maximize the window, all while the game is running at whatever resolution it wants to.
Unfortunately, there are still some problems with gamescope:

  • of the games i've tried, Wolfenstein II does not work at all with gamescope (only black picture with endless loading cursor)
  • under some circumstances, the screen will not redraw, until there has been keyboard or mouse input. This can be worked around by using the steam input button chords to move the mouse when playing remotely

@Rav8es
Copy link

Rav8es commented Nov 25, 2021

I can confirm this is happening in Grim Dawn, Torch Light 3, and Elder Scrolls Online.

@VoodaGod
Copy link

VoodaGod commented Dec 15, 2021

Replying to #7130 (comment)

update

  • the screen redrawing issue fixed itself recently after a steam client beta update
  • i got Wolfenstein II with it by starting it in safe mode to reset the video config

@madbad
Copy link

madbad commented Jan 16, 2022

I can confirm the issue on my end.
Full screen games do not work.
The screen freeze on the client with red antenna appearing on the bottom right part of the screen, all inputs are still being sent to the streaming PC (so the connection is apparently still alive)

Streaming PC:
Fedora 35
Nvidia 1070 Ti driver 495.46
4k resolution
steam beta

Client PC:
Windows 10
integrated Intel GPU
1080 resolution
steam beta

@DjebbZ
Copy link

DjebbZ commented Feb 8, 2022

I have another issue. I have the same symptoms (black screen, red antenna) while streaming from any resolution (tried FHD and Ultrawide 3840x1600) to a 4k TV with the Android TV Steam Link app.

@Treverr
Copy link

Treverr commented Feb 25, 2022

This is still an issue for me I can only get them to play through Proton if its 1440p or less :(

@cwildfoerster
Copy link

I can confirm the issue on my end.
Full screen games do not work.
The screen freeze on the client with red antenna appearing on the bottom right part of the screen, all inputs are still being sent to the streaming PC (so the connection is apparently still alive)

@dconz13
Copy link

dconz13 commented Aug 2, 2022

I have the same issue trying to stream Nier Replicant from my Arch Linux host to the steam deck. I set the steam launch options to gamescope -W 1280 -H 800 -w 1920 -h 1200 -- %command% and then set the in game resolution to 1920x1200. It streams fine for the first 10-30min but then the video completely freezes even with unlimited bandwidth. The host is still receiving inputs from the deck and the audio is coming through fine on the deck.

Host:
Kernel: 5.18.15-arch1-1
DE: GNOME 42.3.1
WM: Mutter
CPU: AMD Ryzen 5 5600X (12) @ 3.700GHz
GPU: NVIDIA GeForce GTX 1080 Ti
Ethernet
x11
nvidia 515.57-10
proton experimental

Client:
Steam Deck 512GB stable channel
WiFi

EDIT:
I thought I could get around the issue by streaming from the host to the client at 1280 x 800 native resolution but still experiencing the issue intermittently.

@kikegarcia
Copy link

Same issue, also on Steam Deck: 16:10 vs 16:9 aspect ratio (2k monitor on desktop)

@ddulic
Copy link

ddulic commented Aug 17, 2022

Having the same issue. My Primary Monitor is 3440x1440p (43:18 aspect ratio) and I am attempting to cast to a 4k TV (21:9 aspect ratio).

I can confirm that using gamescope does make it streamable, but is unusable due to the following issue:

  • gamescope -b causes the controller not to work
  • gamescope without -b causes crashes every 2nd run.
  • gamescope -f causes the game not to start over Steam Link, presumably because my host resolution is bigger (this issue)

Running Steam Link without gamescope doesn’t work at all.

I attempted to use Sunshine, but that has its own issues at the moment:

@kelvie
Copy link

kelvie commented Dec 19, 2022

Does anyone still see this? I feel like this works again now, at least with dwarf fortress.

@coolcatco888
Copy link

I still see this, on Pop OS 22.04. The stream freezes on Android and I have to stop and restart the stream constantly.

Haven't tried the windowed workaround but it happens after sometime like 2 mins or so. After a few tries I can play for about 45mins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests