protonscr

[BUG] SteamVR Errors with 307 on wlroots-based compsitors (hyprland) and Nvidia GPUs

steamvrclosed bug
ValveSoftware/SteamVR-for-Linux#550 · opened 2022-11-21 by ech0devv · updated 2024-05-03 · 11 comments · github
Eech0devv 2022-11-21 github

Describe the bug
On wlroots-based compositors (in my case hyprland) w/ an Nvidia GPU SteamVR refuses to work, even with async reprojection disabled. It appears to be a segfault, I'll attatch some logs as well as a dmesg below. Nothing on the internet appears to fix this issue.
To Reproduce
Steps to reproduce the behavior:

  1. Install any wlroots-based compositor alongside an Nvidia GPU, configuring as neccessary.
  2. Attempt to run SteamVR
  3. Error 307 appears

Expected behavior
A clear and concise description of what you expected to happen.

System Information (please complete the following information):

  • Distribution: [Arch/Manjaro/Ubuntu/etc.] Gentoo (same issue on arch linux)
  • SteamVR version: [E.g. 1.7.2] 1.25.1
  • Steam client version: [build number or date] Nov 17 2022
  • Opted into Steam client beta?: [Yes/No] Yes
  • Graphics driver version: [run nvidia-settings or vulkaninfo | grep driverInfo: 515.65.01
  • Gist for SteamVR System Information: https://gist.github.com/ech0devv/43a3a6c0abcc3573b69ff20b7bd9ee13 ( it didn't want to copy to clipboard, so this is the raw full thing. if you'd rather have a different format/anything related, please let me know )

Additional context
Here's the display in xrandr:
XWAYLAND2 disconnected (normal left inverted right x axis y axis)
2880x1600 144.00 + 120.02 90.00 80.00
Strangely enough, in wlr-randr, the VR headset is not shown, maybe this is involved with the issue?

Here's my wrapper file for Hyprland

#!/bin/sh

cd ~

export _JAVA_AWT_WM_NONREPARENTING=1
export XCURSOR_SIZE=24
export LIBVA_DRIVER_NAME=nvidia
export XDG_SESSION_TYPE=wayland
export GBM_BACKEND=nvidia-drm
export __GLX_VENDOR_LBIRARY_NAME=nvidia
export WLR_NO_HARDWARE_CURSORS=1
export WLR_DRM_DEVICES=/dev/dri/card0 
exec Hyprland

Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.

Cceselder 2022-12-09 github

Can replicate on Hyprland with an amdgpu

Cceselder 2022-12-09 github

We seem to need
"enableLinuxVulkanAsync" : false, sein .steam/steam/config/steamvr.vrsettings seems to fix it I think

Eech0devv 2022-12-09 github

mb accidentally closed

Eech0devv 2022-12-09 github

We seem to need "enableLinuxVulkanAsync" : false, sein .steam/steam/config/steamvr.vrsettings seems to fix it I think

already tried this as stated in message

ZZamundaaa 2022-12-16 github

Afaik there is no way you can get it to work, NVidia doesn't support drm leasing yet

SScrumplex 2022-12-18 github
Mon Nov 21 2022 10:48:45.753576 - Looking for direct display through RandR
Mon Nov 21 2022 10:48:45.753586 -  - Root 0x546
Mon Nov 21 2022 10:48:45.753628 -    - Output 0x21 - 23 modes, 1 preferred
Mon Nov 21 2022 10:48:45.753636 -      - Mode 0 0x25 1920x1080 (looking for 2880x1600)
Mon Nov 21 2022 10:48:45.753649 -    - Output 0x23 - 28 modes, 1 preferred
Mon Nov 21 2022 10:48:45.753655 -      - Mode 0 0x3c 2560x1440 (looking for 2880x1600)
Mon Nov 21 2022 10:48:45.753667 -    - Output 0x54f - 4 modes, 1 preferred
Mon Nov 21 2022 10:48:45.753674 -      - Mode 0 0x550 2880x1600 (looking for 2880x1600)
Mon Nov 21 2022 10:48:45.753679 -        - Found matching output 1359
Mon Nov 21 2022 10:48:45.753685 - Found candidate direct display as RandR output 0x54f

Your logs abruptly stop here, so I would assume vrcompositor is crashing/segfaulting here? If NVIDIA doesn't support drm-lease yet, you are out of luck.

Otherwise, make sure that Hyprland actually implements drm-lease. You can check for available protocols using wayland-info as part of wayland-utils.

Eech0devv 2022-12-18 github
SScrumplex 2022-12-18 github

interface: 'wp_drm_lease_device_v1', version: 1, name: 31

Looks like Hyprland supports drm-lease. Make sure to check its logs and see if there is an error when starting SteamVR.

Kkisak-valve maintainer 2024-05-03 github

Hello @ech0devv, can you retest this issue on a DRM Lease capable NVIDIA driver install? The various requirements can be found in some video driver release highlights like https://www.nvidia.com/download/driverResults.aspx/218153/.

Eech0devv 2024-05-03 github

Hey @kisak-valve , sorry, but I no longer have a machine with an nvidia card.

Kkisak-valve maintainer 2024-05-03 github

Thanks for the note. If someone is seeing a similar issue, then we can ponder that on a separate issue report.

Closing as outdated / resolved in the video driver.

Nothing extracted yet.