Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenXR applications cannot use SteamVR #1010

Open
FamiliarBreakfast opened this issue Nov 26, 2022 · 3 comments
Open

OpenXR applications cannot use SteamVR #1010

FamiliarBreakfast opened this issue Nov 26, 2022 · 3 comments

Comments

@FamiliarBreakfast
Copy link

Game information
I have only tested this with Godot's OpenXR and the OpenXR test program as I have no other programs with which to test. I believe this issue affects all OpenXR implementations.

Distribution name and version where applicable
Fedora Linux 37
Kernel 6.0.7-301.fc37.x86_64

Flatpak info
Flatpak 1.14.0
default
host

Problem description
OpenXR applications cannot use SteamVR's OpenXR implementation. There are multiple parts to this problem:

  1. steamxr_linux64.json is not in a standard location, so no existing OpenXR loader will detect it automatically.
  2. If one forces OpenXR to load the configuration anyway, it will fail, presumably due to flatpak sandboxing.
    This can be done through the XR_RUNTIME_JSON env variable.

Log file output from a simple test program: https://pastebin.com/0ZjCdy5e
Relevant excerpt:

Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering loader trampoline
Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering LoaderInstance::CreateInstance
Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering loader terminator
Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Completed loader terminator
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance chained CreateInstance call failed
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance chained CreateInstance call failed
Info [GENERAL | xrCreateInstance | OpenXR-Loader] : RuntimeInterface::UnloadRuntime - Unloading RuntimeInterface
Info [GENERAL |  | OpenXR-Loader] : RuntimeInterface being destroyed.
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed
ERROR: Failed to create XR instance.
at: create_instance (modules/openxr/openxr_api.cpp:286)

Does this issue reproduce with native Steam
No.

@Vixea
Copy link

Vixea commented Aug 27, 2023

could you link the test program?

@Adamcake
Copy link

Yeah, doesn't work at all. Beat Saber is the most obvious test case.

@DomiStyle
Copy link

This is still an issue it seems. Here's a quick test application made in Godot:
OpenXrTest.zip

Run OpenXrTest.sh or open project.godot in the Godot editor.

This will work when added as a non-steam game, it will fail when launched directly from the editor or via the .sh file.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants