Rectus / openxr-steamvr-passthrough

OpenXR API Layer for SteamVR camera passthrough
MIT License
125 stars 5 forks source link

"SteamVR Not Initialized (109)" in DeoVR when enabled #14

Open itsame-luigi opened 3 months ago

itsame-luigi commented 3 months ago

When I have this API Layer enabled, DeoVR fails to initialize SteamVR, so the headset and controllers aren't recognized. In addition, the SteamVR dashboard icon for openxr-steamvr-passthrough isn't shown.

DeoVR logs the following:

<b>[SteamVR]</b> Not Initialized (109)
<b>[SteamVR]</b> Initialization failed. Please verify that you have SteamVR installed, your hmd is functioning, and OpenVR Loader is checked in the XR Plugin Management section of Project Settings.

openxr-steamvr-passthrough logs the following to XR_APILAYER_NOVENDOR_steamvr_passthrough.log:

2024-08-28 08:38:19 -0400: XR_APILAYER_NOVENDOR_steamvr_passthrough layer (0.2.6) is active
2024-08-28 08:38:19 -0400: Using layer: XR_APILAYER_NOVENDOR_steamvr_passthrough
2024-08-28 08:38:19 -0400: Requested extension: XR_KHR_vulkan_enable
2024-08-28 08:38:19 -0400: Requested extension: XR_KHR_D3D11_enable
2024-08-28 08:38:19 -0400: Requested extension: XR_KHR_D3D12_enable
2024-08-28 08:38:19 -0400: Requesting extension: XR_KHR_win32_convert_performance_counter_time
2024-08-28 08:38:19 -0400: Application Oculus VR Plugin (Unity 2022.3.15f1 (b58023a2b463)) creating OpenXR instance...
2024-08-28 08:38:19 -0400: OpenXR instance successfully created
2024-08-28 08:38:21 -0400: XR_APILAYER_NOVENDOR_steamvr_passthrough layer (0.2.6) is active
2024-08-28 08:38:21 -0400: Using layer: XR_APILAYER_NOVENDOR_steamvr_passthrough
2024-08-28 08:38:21 -0400: Requested extension: XR_KHR_vulkan_enable
2024-08-28 08:38:21 -0400: Requested extension: XR_KHR_D3D11_enable
2024-08-28 08:38:21 -0400: Requested extension: XR_KHR_D3D12_enable
2024-08-28 08:38:21 -0400: Requesting extension: XR_KHR_win32_convert_performance_counter_time
2024-08-28 08:38:21 -0400: Application Oculus VR Plugin (Unity 2022.3.15f1 (b58023a2b463)) creating OpenXR instance...
2024-08-28 08:38:21 -0400: OpenXR instance successfully created

("Oculus VR Plugin (Unity 2022.3.15f1 (b58023a2b463))" is what appears in SteamVR when DeoVR is launched)

Rectus commented 3 months ago

Thanks for the report. I can't reproduce the exact error, but I got a similar one where the controllers do not work. DeoVR seems to be loading both the OpenVR and OpenXR plugins, which I'm guessing is causing a conflict with different versions of openvr_api.dll from DeoVR and this layer. I have an update in the works that coincidentally seems to fix this issue as well.

In the mean time, you'll have to turn off the layer to be able to run DeoVR properly.

Note that DeoVR does not seem to officially support OpenXR when using SteamVR. You can force it by setting "Meta Plugin Compatibility" to On in the OpenXR tab of the SteamVR settings though. It will even enable the passthrough layer, but since it seems to run the Unity Meta plugin, it seems to only work with Metas controllers.

Rectus commented 3 months ago

I deleted a post with an unknown download link. If you see it, please don't download it, since it could be a bot posting malware.

itsame-luigi commented 2 months ago

When "Meta Plugin Compatibility" is set to "On", DeoVR doesn't invoke SteamVR.Initialize(), so the "Not Initialized" message won't be logged because initialization is never attempted and thus the controllers are never set up.

Rectus commented 2 months ago

That is expected, since DeoVR runs with the Meta plugin (which uses OpenXR) instead of the SteamVR plugin. Note that this API layer will not run with the Unity SteamVR plugin, since the plugin uses OpenVR and not OpenXR.

If you want to use the features of this API layer with DeoVR properly, you would have to ask the DeoVR devs to support OpenXR with the SteamVR runtime.

Rectus commented 2 months ago

I released an update which should prevent it from interfering with DeoVR when it's running in OpenVR mode, please see if it works for you. https://github.com/Rectus/openxr-steamvr-passthrough/releases/tag/v0.2.8-beta