protonscr

Linux-to-Linux Remote Play regression in build dated 2019-10-29(?)

steamclosed Streaming
ValveSoftware/steam-for-linux#6623 · opened 2019-10-29 by fallenguru · updated 2019-12-31 · 14 comments · github
Ffallenguru 2019-10-29 github

streaming_log.txt.gz

Your system information

  • Steam client version (build number or date): build dated 2019-10-29 [according to "About Steam"]
  • Distribution (e.g. Ubuntu): Ubuntu 18.04.3
  • Opted into Steam client beta?: Yes, host & client
  • Have you checked for system updates?: Not on the client; there was a mesa-aco update on the host, but I'm reasonably sure that was before the last working session

Using the HWE kernel (5.0) and Valve ACO PPA on the host.

Please describe your issue in as much detail as possible:

I've been using Remote Play between these two Linux machines for pretty much every evening lately, without issues. It was fine yesterday and is unusable today. Since there was a Steam client update with changes to Remote Play, I thought it might be that.

Symptoms: choppy audio on client (fine on host; EDIT: though it doesn't mute anymore); unusual streaming graph: "sabretooth" pattern vs the usual "mostly flat with hills & valleys" at a higher than normal level of latency; FPS appears to be locked at 30 FPS and dips below that frequently, when usually it's pegged at 60.

Steps for reproducing this issue:

  1. Stream game. Specifically, I tried Life is Strange - Before the Storm, Super Meat Boy, Skullgirls [native]; and Prey (2017) [Proton 4.2].

EDIT: Attached the log for yesterday's (working) and today's (borked) streaming session.

Nntropy83 2019-10-29 github

I can confirm problems with a regression. I have been using the steam link for quite some time now without issues. Then after the update today, I am able to connect to the host, then the image flickers 4 times and the link as well as the steam client on the host die. The client then can only be forcefully be closed.
I am on kernel 5.4rc3, Mesa 19.3 from the oibaf-ppa. Cpu is a Ryzen 3900x

Ffallenguru 2019-10-30 github

streaming_log.txt
Life_is_Strange-Before_the_Storm(554620)_10-30-19_10-03-05.zip
Life_is_Strange-Before_the_Storm(554620)_10-30-19_10-03-49.zip

The build dated 2019-10-30 (per "About Steam") is still affected in the same way. Just a quick test with LiS-BtS this time, the first capture is soon after launch, the second is sitting at the main menu.

As for the audio, it's hard to describe. At times it sounds like choppiness/distortion you'd add purposely to an electric guitar, then it drops out entirely for seconds at a time.

Lloisgomez 2019-10-30 github

Can confirm this same issue. Switching back to non beta steam client fixes the issue and I am able to stream linux to steam link again.

Ffallenguru 2019-10-30 github

I am able to connect [the Steam Link] to the host, then the image flickers 4 times and the link as well as the steam client on the host die. The client then can only be forcefully be closed.

That doesn't sound like the original issue, @enthalpie. No crashes, hangs, flickering, or Steam Link here.

Can confirm this same issue.

Which one, @loisgomez?

The speed new beta builds are coming out, they're aware something's broken :-p

Nntropy83 2019-10-30 github

That doesn't sound like the original issue, @enthalpie. No crashes, hangs, flickering, or Steam Link here.

No it doesn't but it seems to be related. Prolly has to do with the new game-sharing experience via Steam Play now.

Ffallenguru 2019-10-31 github

Partly fixed in build 2019-10-30 20:05:34, host-side [-- only tried LiS-BtS, since that's what I would like to remote-play at the moment]. As in, the sound is fine again and the latency graph looks sane. In fact, on the loading screens and in the menu the numbers are really good. In-game is a different story ... not really playable, tbh.

FPS are still really unstable, with drops into the single digits and literally off-the-scale display latency spikes to match. It feels like shader compilation stutter, only it doesn't get better and it doesn't occur without Remote Play. (Running uncapped on the host it doesn't go below 280 FPS in the same scene, cracking 400 at times.) After a while of this, a 30-FPS-limiter kicks in at some level and smooths things over, then it goes back up to 60, rinse repeat. Video latency is ~70-100 ms at best. (I have no comparison values for this scene in this game, had no reason to have the diagnostic graph on when it was working, but generally speaking I've never seen values > 50, with 25-30 being the norm. I've certainly not seen the minimised diagnostics' FPS display go below 59.something outside of loading screens in LiS-BtS.) Lastly, there's some frame loss ...

In addition, input is weird, sometimes the character keeps moving forward for multiple seconds after I've let go of the forward key, sometimes she stops immediately, but then starts walking again on her own for a couple of seconds.

Lloisgomez 2019-10-31 github

I am able to connect [the Steam Link] to the host, then the image flickers 4 times and the link as well as the steam client on the host die. The client then can only be forcefully be closed.

That doesn't sound like the original issue, @enthalpie. No crashes, hangs, flickering, or Steam Link here.

Can confirm this same issue.

Which one, @loisgomez?

The speed new beta builds are coming out, they're aware something's broken :-p

This issue ->
I am able to connect to the host, then the image flickers 4 times and the link as well as the steam client on the host die. The client then can only be forcefully be closed.

Ffallenguru 2019-11-03 github

Much better in 2019-11-02 01:05:33.

[In LiS-BtS] FPS are consistently high again, latency is ok.

The input issue (character continues walking for a few seconds after although I've stopped pressing any keys; or she stops and then starts walking on on her own) is still there. Not a huge issue in this particular game, but likely to kill the experience for anything requiring precision.

In addition, there's a strange visual effect, that wasn't there before the breakage: When moving, the character will blur/flicker briefly with each step, as if it were displayed twice, superimposed at a slight horizontal offset for a moment. It's not consistent, sometimes it's gone for a few seconds, other times it's particularly pronounced. Annoying, rather than game-breaking, and if it hadn't worked perfectly before I'd probably chalk it up to an engine/driver glitch.

Not perfect, but at least it's playable again, thank you.

EDIT: Spoke too soon.

Ffallenguru 2019-11-04 github

streaming_log.txt
Life_is_Strange-Before_the_Storm(554620)_11-03-19_23-50-05.zip

First real session today since the regression hit, still on 2019-11-02 01:05:33, turns out the optimism in my previous post was premature. The first launch attempt misbehaved as reported 4 days ago from the get-go, the second was fine ... for the first couple of minutes, then same old. Stable 60 FPS one moment, a sheer drop with enough skipped frames for a noticeable jerk the next; after a while it'd stabilise at 30 FPS, go back up to 60 FPS, stay there for a while, then go haywire again. Interestingly, today the image didn't freeze momentarily but skip.

Some guidance on where to find / how to generate useful debug info would be much appreciated. Remote Play has been my main mode of playing since it was called In-Home Streaming, I'd love to be able to use it again (and I was looking forward to trying Remote Play Together).

Ffallenguru 2019-11-07 github

Have the recent Steam updates changed anything that might make the video stream more taxing to decode or otherwise increase CPU load on the client?
I'm asking because I noticed system load was very high during streaming on the client, and sure enough, shifting down from Beautiful to Balanced more or less fixed LiS-BtS; while Prey (2017) requires Fast to run acceptably. BTW, shouldn't there be a warning, "slow decode" or the like, if the client can't keep up?

I'll be the first to admit that the client HTPC is underpowered [Intel Core i3-2100T, nVidia GeForce GT 520, 8 GB RAM] -- it was built for Kodi, originally, Steam streaming came later. The fact that hardware accelerated streaming broke upgrading to Ubuntu 18.04 probably didn't help, nor Spectre and friends. There wasn't any noticeable performance degradation before, but it's possible it didn't take much to break the camel's back.

Basically, at this point I'd like to know if you consider this a performance regression that you'd like to follow up on -- I'd be happy to help --, or just an increase in system requirements. In the meantime, I'll run tests with slightly newer hardware and as-similar-as-possible software stack.

Nntropy83 2019-11-07 github

@fallenguru have you checked, whether the decoding is done by the nvidia card or via software decode and the cpu. I think if its done via the nvidia card, it is nvapi that is used and maybe the card is not fit enough for the task. Also you can increase Hardware encoding process on the host machine, if it has enough power. On the Ryzen 9 3900X I can easily run 8 of them.

my issues above: latest Steam Update solved them.

Ffallenguru 2019-11-07 github

have you checked, whether the decoding is done by the nvidia card or via software decode and the cpu.

Definitely software-only (CPU). AFAIK hardware decoding (AMD, nVidia, Intel iGPU, doesn't matter) is impossible to achieve on any current distro. That's been broken for many months.

Ffallenguru 2019-11-09 github

So, with the CPU load back to normal, thanks(!) to hardware encoding working again (see #5339), the current status is:

  • audio isn't automatically muted on the host [couldn't swear it ever was, normally I only turn on the speakers when I'm using them]
  • the blur/flicker effect in LiS-BtS is still there [more noticeable in some scenes than others, so might not have coincided with the 2019-10-29 build; also it's game-specific]
  • subjectively, performance has gotten worse, or at least less consistent. I used to get a rock-solid 60 FPS stream from the host, now it dips a bit now & then [could be anything, including a mesa update or a side-effect of hardware decoding]
  • the input weirdness is still there. It's not lag, more like it's buffering keyboard input to the point of staleness [not game-specific, though only really noticeable in games where you'd, for example, hold down a cursor key for a while, then let go]

Basically, what's left of this bug at this point is a regression for keyboard input and the fact that software decoding somehow got more demanding.

Ffallenguru 2019-12-31 github

As of 2019-12-31, Steam beta build dated 2019-12-20, the input buffering [?] is gone and performance consistent again. Maybe it's still a little worse than it once was, but I couldn't say. Didn't test the auto-mute again (don't care, and it's not what the bug was about). The protagonist still flickers/blurs in some scenes (but again, if anything that's a different bug). Closing.

Proton versions

Upstream links