SteamVR: No libdrm.so

I finally filed a bug report with Valve over SteamVR failing to launch. They quickly pointed out that the logs indicate libdrm.so is missing. Searching this Discord for that term specifically turns up nothing, and searching the web merely turns up almost nothing, but none of it helpful to solve this issue. So what is libdrm.so, why is it not present, and what can I do about it? I have found some very similarly-named files such as /usr/lib/libdrm.so.2 but I don't know if that's what SteamVR needs.
GitHub
WaylandHMDLeaseDevice::LeaseDevice_DrmFD: No libdrm.so on Bazzite ·...
Describe the bug SteamVR fails to initialize, showing several errors at various stages of interaction. To Reproduce Steps to reproduce the behavior: Start SteamVR Error window appears in Steam: Ste...
50 Replies
Kyle Gospo
Kyle Gospo3mo ago
No description
Kyle Gospo
Kyle Gospo3mo ago
both 32-bit and 64-bit libdrm is present here could be a failure in the library? or they are loading libdrm.so exactly and we need a symlink?
Onihikage
Onihikage3mo ago
Added the symlinks per your instructions in the github thread, but it still fails out with all the same errors. However, vrcompositor.txt doesn't mention libdrm.so anymore, so... progress? It may be worth mentioning that I don't know whether the display should be enabled or disabled in display settings. I remember on Windows I had to disable the VR display from having the desktop extend to it, but it seems to make no difference if it's enabled or disabled in KDE's display settings, it still fails to initialize.
iMightBeSpyduck
iMightBeSpyduck3mo ago
have you tried steamvr beta? it supposed to be fixed(not sure if fix is already in stable branch) https://github.com/ValveSoftware/SteamVR-for-Linux/issues/667
GitHub
[BUG] Not Initialized (109) on Fedora due to distro modified SDL · ...
Describe the bug SteamVR failed to initialize for unknown reasons. (Error: Not Initialized (109)(109)) A key component of SteamVR isn't working properly. Please quit SteamVR, then visit Task Ma...
Onihikage
Onihikage3mo ago
I'm in both the Client and SteamVR betas, as directed by the instructions given when creating a new issue on their Github. Doesn't matter though, issue still occurs in the public releases for both. At least the issue of the unkillable Xorg window was resolved by switching to the beta client, so testing VR isn't quite as painful as it was. @1/4 Life I just realized adding those symlinks seems to have broken Waydroid. Fresh boot, Waydroid works. Enable dev mode and add symlinks, Waydroid no longer starts up.
Kyle Gospo
Kyle Gospo3mo ago
enabling usroverlay is what breaks waydroid since that undoes the selinux fix we do expected
Onihikage
Onihikage3mo ago
ah, so that's normal then, nvm
Kyle Gospo
Kyle Gospo3mo ago
yup yup
Onihikage
Onihikage3mo ago
still wish I could figure out what's causing steamvr to fail without the libdrm.so error it still seems to receive null from Wayland when it tries to get the headset display Or nil rather. From vrcompositor.txt
[Info] - CHmdWindowSDL: Using Wayland
WaylandHMDState: Got interface: wp_drm_lease_device_v1
WaylandHMDLeaseDevice::LeaseDevice_DrmFD: /dev/dri/card1
WaylandHMDLeaseDevice::LeaseDevice_Done
[Info] - CHmdWindowSDL: Using Wayland
WaylandHMDState: Got interface: wp_drm_lease_device_v1
WaylandHMDLeaseDevice::LeaseDevice_DrmFD: /dev/dri/card1
WaylandHMDLeaseDevice::LeaseDevice_Done
[...]
[Info] - HMD deviceUUID is 2d00000000
[Info] - Tried to find direct display through Wayland: (nil)
[Error] - CHmdWindowSDL: Failed to create direct mode surface
[Error] - CHmdWindowSDL: VR requires direct mode.
[Info] - HMD deviceUUID is 2d00000000
[Info] - Tried to find direct display through Wayland: (nil)
[Error] - CHmdWindowSDL: Failed to create direct mode surface
[Error] - CHmdWindowSDL: VR requires direct mode.
@Kyle Gospo Someone using Fedora 40 chimed in on the support thread reporting the same problem I'm having. I'm starting to think this is a Wayland or Xwayland issue - but not one we can't get around. I finally found the right search terms to stumble on freedesktop's documentation for Direct Mode on Linux, which says:
On vanilla wayland compositors HMD displays are not hidden, they appear in monitor configuration tools as conventional monitors. It is also not possible to acquire a display for direct mode. Patches for a WIP mesa and a wayland protocol implementation can be found on Drew DeVault’s blog.
The first two paragraphs exactly describe my situation - my Valve Index shows as a generic 640x480 display in the display settings, and Steam is failing to acquire a display for direct mode. Have Drew DeVault's patches been applied in Bazzite? If they have, they don't seem to be working for some reason. I did check xrandr --prop and the Index was showing non-desktop: 0, so I changed it with xrandr --output DP-3 --set non-desktop 1 but nothing happened. It still shows up in display settings, and still vanishes from xrandr --prop when I disable it in display settings. Logged out and back in, it's still there, and xrandr --prop is back to showing non-desktop: 0 on the HMD, so I assume I need some way of making that config change persistent after the DM restarts.
Kyle Gospo
Kyle Gospo3mo ago
those patches are very old and should be in KDE I don't think they're still needed that being said, if Valve gets back to us on what's going on w/ KDE6 wayland I will be happy to merge patches for whatever is needed
Onihikage
Onihikage3mo ago
I still think there's some issue with Wayland not recognizing that my HMD is an HMD I recall in Windows once SteamVR was installed and configured with the Index, it would be hidden from the display settings and the documentation I'm finding indicates the same should happen here, but it isn't
Onihikage
Onihikage3mo ago
Okay, here's someone with Plasma 6 Wayland + 7900XTX (mine is 7900 GRE) who had a different problem and was able to get into VR when they solved it. However they're on CachyOS which is Arch-derivative.
GitHub
[BUG] Initialization failure from QT_QPA_PLATFORM=wayland;xcb on ...
Describe the bug Steam VR fails to launch on a Plasma 6 Wayland desktop. To Reproduce Steps to reproduce the behavior: Launch Steam VR Expected behavior Steam VR launches and awaits a headset conne...
iMightBeSpyduck
iMightBeSpyduck3mo ago
this should not be problem, kde wayland support DRM leasing. Last time I tried it was in march but on opensuse and it was working. So it's not wayland issue
iMightBeSpyduck
iMightBeSpyduck3mo ago
KDE Plasma 5.24 On Wayland To Support DRM Leasing For VR Headsets
With the KDE Plasma 5.23 release quickly approaching, feature development is already heating up for Plasma 5.24 while concurrently driving many fixes into the v5.23 codebase.
iMightBeSpyduck
iMightBeSpyduck3mo ago
I am only testing bazzite in VM so can't help more
Want results from more Discord servers?
Add your server