565.57.01 Gnome Wayland 47.1 DRM Lease not working anymore (Unable to find non-desktop output)

It seems like I can not play VR games anymore on my system. However it worked on my system since the release of Gnome 47, and at least until Oct 20 2024 (the last time according to Steam that I started BeatSaber). I believe the actual issue is related to my system being unable to find a non-desktop output:

Error    [/home/mari/.local/share/envision/monado/src/xrt/compositor/main/comp_window_direct_nvidia.c:_test_for_nvidia]
    NVIDIA: No allowlisted displays found!
    == Current Allowlist (8) ==
        Sony SIE  HMD *08
        HTC Corporation HTC-VIVE
        HTC Corporation VIVE Pro
        Oculus VR Inc. Rift
        Valve Corporation Index HMD
        Seiko/Epson SEC144A
        HPN
        PNP
    == Found Displays (1) ==
        LG Electronics 32inch LG FHD (HDMI-0)
Error    [/home/mari/.local/share/envision/monado/src/xrt/compositor/main/comp_window_direct_randr.c:comp_window_direct_randr_init]
    No non-desktop output available.

(I do own a HTC-VIVE)

The relevant code in monado:

I originally noticed a few days ago that I am not able to start SteamVR anymore, I always get the error: “Your desktop environment (Gnome Wayland) does not support Direct Rendering Manager leases.”

However I believe that the error from Steam is wrong and misleading.

mari@Akko ~ $ wayland-info | grep drm
interface: 'wl_drm',                                     version:  2, name:  3
interface: 'wp_linux_drm_syncobj_manager_v1',            version:  1, name: 31
interface: 'wp_drm_lease_device_v1',                     version:  1, name: 33

drm_lease should work according to wayland info. After testing out a few things mentioned in the linux monado discord server we were able to figure out that monado is not able to find a non-desktop output. This might be the actual issue, and Steams error catching and error message might potentially be misleading.

mari@Akko ~ $ pacman -Qe | grep nvidia 
lib32-nvidia-utils 565.57.01-1
libva-nvidia-driver 0.0.13-1.1
nvidia-dkms 565.57.01-2
nvidia-patch 565.57.01-1
nvidia-settings 565.57.01-1
nvidia-utils 565.57.01-2
opencl-nvidia 565.57.01-2
NVIDIA-SMI 565.57.01
Driver Version: 565.57.01
CUDA Version: 12.7
mari@Akko ~ $ uname -a
Linux Akko 6.11.6-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Fri, 01 Nov 2024 03:30:35 +0000 x86_64 GNU/Linux

(maybe Error: ‘const struct drm_mode_config_funcs’ has no member named ‘output_poll_changed’ is related?)

1 Like

The title is not related to the error you get. I have the same error with my Reverb G2 if I not explicitly add “HP Inc.” as an environment setting export XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY="HP Inc." (which was sort of the HPN one. ) So trying to set it to something your HMD might begin with might work. To get to my “HP Inc.” I added log lines to the code to debug.