Open Onihikage opened 2 months ago
Hello @Onihikage, [Error] - WaylandHMDLeaseDevice::LeaseDevice_DrmFD: No libdrm.so
in your vrcompositor.txt log looks relevant.
I can confirm libdrm is installed in-image, but perhaps we need another version or symlink for SteamVR?
kylegospo@daedalus:/usr/lib$ ls -la | grep libdrm
lrwxrwxrwx. 7 root root 22 Mar 4 20:52 libdrm_amdgpu.so.1 -> libdrm_amdgpu.so.1.0.0
-rwxr-xr-x. 3 root root 48072 Dec 31 1969 libdrm_amdgpu.so.1.0.0
lrwxrwxrwx. 7 root root 21 Mar 4 20:52 libdrm_intel.so.1 -> libdrm_intel.so.1.0.0
-rwxr-xr-x. 3 root root 156664 Dec 31 1969 libdrm_intel.so.1.0.0
lrwxrwxrwx. 7 root root 23 Mar 4 20:52 libdrm_nouveau.so.2 -> libdrm_nouveau.so.2.0.0
-rwxr-xr-x. 3 root root 40064 Dec 31 1969 libdrm_nouveau.so.2.0.0
lrwxrwxrwx. 7 root root 22 Mar 4 20:52 libdrm_radeon.so.1 -> libdrm_radeon.so.1.0.1
-rwxr-xr-x. 3 root root 52436 Dec 31 1969 libdrm_radeon.so.1.0.1
lrwxrwxrwx. 7 root root 15 Mar 4 20:52 libdrm.so.2 -> libdrm.so.2.4.0
-rwxr-xr-x. 3 root root 102876 Dec 31 1969 libdrm.so.2.4.0
kylegospo@daedalus:/usr/lib$ cd /usr/lib64/
kylegospo@daedalus:/usr/lib64$ ls -la | grep libdrm
lrwxrwxrwx. 7 root root 22 Mar 4 20:52 libdrm_amdgpu.so.1 -> libdrm_amdgpu.so.1.0.0
-rwxr-xr-x. 3 root root 48736 Dec 31 1969 libdrm_amdgpu.so.1.0.0
lrwxrwxrwx. 7 root root 21 Mar 4 20:52 libdrm_intel.so.1 -> libdrm_intel.so.1.0.0
-rwxr-xr-x. 3 root root 153896 Dec 31 1969 libdrm_intel.so.1.0.0
lrwxrwxrwx. 7 root root 23 Mar 4 20:52 libdrm_nouveau.so.2 -> libdrm_nouveau.so.2.0.0
-rwxr-xr-x. 3 root root 40768 Dec 31 1969 libdrm_nouveau.so.2.0.0
lrwxrwxrwx. 7 root root 22 Mar 4 20:52 libdrm_radeon.so.1 -> libdrm_radeon.so.1.0.1
-rwxr-xr-x. 3 root root 53160 Dec 31 1969 libdrm_radeon.so.1.0.1
lrwxrwxrwx. 7 root root 15 Mar 4 20:52 libdrm.so.2 -> libdrm.so.2.4.0
-rwxr-xr-x. 3 root root 95376 Dec 31 1969 libdrm.so.2.4.0
The log does specifically say libdrm.so
, which can exist in other distros. If you were to test it, then it would be handled similarly to the libdrm.so.2
symlink you're showing in those directory listings.
Much thanks @kisak-valve
@Onihikage On your end if you want to confirm the fix:
sudo rpm-ostree usroverlay
sudo ln -s libdrm.so.2.4.0 /usr/lib64/libdrm.so
sudo ln -s libdrm.so.2.4.0 /usr/lib/libdrm.so
If that resolves the issue I will roll out an update to add this to the image. @kisak-valve Nothing should differ here between Bazzite & Fedora so I'll try to communicate this fix to them as well.
@KyleGospo I've run those commands but nothing seems to have changed when trying to run SteamVR. Uploading Steam logs again:
steam-logs.tar.gz steam-minidumps.tar.gz Steam Runtime Diagnostics 2.txt
I have noticed that vrcompositor.txt
doesn't seem to make any mention of libdrm.so
this time.
I am on Fedora 40 and am receiving the same error codes (Steam: 109, SteamVR: 496). I created the symlinks for libdrm.so from libdrm.so.2.4.0. Like above, the missing libdrm.so error from vrcompositor.txt goes away. But it fails to find a direct mode surface in wayland.
@rgbRandomizer Remember to post your logs. Run tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs
in a terminal and upload the tar.gz file it puts on your desktop. The more data we have around why this problem is happening, the closer we'll be to a solution.
steam-logs.tar.gz Please see attached
Well, here's an update. My system, for whatever reason, wasn't able to read the EDID from the Index to identify what kind of display it is. The EDID file at /sys/class/drm/card1-DP-3
(the interface my Index is plugged into) showed in Dolphin as an empty document, while the EDIDs for each of my monitors showed as an unknown file, size 0 B
in both cases. Running sudo cat /sys/class/drm/card1-DP-3/edid
returned no output at all, while running sudo cat /sys/class/drm/card1-DP-1
returned the (garbled, as expected) EDID information from my primary monitor.
This was the core of SteamVR not being able to connect to the display - Wayland couldn't identify the display's capabilities without a readable EDID. Why the EDID was unreadable, I haven't determined. I had previously tried unplugging the HMD and plugging it back in several times before; I did it again today and it happened to work this time, but I don't know why. It may have something to do with whether the generic display was disabled or enabled in KDE's Display Configuration. If the issue occurs again, I'll try to get more details on the exact circumstances. If it doesn't - well, try what I tried.
@rgbRandomizer Take note of whether the Index HMD shows up in Display Configuration, and whether it's enabled or disabled, then try either unplugging the power for the HMD or unplugging the connector between the HMD and the three-way breakout section, so that the headset powers completely off. Wait a bit, then carefully plug it back in. If it worked, the EDID file should show in Dolphin as an Unknown
file instead of an Empty document
, the HMD shouldn't show up in Display Configuration at all (not even the display dropdown), and the SteamVR errors should be resolved. It will show in xrandr --prop
as a disconnected non-desktop display with all the correct resolutions it's supposed to have. If there's no change, toggle its enabled/disabled state in Display Configuration and try it again.
@Onihikage I swear two days ago that there wasn't a third option under the Display Configuration (for me it just shows up as nvidia). But I just updated the nvidia driver to 550.90 this morning.
So after updating drivers, I did see a third entry in the display configuration. Disconnecting the headset, with the breakaway, then reconnecting removed the third entry. I did verify that the edid was not empty. But I still received the 109/496 errors until I rebooted. Now it seems to start up and display in the headset. Its very strange.
I am going to attach updated logs just in case. There is some crashes with vrwebhelper in the log but I believe this is due to iracing (app 266410) that I had started up to test. steam-logs.tar.gz
Describe the bug SteamVR fails to initialize, showing several errors at various stages of interaction.
To Reproduce Steps to reproduce the behavior:
SteamVR Error - SteamVR failed to initialize for unknown reasons. (Error: Not Initialized (109) (109))
Screenshot provided.that is unkillable by any means except logging outthat is killed the instant it appears, if using the Steam Beta Client. Screenshot provided.Failed to connect to headset display
//Your headset might not be connected, or your desktop environment might not support VR.
A(496)
is displayed in the lower-right corner.SteamVR failed initialization with error code VRInitError_IPC_CompositorInvalidConnectResponse: "Shared IPC Compositor Invalid Connect Response (307)"
//Please verify SteamVR is properly installed and try again.
Screenshot provided.Expected behavior SteamVR should work properly and be playable.
System Information:
Screenshots Screenshots were taken with the non-beta client, but aside from the unlabeled Xorg window described in reproduction step 3, and the SteamVR status window having a proper icon in the taskbar instead of the Xorg logo, the visuals are the same when using the beta client.
Additional context SteamVR works properly in Windows 11 on this machine. I'm not using any adapters or third-party dongles with the Index as far as I'm aware, just what was included with the Index kit.
My hardware is entirely off-the-shelf components, and Bazzite is an immutable distro from Universal Blue based on Fedora Atomic Desktops, so it should be fairly easy to replicate my environment. Please let me know if there is any more information I can provide.