protonscr

In-Home Streaming Freezes

steamopen StreamingProton
ValveSoftware/steam-for-linux#5831 · opened 2018-10-11 by kisak-valve · updated 2021-03-19 · 29 comments · github
Kkisak-valve 2018-10-11 github

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1713.
@jardon posted on 2018-10-11T02:02:21:

Compatibility Report

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

I grabbed the log for Doom if that helps
steam-379720.log

Symptoms

I wouldnt really consider this to be a compatibility report for a single game but more of a compatibility report that spans multiple games. When using In-Home Streaming from my desktop to another device, It appears that many proton games video stream freezes up on the client but are still running perfectly on the host.

Here are some details that I have observed:

  1. I have yet to find a native game that exerts these symptoms
  2. Not every proton game has the problem
  3. It appears that as I unfocus the window and focus on something else, the stream resumes as normal until refocused(although difficult to observe as many games minimize when unfocused).
  4. Most of them start streaming very briefly before freezing up. Usually not getting past the opening game credits
  5. I've tried just about every combination of streaming settings with little to no difference at all.

Game Streaming Tested

Working

  • Wolfenstein the New Order (201810)
  • RAGE (9200)
  • The Last Remnant (23310)

Working with Issues

  • Dark Souls Prepare to Die Edition (211420) - Has decent frames on the host but on the client its very poor even on streaming quality set to fast

Borked

  • Dark Souls 3 (374320)
  • Doom 2016 (379720)
  • Dragon Quest XI (742120)
  • Metal Gear Solid V (287700)
  • Prey (480490)
  • Stick Fight (674940)
  • The Witcher 3 (292030)
  • Quantum Break (474960)
  • Devil May Cry 4 SE (329050)
  • Crysis 2 ME (108800)

I realize that maybe this needs to be broken up into multiple bug reports but I thought that it might be useful to have a view from above on this one. I also realize that this may not even be a proton specific issue and may be in home streaming itself. If there is anything that I can do to help, I'll gladly do what I can. I mostly just dont know where to start.

Reproduction

  1. Configure Streaming host with the linked system specs
  2. Configure network and steam link or other device
  3. Install one of the borked proton streaming games
  4. Try to stream it to steam link or other device on the network
  5. Get really sad
Kkisak-valve maintainer 2018-10-11 github

Possibly related to #5828, #5591.

?ghost 2018-10-18 github

There's more going on over simply using native so not really surprising that there are issues.

Since the client is what's affected, it does sound like a buffer has failed since streams and buffers are what's used to connect two devices over a network. Its not magical =)

It would help to know what triggers a refresh of the failed buffer when the current one has a problem such as if interaction with host PC does that like what is mentioned or if its [an] earlier [problem] such as with the encoder.

Seems like a good start since it does affect more than one game for someone who doesn't know where to start =)

Maybe only Valve can fix it. Depends if its an internal Steam related issue or an external one causing an internal problem. I don't think this one is external only based on this.

Ffazo96 2019-01-16 github

I have this problem with The Witcher 3 GOG Version which is running through wine and added as a non steam game. The game streams until the intro video starts to play, so only for like 3 seconds, then freezes right before the intro video. Controls and sound work on the client but the video stays frozen while the game plays fine on the host.

The only way to get it to stream is to start the game and then start streaming while the game is running, and this only works if the game is in windowed mode. What happens here is that the entire desktop is streamed instead of only the window (which is weird, since steam usually only streams the active window) and the stream works just fine this way except only a part of the actual picture is the game, since it's windowed.

I have not found a solution to this. However I tried DOOM, Hitman 2 and Metal Gear Solid V The Phantom Pain using Steam Play and Steam Link and these all work perfectly fine, only The Witcher 3 (GOG Version through Wine) has this problem.

Ffazo96 2019-01-21 github

After a steam beta update or something (not sure what was the cause) The Witcher 3 stopped freezing most of the time.

Then I switched to running it through proton thanks to the new feature to run non-steam games through proton and other than an improved performance I also got no freezing issues at all.

Jjardon 2019-01-22 github

Alright I have a bit of an update on this. First of all, my system specs have changed and are now the following:
OS: Ubuntu 18.10 (4.18.0-13-generic)
CPU: Intel® Core™ i5-4670
RAM: 32GB
GPU: Nvidia GTX 1060 6GB
GPU Driver: 415.27
DE: GNOME Shell 3.30.1

I have retested the following games fullscreen and windowed mode and can confirm that the video stream does not freeze when the game is running in windowed mode:

  • MGSV
  • Monster Hunter World
  • The Witcher 3
  • Stick Fight
  • Ni no Kuni II
  • Dragon Quest XI
  • Doom (2016)
  • Rise of the Tomb Raider

There are others that I haven't tested but I dont currently have room on my hard drive and need to pick up another SATA cable to attach a spare drive I have. Rise of the Tomb Raider (native) also freezes when trying to stream it, but theres no fullscreen option and no launch options that I tried to make it windowed worked. Wow I'm blind. Found the windowed option in RotTR and now that one is working.

Running in windowed is a good short term solution to this problem. Hopefully Valve will have something for us soon.

Hhowels 2019-07-04 github

Definitely looks like the issue I see. Proton games freeze on the first frame of the stream if I use fullscreen and often kill the stream on the client if the game shows a window dialogue box or logo before entering full screen.

NNoXPhasma 2019-10-26 github

I have the exact same issue, but with Proton 4.11-7. Games freeze on launch or when I get into the game, the performance is really bad and there is also a problem with detection of the gamepad.

This happens in fullscreen as well as in fullscreen windowed mode.

Switching to Proton 4.2-9 completely fixes any of those issues.

System info: https://gist.github.com/NoXPhasma/301a67dc1406c3b14766507b0edc8290
Steam Link app on a Samsung NU8009.

AAmericanzer0 2020-01-05 github

I can confirm as well that I am experiencing this exact same issue, and have been able to replicate it on both Ubuntu 19.0 (Gnome) and Manjaro (Gnome) using both the offical Steam Link, and an android device using the Steam Link app. 4.2-9 works though and Proton 4.21-GE-2 (https://github.com/GloriousEggroll/proton-ge-custom) works as well for Halo: Reach...

Lloisgomez 2020-01-26 github

I can confirm this same issue. A lot of games just freeze when streaming to my Steam Link from my Linux host system. Latest one that I ve found is the native version of Shadow of the Tomb Raider. I managed to get streaming to my steamlink working by first launching the game into windowed mode. And then connecting the steam linking to the running instance of tomb raider.

This seems like a valid work around to most games showing this behaviour. If the game is launched in windowed mode the freezing does not occur. Seems to happen mostly in games that use Vulkan or the proton transalation layer to vulkan both native and through DXVK.

Wwebgeek1234 2020-01-26 github

I also confirmed this using the current 4.11 proton. I cannot stream any game that uses Vulkan as the native backend. For example, I want to use D9VK on Final Fantasy XIII because the hair effects are rendered properly there which are broken on the default OGL translation layer. But when streaming with D9VK enabled, the stream hangs on game start. But streaming works as expected with the default OGL translation layer. Another example is Obduction, which uses DX11 and thus defaults to DXVK. I get the splash screen when starting to stream, then it hangs while continuing to run properly on the host. I have not yet tested running anything in windowed mode, will try that asap. But even if that is a workaround, this is still a pretty experience breaking issue and I hope it gets more attention internally.

System Information:
OS: Fedora 31
Kernel: 5.4.12-200.fc31.x86_64
CPU: AMD Ryzen 3950x
RAM: 64 GB (4x16GB GSKILL Neo 3600)
GPU: EVGA Nvidia Geforce 1080 TI FTW3
GPU Driver: Proprietary 440.44 packaged by negativo17

Aaf7567 2020-02-01 github

Same problem here still. I had this problem with Shadow of the Tomb Raider but sometimes got it working by connecting to the stream when the game was already running.
I am now having the same problem with Plague Tale: Innocence. It works ok in windowed mode, but full screen or borderless the video freezes. I did get it to work in full screen mode by connecting to the stream after the game was already running, but then the controller wouldn't work and the steam overlay was stuck showing a popup that I was connected to the stream. I had to alt-enter to go to windowed mode and then the controller and steam overlay started working again. alt-enter back to full screen and the video freezes on the stream like before.

OS: Slackware64
Kernel: 5.4.8
CPU: Ryzen 5 2600
RAM: 16GB
GPU: Nvidia GTX970
Nvidia driver 440.44

Sstephensrmmartin 2020-03-12 github

I'm having this issue on Fallout 4.

Fallout 4 works great on the host machine. When streaming to steam link, the video freezes at the intro on the steam link. It continues playing as normal on the host machine. The audio and input still work. It is only the video that freezes. Specifically, it's only when FO4 is the active window that the video freezes. I can alt-tab to another window, or to BPM, and the steam link renders video/audio/input normally.
In sum: FO4 works fine on host. When streaming to steam link, FO4's video stops working on the steam link, but audio/input work fine.

I've tried: Fullscreen, windowed, borderless windowed. I've tried each option with the game running before streaming as well.

Hhowels 2020-03-13 github

Happens with Proton games still, whether windowed mode is used or full screen. Proton 5.0 and latest steam client. Only Shadow of the Tomb raider works.

Hhowels 2020-03-23 github

I tried a few times to get things working recently - using borderless windowed modes. However most games freeze their video stream after a few frames with the audio continuing. It's like the capture has failed somehow. Very strange.

Uunderdoeg 2020-03-23 github

I can confirm the same issue. as soon as the game is focused "project session" with proton 5 in this case. the streaming stops. input and sound seem to work.

Bbittylicious 2020-04-01 github

Interestingly, as commented by @fallenguru on https://github.com/ValveSoftware/steam-for-linux/issues/6516#issuecomment-533252969 this issue doesn't appear to affect Proton 4.2-9. I was able to remote play just fine.

After getting it to work on 4.2-9, I have also been able to repeatedly get it to work on 4.11-13. I'm not sure why I needed to try with 4.2-9 first.

I cannot get it to work still on 5.0-5. In fact, if I Alt-tab on the host to another window (e.g. a terminal), streaming starts again. It's only when Alt-tabbing to the game that streaming stops. It's as if the Proton window cannot be captured in 5.x.

Bbittylicious 2020-04-01 github

I think I spoke too soon - it appear sto depend on the game.

For instance, Sonic and All Stars Racing Transformed Collection works just fine under 4.2-9 and then 4.11-13. Sonic All Stars Racing (a later game) does not work at all under any Proton 4.x at least.

Maybe it's related to the Direct X version? Sonic (Transformed, the one that works) is DirectX 9, Sonic All Stars Racing (the one that doesn't work) is DirectX 11.

Bbittylicious 2020-04-01 github

I have a new theory. Indeed, this is indirectly related to the DirectX version. It is possible that:

Games using DXVK (the Vulkan DirectX driver) do not work with Steam Remote Play

I was able to get my DirectX 11 game to work by changing the game's launch options to:

PROTON_USE_WINED3D=1 %command%

This makes it use the OpenGL-based wine3d instead, which I believe is quite a bit slower. See https://github.com/ValveSoftware/Proton#runtime-config-options for other command line options.

Can others see if this is the issue?

Ffallenguru 2020-04-01 github

Games using DXVK (the Vulkan DirectX driver) do not work with Steam Remote Play

No. While the problem only occurs with Vulkan games (DXVK, DX9K, native -- doesn't matter) in my experience, it doesn't affect all of them, or all the time, or on all machines. I suspect there isn't one underlying factor but multiple, maybe even a race condition in the mix. My (Ubuntu) rig hasn't had this problem in months, my wife's (Linux Mint) still doesn't work. Same kernel, same GPU + mesa, same Steam version. No, it isn't Gnome vs. Cinnamon, either. Been there, tested that.

Hhowels 2020-04-07 github

I've also tested multiple Steam host options, multiple compositors, multiple games and cannot see a pattern. I'm using Ubuntu with a modern Nvidia card on the Nvidia closed-source drivers and there should be nothing preventing it from running. It's down to the capture as the stream will start but freeze on the client after 1-5 seconds while the game plays fine on the host. Using a proper Steam Link and Steam controller as the client.

As it stands I cannot use Remote Play under Linux as I am forced to run from one end of the house to the other to quit games when they fail to stream.

Please can we get some proper testing for Remote Play under Linux, the feature is totally unreliable. Remote Play under Linux has been in limbo since it was introduced.

SSemperverus 2020-05-16 github

I want to second this issue. I'm currently using an AMD RX480, Ryzen 1700x, Arch Linux latest kernel (5.6) on KDE Plasma 5.18 (if I recall correctly)

Lloisgomez 2020-05-17 github

I have workaound this issue by launching all games in windowed mode in 1080p and avoiding big picture mode, launching the stream directly into desktop mode. This way 99% of the time I am able to stream play nicely most games.

SSemperverus 2020-05-18 github

@loisgomez do you think part of my problem is the fact that my center monitor is 4k? I play windowed-fullscreen on most of my games but I still get this problem. I wonder if setting that monitor to 1080p would fix the issue.

Hhovo1990 2020-07-04 github

@kisak-valve This is really strange behavior.
I am having this issue as well, but so far only for Halo Reach.

Launching from Linux host to Linux client, after 3 seconds the intro video freezes, so far the best solution that I have found is to have another application always on top (like gedit). In this case, it does not matter whether its full screen, borderless, or windows, but streams at lower fps.

This is the first time I have noticed such a problem.

I have played other games and no such issue was noticed for the following games, but some games have rumble and others don't:

Street fighter 5
Injustice 1 (no gamepad rumble)
Darksiders 2 deathinitve edition
Borderlands Enhanced edition
Darksiders deathinitve edition
Kingdom come deliverance
Shadow of war (no gamepad rumble)
Shadow of the tomb raider(native)

Hhovo1990 2020-07-16 github

I have workaound this issue by launching all games in windowed mode in 1080p and avoiding big picture mode, launching the stream directly into desktop mode. This way 99% of the time I am able to stream play nicely most games.

Have tried this with Halo Reach, but the FPS is lower on the remote host than local host.

Lloisgomez 2020-07-16 github

Definitely I can workaround the issue by streaming games in windowed mode in 1920x1080 resolution. Works 100% with all games I've tried, native + proton as well.
If i try to use my monitor native resolution or full screen the screen will just freeze and show the red icon on the corner.

@hovo1990 If you are seeing 60fps that is expected. As streaming is capped to 60fps

Hhovo1990 2020-07-16 github

@loisgomez I mean the only issue where freezing happens is with Halo Reach, with other games no such issue so far.

I mean the frame rate on the remote machine is fine (over 60 fps), but on the client-side is sub 60 fps (close to 30 fps) if I launch in windowed mode.

#Update: latest Steam Client Beta update has not fixed the problem in Halo Reach.

#Update 2: Bulletstorm, Batman Telltale games and Street Fighter 5 work fine with streaming, is there a way to log streaming, which could help?

Hhovo1990 2020-09-17 github

Ok, Just tried Sniper Elite 4, freezes and also cannot change to windowed mode (passing -windowed parameter in launch options does not work)

#Update 1: Just tried through VNC on POP OS 20.04 (Vino VNC), it also freezes, have to hold alt-tab, so the games updates. Is this due to DXVK or some bug in X Server?

#Update 2: Through VNC changed to windowed mode (from broken launcher), now game is vibile through VNC. But remote play still freezes.

#Update 3: There is an alternative try Sunshine, https://github.com/loki-47-6F-64/sunshine, setting up takes time, but sniper elite 4 works well in windowed mode at least.

#Update 4: Using the repository Steam version, and not the flatpak version has solved the issue.

Rrkitover 2021-01-29 github

I cannot run any game from a linux host via "remote play"/"steam link", as others have noted for some games using PROTON_USE_WINED3D=1 %command% makes it work. I'll also tried the 1080p windowed solution.

Any updates from the developers on this? This was extremely frustrating to debug and it took me a couple of weeks to even find this issue.

Proton versions

Launch options

Launch lines

Upstream links