Start a new topic

How to Access OpenXR Runtime broker

I am trying to run the HelloXR sample on a Lenovo VRX, I have built the apk for HelloXR but I get a "Failed to find provider info for com.qualcomm.qti.openxrruntime_broker" error. The logs can be found below. I acquired the OpenXR loader from the Snapdragon Spaces SDK.


System org...onos.openxr.hello_xr.opengles W ClassLoader referenced unknown path:
Perf org...onos.openxr.hello_xr.opengles I Connecting to perf service.
GraphicsEnvironment org...onos.openxr.hello_xr.opengles V ANGLE Developer option for 'org.khronos.openxr.hello_xr.opengles' set to: 'default'
GraphicsEnvironment org...onos.openxr.hello_xr.opengles V ANGLE GameManagerService for org.khronos.openxr.hello_xr.opengles: false
GraphicsEnvironment org...onos.openxr.hello_xr.opengles V Updatable production driver is not supported on the device.
NetworkSecurityConfig org...onos.openxr.hello_xr.opengles D No Network Security Config specified, using platform default
NetworkSecurityConfig org...onos.openxr.hello_xr.opengles D No Network Security Config specified, using platform default
ContextImpl org...onos.openxr.hello_xr.opengles D dir path: /storage/emulated/0/Android/obb/org.khronos.openxr.hello_xr.opengles
ContextImpl org...onos.openxr.hello_xr.opengles D dir path: /storage/emulated/0/Android/data/org.khronos.openxr.hello_xr.opengles/files
threaded_app org...onos.openxr.hello_xr.opengles V Creating: 0xb400007cd0d68e70
threaded_app org...onos.openxr.hello_xr.opengles V Config: mcc=0 mnc=0 lang=en cnt=US orien=2 touch=1 dens=560 keys=1 nav=1 keysHid=3 navHid=0 sdk=32 size=3 long=2 modetype=1 modenight=1
OpenXR-Loader org...onos.openxr.hello_xr.opengles V Verbose [GENERAL | xrInitializeLoaderKHR | OpenXR-Loader] : Entering loader trampoline
OpenXR-Loader org...onos.openxr.hello_xr.opengles V Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Entering loader trampoline
Activity org...onos.openxr.hello_xr.opengles I getPreActivityComponent111: null
openxr_loader org...onos.openxr.hello_xr.opengles I getSnapdragonRuntimeCursor: Querying URI: content://com.qualcomm.qti.openxrruntime_broker/api_layers
Activity org...onos.openxr.hello_xr.opengles I getPreActivityComponent222: null
threaded_app org...onos.openxr.hello_xr.opengles V Start: 0xb400007cd0d68e70
ActivityThread org...onos.openxr.hello_xr.opengles E Failed to find provider info for com.qualcomm.qti.openxrruntime_broker
openxr_loader org...onos.openxr.hello_xr.opengles W Null cursor when querying SnapdragonRuntimeCursor content resolver.
openxr_loader org...onos.openxr.hello_xr.opengles E Could not access SnapdragonRuntime broker
openxr_loader org...onos.openxr.hello_xr.opengles I getSnapdragonRuntimeCursor: Querying URI: content://com.qualcomm.qti.openxrruntime_broker/runtime
ActivityThread org...onos.openxr.hello_xr.opengles E Failed to find provider info for com.qualcomm.qti.openxrruntime_broker
openxr_loader org...onos.openxr.hello_xr.opengles W Null cursor when querying SnapdragonRuntimeCursor content resolver.
openxr_loader org...onos.openxr.hello_xr.opengles E Could access neither the installable nor system runtime broker.
OpenXR-Loader org...onos.openxr.hello_xr.opengles E Error [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment
OpenXR-Loader org...onos.openxr.hello_xr.opengles E Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - unknown error
OpenXR-Loader org...onos.openxr.hello_xr.opengles E Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
OpenXR-Loader org...onos.openxr.hello_xr.opengles E Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
OpenXR-Loader org...onos.openxr.hello_xr.opengles E Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
hello_xr org...onos.openxr.hello_xr.opengles E [13:25:39.555][Error ] XrResult failure [XR_ERROR_RUNTIME_UNAVAILABLE]
Origin: xrEnumerateInstanceExtensionProperties(layerName, 0, &instanceExtensionCount, nullptr)
Source: C:/OpenXR-SDK-Source/src/tests/hello_xr/openxr_program.cpp:132
threaded_app org...onos.openxr.hello_xr.opengles V android_app_destroy!


s.png
(368 KB)
1 Comment

Hi, we don't have official docs on OpenXR integration. But here are some hints to what could be going wrong:

  • You need to specifically enable OpenGLES, otherwise you have a black screen: adb shell setprop debug.xr.graphicsPlugin OpenGLES
  • Please check again and make sure that you are using our OpenXR loader best from the Unreal SDK and not the one from HelloXR since that one is integrated in the Khronos reference. 
  • You can use the C++ header files from the Unreal SDK plugin for native development and as reference. 
  • Please double-check the Spaces-specific tags that we add to the Unity/Unreal sample apps manifest files and compare them to yours/HelloXR. Add missing lines to your Android Manifest. For example, you will need to add the following queries:


    <queries>
        <package android:name="com.qualcomm.qti.spaces.services"/>
        <package android:name="com.qualcomm.qti.openxrruntime"/>
    </queries>





Login to post a comment