ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.23k stars 174 forks source link

Proton remote play together laggy/low fps/chuggy when hosting (linux) but remote play works perfect #9332

Open yaspoon opened 1 year ago

yaspoon commented 1 year ago

Your system information

Attached as system_info.txt

Steam client: Built Apr 6 2023, as 23:02:22 Steam API v020 Steam package version 1680827821

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

When remote playing together a proton title like Lego Indiana Jones the Linux host is running at full speed (60fps) but the client either windows or Linux runs at 1fps or less (A power point has more frames per second) but audio works fine. Tried remote play together over lan and internet, same result.

When remote streaming (Not remote play together) the same game it works perfectly fine to either Windows or Linux.

Remote playing together a native linux title that is OpenGL (Overcooked 2) it works perfectly fine running at full speed on both host and client.

I do not have any vulkan linux games that I can remote play together to try and rule that out.

I've tried the following stream settings combinations when remote playing together and it makes no difference. -Use NVFBC capture on NVIDIA GPU ON Enable hardware encoding ON ENABLE hardware encoding on nvidia ON -Use NVFBC capture on NVIDIA GPU OFF Enable hardware encoding ON ENABLE hardware encoding on nvidia ON -Use NVFBC capture on NVIDIA GPU OFF Enable hardware encoding OFF ENABLE hardware encoding on nvidia OFF

Steps for reproducing this issue:

  1. Launch Lego Indiana Jones on Linux host computer
  2. Invite friend to remote play together either over the lan or internet
  3. Client connects but is running at extremely low FPS (Less then 1 a second) but audio works fine

system_info.txt

yaspoon commented 1 year ago

Okay so after all that testing and I decided to post this issue now I discover something... The windows client I was remote playing with on the lan has 2560x1080 monitors and it lags/chugs but remote playing together with my linux laptop with a 1366x768 monitor actually seems to work fine, it has a few hiccups but that's probably the wifi... I've also now found out where the streaming_client and host logs are will attach them from sessions from the linux and windows clients

yaspoon commented 1 year ago

Okay well I fixed it... I noticed in the ~/.local/share/Stream/logs/streaming_log.txt when it is choppy there is this line: "SlowGamePercent" "7.40672969818115234"

So I turned off vsync and the game goes to 300fps on the host and the client then no longer chugs... This will be a problem for Lego Indiana jones as the physics breaks at such high fps, so not sure why vsync is breaking the capture so badly.

yaspoon commented 1 year ago

Streaming log from linux host. Includes different sessions, some have slow convert which will be to the Linux laptop with a smaller screen. The SlowGamePercent is when it was streaming with vsync on streaming_log.txt

yaspoon commented 9 months ago

Found any fix?

The semi fix was to turn of vsync as I mentioned in my second last comment. But that causes lego indianna jones to break because the physics is tied to FPS. So if you're playing any other game turning of vsync may fix it. Also I haven't tested this since I reported it and I've changed computer since then too.