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?
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 ?
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.
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.
Your system information
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: