ValveSoftware / steam-for-linux

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

Steam Remote Play Inconsistent Failure Between Two AMD Linux Machines #11155

Open longshanks197 opened 1 month ago

longshanks197 commented 1 month ago

Your system information

Please describe your issue in as much detail as possible:

The setup is two fully updated systems (same OS and version) with only AMD hardware (Host system is AMD Ryzen 7 7700 with AMD Radeon RX 7800XT, Client is AMD Ryzen 5 5600GT). Same Steam account is logged in on both machines and on same local network. This was first attempted with the Stable client. Initially, all worked perfectly. Remote Play worked with no issues. Played for a bit and then closed. Attempted to use Remote play the next day and it would not work. The game launches on the host but the stream is not setup properly. Sometimes using Steam-Tab while trying to connect would hold the load screen and audio would be sent but typically the screen closes and provide an option to "Connect". Trying to reconnect always fails but game is running on host.

I upgraded both host and client to the beta build and it worked initially and then failed just the same. Changed Remote Play options like hardware encoding/decoding and turning the Steam Overlay off. Seemingly there is no change with these options on or off. The fact that it worked initially leads me to believe this is not the issue. Additionally, while the Linux client is not able to connect, using the Steam Link app on Android as a client works without issue. This supports that this is isolated to a linux host/linux client issue.

Steps for reproducing this issue:

  1. Start Steam on Host and Client
  2. Use Remote Play - successfully play
  3. Stop playing
  4. After some time, attempt to use Remote Play again. Failure.
longshanks197 commented 1 month ago

After some reflection, I did some additional troubleshooting and I believe this is an issue with suspend/resume with steam open and two network sources. I had both a wired and wireless connection enabled on the client. The client machine is suspended when not in use and that is the key to this not working. These were my tests with no changes to the host machine:

Test 1: Suspend from BP mode - each failure of streaming mode, client was rebooted (4c "fix")

  1. Stream a game
  2. Suspend from Big Picture Mode menu
  3. Resume Machine
  4. Streaming broken

4a. After resume, close Steam completely - Start Steam - Streaming Broken 4b. After resume, log out of account, restart login manager (reset X), log back in, Start Steam - Streaming Broken 4c. After resume, reboot client machine, Streaming works as expected - Success?

Test 2: Suspend in Desktop Mode

  1. Stream game
  2. Exit game
  3. Exit BP mode
  4. Suspend Machine
  5. Resume and Open BP mode
  6. Streaming Broken

Test 3: Exit Steam Completely before suspend

  1. Stream Game
  2. Exit Game, Quit Steam
  3. Suspend Machine
  4. Resume machine
  5. Open Steam (opens in BP mode)
  6. Stream Game - Working as expected. - Success

At this point I reflected that perhaps it was a network path/IP issue. I checked and I had both wireless and wired networking coming on after system resume. I disabled/removed the wireless connection and repeated test 1. No issues with streaming after resume when suspending in Big Picture Mode.

So, I think this can be closed for my specific issue but may be worth looking at the suspend/resume code to see if there is some issue with multiple network sources on resume and streaming to prevent this from happening to someone else. For now I will just run it under the wired connection. Let me know if you want this closed to my resolution or open for further investigation by the team. Thanks!