GodotVR / godot_openxr_vendors

Godot 4 wrapper for OpenXR vendors loaders and extensions
MIT License
111 stars 24 forks source link

Can't Use Pico Neo 3 Pro. Failed to Start OPenXR #201

Open Blixtdraken opened 3 months ago

Blixtdraken commented 3 months ago

image

I get this error upon building and godot can't find XR Interface using this code

extends Node3D

var xr_interface: XRInterface

func _ready():

    xr_interface = XRServer.find_interface("OpenXR")

    if xr_interface and xr_interface.is_initialized():
        print("OpenXR initialized successfully")

        # Turn off v-sync!
        DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)

        # Change our main viewport to output to the HMD
        get_viewport().use_xr = true
    else:
        print("OpenXR not initialized, please check if your headset is connected")

I have selected pico as vendor in export settings.

I am sure the code gets executed on the account that I get the output "OpenXR not initialized, please check if your headset is connected" .

Meister1593 commented 1 month ago

Could it be because you have older pico pui version and godot now uses khronos openxr loader instead of pico's one?

ArnaudG-Eyesoft commented 1 month ago

Hi, I have the exact same issue on my Pico Neo 3 Pro (PUI version 5.9.9.0):

2024-10-15 14:26:03.318  6635-7541  OpenXR-Loader           com.example.demovr                   E  Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
2024-10-15 14:26:03.318  6635-7541  OpenXR-Loader           com.example.demovr                   E  Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
2024-10-15 14:26:03.318  6635-7541  OpenXR-Loader           com.example.demovr                   E  Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
2024-10-15 14:26:03.318  6635-7541  godot                   com.example.demovr                   E  USER ERROR: OpenXR: Failed to enumerate number of extension properties
2024-10-15 14:26:03.318  6635-7541  godot                   com.example.demovr                   E     at: load_supported_extensions (modules/openxr/openxr_api.cpp:357)
2024-10-15 14:26:03.318  6635-7541  godot                   com.example.demovr                   E  USER WARNING: OpenXR was requested but failed to start.
                                                                                                    Please check if your HMD is connected.
                                                                                                    Godot will start in normal mode.
2024-10-15 14:26:03.318  6635-7541  godot                   com.example.demovr                   E     at: initialize_openxr_module (modules/openxr/register_types.cpp:151)

I tried using both the PICO loader and the Khronos loader, resulting in the same error message.

I cannot find any info about the "libruntime.pxr.so", am I missing something? Thanks!

dsnopek commented 4 weeks ago

Can the folks having this problem try with the 2.0.4 version of godot_openxr_vendors? If that works, then it could be as suggested above, and these older Pico headsets still need the older Pico loader. That could be a reason to add it back?

EDIT: For reference, it was PR https://github.com/GodotVR/godot_openxr_vendors/pull/180 that removed the old Pico loader

RubyKiss commented 2 weeks ago

Can the folks having this problem try with the 2.0.4 version of godot_openxr_vendors? If that works, then it could be as suggested above, and these older Pico headsets still need the older Pico loader. That could be a reason to add it back?

EDIT: For reference, it was PR #180 that removed the old Pico loader

2.x runs on pico neo3 and launches successfully, it works fine with godot 4.3, 3.x runs on pico neo3 and fails to enter the programme. Of course I'm not sure if PICO4 is already using the khronos loader.

pico system is 5.11.x