"OpenXR was requested but failed to start" from XR tutorial scene

Godot Version

4.3

Question

I am attempting to update my VR project from Godot 4.2.2 to 4.3, but Godot is consistently failing to connect with SteamVR in this version. I followed this guide from the docs and am encountering the same problem. Every time I run the scene, there’s a pop-up window which says:

ALERT!
OpenXR was requested but failed to start.
Please check if your HMD is connected.
Godot will start in normal mode.

My headset is definitely connected, and I can run games and previous Godot versions on it. I’m hoping that the issue is something I’m doing wrong and not an engine problem.

I’m using an Index headset on Linux, if that helps.

Very strange, if Steam is up and running it should find it, unless its somehow not the current OpenXR runtime.

If you turn verbose output on, does the log give any further information about what it’s trying to do?

Thanks for the quick response. I tried running the test project again after opening the editor through bash with the --verbose flag. This seems to be the relevant part of the output when I tried to run the scene:

OpenXR: Found OpenXR layer XR_APILAYER_LUNARG_core_validation
OpenXR: Found OpenXR layer XR_APILAYER_LUNARG_api_dump
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime skipping manifest file /home/real_user/.config/openxr/1/active_runtime.json, failed to load with message "/home/real_user/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrclient.so: wrong ELF class: ELFCLASS64"
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
ERROR: OpenXR: Failed to enumerate number of extension properties
   at: load_supported_extensions (modules/openxr/openxr_api.cpp:357)
WARNING: OpenXR was requested but failed to start.
Please check if your HMD is connected.
Godot will start in normal mode.

     at: initialize_openxr_module (modules/openxr/register_types.cpp:151)

This: RuntimeInterface::LoadRuntime skipping manifest file /home/real_user/.config/openxr/1/active_runtime.json, failed to load with message "/home/real_user/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrclient.so: wrong ELF class: ELFCLASS64" is the source of the issue. It’s failing to load Valves OpenXR runtime. I wonder whats causing that.

I’ll see if I can get some info on this.

1 Like

Heyo, did you ever find any info on the problem?

Sadly no, I’ve not had any feedback. It’s a very strange problem.

I got the situation fixed. From the bit of research I did, the wrong ELF class: ELFCLASS64 probably means that Godot was expecting the SteamVR client binary to be 32-bit, for some reason. I ended up building the 4.3-stable branch myself to inherit whatever system properties I have and now I have a 4.3 build that runs VR. Thank you Godot devs for making your source code incredibly easy to build.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.