-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Describe the bug
On AMD, VR Link produces encoding bitrate spikes far beyond the target, causing the decoder (Quest 2) to skip frames (because it cannot keep up). I get a lot of stuttering because of this.
This screenshot was taken while looking at the main menu of Beat Saber.
Link Settings:
- Bitrate: 150 Mbps (confirmed by "dTargetBW: 150" in the graph)
- Encoding size: manual
There are a lot of spikes reaching far beyond the target bitrate (above 300 and even 350 Mbps). As far as I know, the Quest 2's decoder can only handle h265 with up to 250 Mbps, so I guess that's the reason for the corresponding "DDec" spikes in the lower graph.
This gets much worse when I play a map in Beat Saber. For this one, I set the bitrate and encoding size to auto in the Link settings. The target bitrate seems to be around 232 Mbps, but there are a lot of overshoots that go up to 800 Mbps. The h265 decoder on the Quest cannot process that fast enough. This behavior causes serious lags and even audio dropouts sometimes.
As far as I can tell, these spikes appear when there is a lot of information on the screen. In the SteamVR menu, which is mostly empty, the bitrate is "smooth".
Is this an issue caused by SteamVR or by the Mesa driver?
To Reproduce
Steps to reproduce the behavior:
- Connect to remote headset (Quest 2)
- Start a game (Beat Saber)
- Observe spikes in SteamVR Remote graphs
Expected behavior
Bitrate should be close to the target bitrate.
System Information
- Steam client version: 1769025840 (stable)
- SteamVR version: 2.15.3 (beta)
- Distribution: Arch Linux (6.18.7-zen1-1-zen)
- GPU driver: Mesa 25.3.4
- Desktop: Gnome 49 (Wayland)
- GPU: AMD Radeon RX 9070 XT
- Steam runtime diagnostics: steam_runtime_diagnostics.txt
- Steam and SteamVR logs: driver_vrlink.txt
Additional context
This is not a new behavior in SteamVR 2.15.3. I experienced it since I switched my gaming PC to Linux a few months ago. First, I assumed something was not configured correctly on my side, or maybe Gnome was causing issues, but I tried it on CachyOS with KDE recently and experienced the same issue. I also loaded into the Gamescope compositor directly (without loading Gnome), but still the same issue.
When I set the bitrate manually to 25 Mbps (lowest), then the spikes only reach about 200 Mbps and not causing stuttering.
I couldn't test it with other games as I couldn't get them to run yet ^^