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
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?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.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...
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.
enabling usroverlay is what breaks waydroid
since that undoes the selinux fix we do
expected
ah, so that's normal then, nvm
yup yup
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
[...]
@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.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
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
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...
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
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.
I am only testing bazzite in VM so can't help more
also kernel is marking Valve Index as non desktop display https://github.com/torvalds/linux/blob/d20f6b3d747c36889b7ce75ee369182af3decb6b/drivers/gpu/drm/drm_edid.c#L203
GitHub
linux/drivers/gpu/drm/drm_edid.c at d20f6b3d747c36889b7ce75ee369182...
Linux kernel source tree. Contribute to torvalds/linux development by creating an account on GitHub.
maybe I could try to run steamvr from fedora 40 livecd
There's the EDIDs again. I've seen a bit about them in research, but I have yet to be able to find any files related to EDIDs that actually mention them, nor have I been able to see what EDID my Index is showing up as.
xrandr --prop
shows this for the Index:
this is on opensuse after connecting headset
steam is not running
Yeah that's definitely different behavior
yours shows as disconnected/non-desktop, as it should
mine will show as connected unless I disable it in display configuration, then it doesn't show in xrandr at all
and obviously the resolutions and refresh rates are all wrong
yet it can't be a hardware issue because it still works in Windows, right?
can you launch Info center and under wayland search for 'wp_drm_lease_device_v1'
interface: 'wp_drm_lease_device_v1', version: 1, name: 49
hmm, this definitely indicates Wayland doesn't know the Index is an Index
the question now is why it doesn't know that
or, failing that, how can I tell it?
/sys/class/drm/card1-DP-3/edid
looks like an empty file
and I assume it shouldn't be emptyis it correct file? run
find /sys |grep -i edid
seems to be correct,
/sys/class/drm/card1-DP-3
is a symlink to /sys/devices/pci0000:00/0000:00:03.1/0000:2b:00.0/0000:2c:00.0/0000:2d:00.0/drm/card1/card1-DP-3/
which came up in the find command you gave me
however I am noticing one thing
for the other displays, edid
shows as an... executable file? 0B in size
for the Index, it's a blank filespecifically
Unknown, 0 B
on either monitor vs Empty document, 0 B
on the IndexCould this help any? I don't know if I can trust it though 🤔
its show 0b for me to but I am able to decode it with
udo cat /sys/devices/pci0000:00/0000:00:03.1/0000:0a:00.0/0000:0b:00.0/0000:0c:00.0/drm/card1/card1-DP-1/edid | edid-decode
this is my pathI tried edid-decode earlier but it's not installed by default
can you copy it with and send it to me?
sudo cp should work
alright
I mean it just makes another empty file
and I can't upload it
try
sudo cat filepath > ~/edid
still 0 bytes and can't be uploaded
I also had to create the target file
so I either need to layer edid-decode or whatever parent package it's from with rpm-ostree, or figure out how to install it in a distrobox, if that would even work
or risk the flatpak from earlier
hm that worked from after doing that i had 256b file in home folder
for what it's worth,
sudo cat filepath
without sending it to a file outputs nothing
and outputs a lot of something if I do it with one of the monitors
so for some reason the system can't read the EDID
I wonder if I can read it from Windows 🤔
might try that next tbhreplace filepath with you path to that edid file
yeah, I did that
just puts out nothing for the HMD
disconnect VR from PC, reconnect it
is there any error in dmesg?
only one error from a while before I unplugged them, but it looks like everything reconnects fine, at least on the USB side of things
that said...
and it doesn't show in display manager
I'm gonna be pissed if it works all of a sudden, because I tried unplugging it several times already
due to that one report from someone saying they just unplugged and replugged until it worked
but also
amdgpu 0000:2d:00.0: [drm] enabling link 2 failed: 15
doesn't look good...yeah that was from me disabling the HMD again in display manager after something fucky happened while I was asleep with the monitors off
so now magically it's fine
well, not completely fine, it still has that unkillable xorg window which will be annoying
but hot damn it seems to work
so why'd it work this time and not all the others!? (╯°□°)╯︵ ┻━┻
try switching from beta to stable or stable to beta, I remember one of them didn't have that issue(that was 3 month ago). Also for me steamvr always fail on first launch and need to force close it and on second launch it work normally
oh, I did that about a billion times
I'll have to update my support thread but also mess with VR a lot over the next few days to see if the issue reoccurs and if there's a particular state the system needs to be in for the unplug-replug to work
All that and now I find out motion smoothing isn't supported on Linux = . =