NVIDIA / open-gpu-kernel-modules

NVIDIA Linux open GPU kernel module source
Other
15.21k stars 1.28k forks source link

General VR issues. #251

Open Bitwolfies opened 2 years ago

Bitwolfies commented 2 years ago

NVIDIA Open GPU Kernel Modules Version

515.43.04-7

Does this happen with the proprietary driver (of the same version) as well?

No

Operating System and Version

Arch Linux

Kernel Release

5.17.9

Hardware: GPU

GTX 3080

Describe the bug

When using the open driver, SteamVR will crash Xorg 4/5 times, this issue is not happening when using the standard closed DKMS version, however, the 1/5 times it does work, it is the smoothest VR i've ever used on Linux, resolving several jittery issues when using closed.

Along with this, neither driver works over Xwayland, Kwin added DRM leasing support, which works fine with AMD cards, but not Nvidia ones.

To Reproduce

Just try and use SteamVR, and wait for the crash.

Bug Incidence

Sometimes

nvidia-bug-report.log.gz

nvidia-bug-report.log.gz

More Info

No response

SpookySkeletons commented 2 years ago

Could you elaborate on the smoothness? VR on both nvidia proprietary and amdgpu is HORRIBLY broken as far as their motion vector smoothing goes, is it functional? Could you post a little high framerate footage of it working on a heavy scene?

Bitwolfies commented 2 years ago

Could you elaborate on the smoothness? VR on both nvidia proprietary and amdgpu is HORRIBLY broken as far as their motion vector smoothing goes, is it functional? Could you post a little high framerate footage of it working on a heavy scene?

Id be lucky to even get back into a session, but from what was there, the bouncing of the steamvr grids and overlays, along with the steamvr menus awful stutter? Gone.

rwinkhart commented 2 years ago

Id be lucky to even get back into a session, but from what was there, the bouncing of the steamvr grids and overlays, along with the steamvr menus awful stutter? Gone.

The first issue you mentioned (with the grid/overlays) is actually due to a poor implementation of asynchronous re-projection. My guess is that SteamVR is disabling asynchronous re-projection on the open driver by default, either due to it not being implemented in the driver, or (more likely) due to the open driver not yet being whitelisted by Valve for enabling asynchronous re-projection.

You can fix this problem on the current closed drivers! Close Steam and add:

{
   "steamvr" : {
      "enableLinuxVulkanAsync" : false
   }
}

...into ~/.steam/steam/config/steamvr.vrsettings. The outer set of braces represent the preexisting ones in the configuration file, so just paste the inside to the bottom of your config file just before the last closing brace.

Once you open Steam back up and launch SteamVR, the menus/grids/overlays should no longer bounce about.

Edit (08/19/2022): Each line in "steamvr":{} must end with a comma, except for the last line, otherwise the file will be regenerated and your settings will be reset. Any missed commas or commas where they should not be will result in this workaround not functioning.

Vixea commented 11 months ago

Update on this reprojection issue to see if Nvidia would be interested in working on a solution. Basically it's because of the compositor's inability to actually guarantee that it's pipeline will get time to complete on the GPU. See https://gitlab.freedesktop.org/mesa/mesa/-/issues/10101

Vixea commented 2 months ago

Ping of status?