protonscr

[BUG] AMD encoding bitrate spikes/overshoots causing decoder to stutter

steamvropen bug
ValveSoftware/SteamVR-for-Linux#865 · opened 2026-02-08 by mastercaution · updated 2026-07-17 · 3 comments · github
Mmastercaution 2026-02-08 github

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.

Image

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.

Image

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:

  1. Connect to remote headset (Quest 2)
  2. Start a game (Beat Saber)
  3. 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 ^^

PPacketdancer 2026-05-01 github

Does this still happen for you in the current 2.16.4 beta? Asking because I'm not seeing it in testing with an RX 7900 and 2.16.4, but "works for me" feels like a bad answer here. Especially in as diverse an ecosystem as Linux can be.

Mmastercaution 2026-05-02 github

Unfortunately yes. Still the same issue.
SteamVR version: 2.16.4 (beta)
Mesa: 26.0.5

Currently, I suspect that it's an issue caused by Mesa because from the SteamVR logs it looks like SteamVR is using the Vulkan Video interface for video encoding. ALVR uses VAAPI through FFmpeg and it doesn't have this issue. But I'm no expert. ALVR likely configures the encoder differently, so maybe it's a encoder configuration issue.

PPacketdancer 2026-05-06 github

Alright, we'll look into it further. Thanks for the confirmation!

Nothing extracted yet.