Skip to content

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

@mastercaution

Description

@mastercaution

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 ^^

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions