protonscr

Remote play - Hardware encoding issue with Nvidia GPU

steamopen Streaming
ValveSoftware/steam-for-linux#7598 · opened 2021-01-10 by tuxrinku · updated 2021-01-10 · 4 comments · github
Ttuxrinku 2021-01-10 github

Your system information

  • Steam client version (build number or date): Jan 8 2021, at 02:20:31
  • Distribution (e.g. Ubuntu): Ubuntu 20.10
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

When I check "enable hardware encoding" in remote play settings, the stream is really slow and laggy, way more than when it's unchecked. But I'd like to play with a better quality and even at "balanced" I start to get some lag in software mode. Only the "fast" mode is okay. I'm running ubuntu 20.04 with Nvidia RTX 2070 Super. My bandwidth souldn't be a problem either, I got 100mb/s in network test through steam link.

I'm streaming to a raspberry pi 4B.

I also had to set the number of encoding threads to 1 since when I set it to auto or 2+ it creates some lag.

If I missed something, I'd appreciate some help to figure out how to get the hardware encoding working properly.

Steps for reproducing this issue:

  1. Enable hardware encoding within remote play settings (with Nvidia GPU)
  2. Start streaming to another computer
Kkisak-valve maintainer 2021-01-10 github

Hello @tuxrinku, this sounds like a weakness in the video decode hardware on the Raspberry Pi, either in total bit rate or complexity of the stream. If you stream to another desktop computer, how does it behave for you?

Ttuxrinku 2021-01-10 github

I just tried to stream it to my fairly powerful phone and it seems to work well. So is there anything to do on the raspberry pi end ? Or within the steam link app ? And why does it work faster in software mode than hardware encoding mode ?

Kkisak-valve maintainer 2021-01-10 github

I expect that it's just less total video content from one moment to the next that doesn't overload the video decode capabilities of the Raspberry Pi's hardware. It's also possible that nVidia's hardware encoder picks a different H.264 encoding profile which the Raspberry Pi doesn't handle as well as what the software encode path uses.

Ttuxrinku 2021-01-10 github

I tried few different settings and when I enable HEVC in raspberry pi Steam link, it works perfectly without any lag except two things :
- When shaders are used in game (for example, when I boost in Rocket League), the fps drop drastically, even on host side. This also happens using the phone steam link app.
- The hdmi connection to the raspberry pi is unstable and it drops every few seconds, making it impossible to use.

The second issue is probably not related to steam though.

Nothing extracted yet.