Substantial DRM lease presentation latency resulting in unusable VR/ HMD experience

I’m experiencing heavy stutters when a game is maxing out my GPU.
The hardware/software I’m using is:

  • Intel i9 9900
  • RTX 2080 driver 580.65.06
  • Valve Index
  • Ubuntu 24.04.3 LTS
  • Monado/OpenComposite via Envision

I’ve installed the 580 driver via: CUDA Toolkit 13.0 Downloads | NVIDIA Developer

As Monado got a patch adressing the headset latency, which I was experiencing since driver 440 ( Latency in VR (with GSync) since 440.44 ) as well as tearing which I got with driver 570 ( Tearing in VR since 570.x ) and I heard it should all be adressed in the 580 driver, I tried different games to see if it improved. Beat Saber (using legacy 1.29.1, which is still openvr and not yet openxr) was running butter smooth, Pistol Whip (openxr) as well. But Synth Riders (openxr) was showing heavy stutters. With DXVK_HUD="devinfo,fps,version,gpuload,compiler" I was able to see how Synth Riders maxes out my GPU and as soon as it was hitting about 100% the stutters began. Synth Riders has been updated to V3, which uses the GPU in a different way and much more than V2 before, so it’s a good testcase for my setup.
I’m using monado with these env vars:

XRT_COMPOSITOR_USE_PRESENT_WAIT=1          # to fix headset tracking latency
U_PACING_COMP_TIME_FRACTION_PERCENT=90
XRT_COMPOSITOR_COMPUTE=1                   # async reprojection
XRT_COMPOSITOR_SCALE_PERCENTAGE=140
U_PACING_APP_USE_MIN_FRAME_PERIOD=1        # this and the next for float fps
U_PACING_APP_IMMEDIATE_WAIT_FRAME_RETURN=1 
XRT_COMPOSITOR_DESIRED_MODE=0              # set index to 90 Hz
XRT_CURATED_GUI=1
XRT_JSON_LOG=1
XRT_DEBUG_UI=1

When I use the kernel parameter to turn off VRR via grub (GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-modeset.conceal_vrr_caps=1") to elimate tearing in VR I get double images. Though with the env vars above and no kernel parameter I don’t have tearing in monado, but in Steam VR.

When I downgrade to driver 550.163.01, Synth Riders also maxes out my GPU, but async reprojection/representation works much better in monado. I’m not reaching 90 fps, it’s more like 75 fps, but it’s smooth without any stutters.

I’m not using Steam VR much, as it tends to cause performance issues in games, I’ve focused on monado.

If there is information missing or if I should test something to help addressing this, let me know.

When setting NVreg_RegistryDwords=RmEnableAggressiveVblank=1 with 580 it causes permanent display errors in Steam VR, it has no effect on the stutters in monado.

nvidia-bug-report-20250807.log.gz (1.0 MB)