ITADN

openxr pico4 wgpu ..

#195OpenMarcWeber 创建于 2025-04-21
M
MarcWebercommented
I've tried to make it work the last 15 hours so but failed. The OpenEXR-SDK from Khronos works perfectly. The Cpp-code only has 2 requirements: Extensions: XR_KHR_android_create_instance XR_KHR_vulkan_enable Even causing the same settings in openxr I cannot reproduce: ``` 04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - using global runtime file /vendor/etc/openxr/1/active_runtime.json 04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::CreateIfValid - attempting to load /vendor/etc/openxr/1/active_runtime.json 04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime forwarding xrInitializeLoaderKHR call to runtime before calling xrNegotiateLoaderRuntimeInterface. 04-21 03:46:45.807 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime succeeded loading runtime defined in manifest file /vendor/etc/openxr/1/active_runtime.json using interface version 1 and OpenXR API version 1.0 04-21 03:46:46.016 3439 12140 I OpenXR-Loader: Info [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance succeeded with 0 layers enabled and runtime interface - created instance = 0x0000007ca23814c0 ``` the last line CreateInstanceSucceeded I cannot get with the Rust code. So something is failing. I tried checking the arguments as well as the android extra code which needs to be run before vkrCreateInstance. The only difference is that the cpp codes attaches to vm thread: https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/f17d5eac9d88987a194c8f18c829add447298d36/src/tests/hello_xr/main.cpp#L199 I am not quite sure to what project this belongs - looks like android-activity is upstream for most solutions including ndk-glue (which was refactored into own lib, then archived hinting towards this repository). The examples have some issues such as macro2 -> .60 instead of .59 minor version in Cargo.lock. And cargo upgrade all deps which depend on the stdsimd which was removed. But then at least they compile. Copying the hello_xr.so from aboves src/tests/xr_hello directory into theapp/src/main/jniLibs/arm64-v8a/libmain.so makes it work. So it must be the Rust code. ``` <uses-permission android:name="org.khronos.openxr.permission.OPENXR" /> <uses-permission android:name="org.khronos.openxr.permission.OPENXR_SYSTEM" /> ``` eventually could be added but the cpp so works without.
0 条评论