You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
sorry if this is a dumb question, I am pretty new to cross-platform building with Rust.
I have tried building and running the example/android app for Quest3 using x run --device [...] --release, which worked fine, but inside the headset I am stuck on a black loading screen, and the only way out seems to be to restart the headset. (this is likely a duplicate of !137)
Looking in the logs, I assume that this is the root cause of the problem: Failed to initialize openxr: OpenXR loading error: dlopen failed: library "libopenxr_loader.so" not found
However, the provided build script did seem to work properly, and I assumed that xbuild would automatically package the runtime_libs into the build.
Does anyone know what is going wrong here?
Great work btw! I have already played around with it a bit, running on the desktop and connecting via Link.
Full Log
[1/3] Fetch precompiled artifacts
info: component 'rust-std' for target 'aarch64-linux-android' is up to date
[1/3] Fetch precompiled artifacts [91ms]
[2/3] Build rust `bevy_openxr_android`
[EDIT: removed some warnings]
Finished release profile [optimized] target(s) in 0.33s
[2/3] Build rust bevy_openxr_android [401ms]
[3/3] Create aab [2640ms]
C:\Users\Chris\Documents\Git\bevy_oxr\target\x\release\android\bev...ab: 1 file pushed, 0 skipped. 31.8 MB/s (23122057 bytes in 0.693s)
Success
Starting: Intent { act=android.intent.action.MAIN cmp=org.bevyengine.example_openxr_android/android.app.NativeActivity }
pid of org.bevyengine.example_openxr_android is 5458
--------- beginning of main
5458 5458 E _openxr_androi: Not starting debugger since process cannot load the jdwp agent.
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10008; state: ENABLED
5458 5458 W System : ClassLoader referenced unknown path:
5458 5458 V GraphicsEnvironment: ANGLE Developer option for 'org.bevyengine.example_openxr_android' set to: 'default'
5458 5458 V GraphicsEnvironment: ANGLE GameManagerService for org.bevyengine.example_openxr_android: false
5458 5458 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409949; UID 10008; state: DISABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409951; UID 10008; state: ENABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409956; UID 10008; state: DISABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409950; UID 10008; state: DISABLED
5458 5458 D NetworkSecurityConfig: No Network Security Config specified, using platform default
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409952; UID 10008; state: DISABLED
5458 5458 D NetworkSecurityConfig: No Network Security Config specified, using platform default
5458 5458 I VrosSpatialAudio: init with null
5458 5458 W android_main: type=1400 audit(0.0:100): avc: denied { read } for name="cpu.cfs_quota_us" dev="cgroup" ino=46 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5488 I event C:\Users\Chris.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_diagnostic-0.14SystemInfo { os: "Android 12 Quest 3", kernel: "5.10.198-01553-ge399b8f74d20", cpu: "not available", core_count: "6", memory: "7.6 GiB" }
5458 5488 E event crates\bevy_openxr\src\openxr\init.rs:170: Failed to initialize openxr: OpenXR loading error: dlopen failed: library "libopenxr_loader.so" not found
5458 5488 D vulkan : searching for layers in '/data/app/~~Gs237Q-5foOotbraIEu1PA==/org.bevyengine.example_openxr_android-VD9vhia20L5R5uYwWBORsA==/lib/arm64'
5458 5488 D vulkan : searching for layers in '/data/app/~~Gs237Q-5foOotbraIEu1PA==/org.bevyengine.example_openxr_android-VD9vhia20L5R5uYwWBORsA==/base.apk!/lib/arm64-v8a'
5458 5488 W Adreno-AppProfiles: Could not find QSPM HAL service. Skipping adreno profile processing.
5458 5488 I AdrenoVK-0: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
5458 5488 I AdrenoVK-0: ===== END DUMP OF OVERRIDDEN SETTINGS =====
5458 5458 W android_main: type=1400 audit(0.0:101): avc: denied { read } for name="cpu.cfs_period_us" dev="cgroup" ino=47 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5458 W android_main: type=1400 audit(0.0:102): avc: denied { read } for name="cpu.cfs_quota_us" dev="cgroup" ino=10 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5458 W android_main: type=1400 audit(0.0:103): avc: denied { read } for name="cpu.cfs_period_us" dev="cgroup" ino=11 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5488 I AdrenoVK-0: QUALCOMM build : 445fc2bdf5, I545b8eff08
5458 5488 I AdrenoVK-0: Build Date : 08/01/24
5458 5488 I AdrenoVK-0: Shader Compiler Version : E031.47.01.00
5458 5488 I AdrenoVK-0: Local Branch :
5458 5488 I AdrenoVK-0: Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
5458 5488 I AdrenoVK-0: Remote Branch : NONE
5458 5488 I AdrenoVK-0: Reconstruct Branch : NOTHING
5458 5488 I AdrenoVK-0: Build Config : S P 12.1.6 AArch64
5458 5488 I AdrenoVK-0: Driver Path : /vendor/lib64/hw/vulkan.adreno.so
5458 5488 I AdrenoVK-0: Driver Version : 0786.0
5458 5488 I AdrenoVK-0: PFP : 0x01511175
5458 5488 I AdrenoVK-0: ME : 0x00000000
5458 5488 I AdrenoVK-0: Application Name : wgpu
5458 5488 I AdrenoVK-0: Application Version : 0x00000001
5458 5488 I AdrenoVK-0: Engine Name : wgpu-hal
5458 5488 I AdrenoVK-0: Engine Version : 0x00000002
5458 5488 I AdrenoVK-0: Api Version : 0x00403000
5458 5488 I AdrenoGLES-0: QUALCOMM build : 445fc2bdf5, I545b8eff08
5458 5488 I AdrenoGLES-0: Build Date : 08/01/24
5458 5488 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: E031.47.01.00
5458 5488 I AdrenoGLES-0: Local Branch :
5458 5488 I AdrenoGLES-0: Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
5458 5488 I AdrenoGLES-0: Remote Branch : NONE
5458 5488 I AdrenoGLES-0: Reconstruct Branch : NOTHING
5458 5488 I AdrenoGLES-0: Build Config : S P 12.1.6 AArch64
5458 5488 I AdrenoGLES-0: Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so
5458 5488 I AdrenoGLES-0: Driver Version : 0786.0
5458 5488 I AdrenoGLES-0: Process Name : org.bevyengine.example_openxr_android
5458 5488 I AdrenoGLES-0: PFP: 0x01511175, ME: 0x00000000
5458 5488 W Adreno-AppProfiles: Could not find QSPM HAL service. Skipping adreno profile processing.
5458 5488 I AdrenoUtils: ReadGpuID:365: Reading chip ID through GSL
5458 5488 I event C:\Users\Chris.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_render-0.14.1\sAdapterInfo { name: "Adreno (TM) 740", vendor: 20803, device: 1124403968, device_type: IntegratedGpu, driver: "Qualcomm Technologies Inc. Adreno Vulkan Driver", driver_info: "Driver Build: 445fc2bdf5, I545b8eff08, 1722513308\nDate: 08/01/24\nCompiler Version: E031.47.01.00\nDriver Branch: \n", backend: Vulkan }
bba15001f\winit-0.30.5\src\plaTODO: forward onStart notification to application
Edit:
after unpacking the .apk(/.aab) I noticed that the libopenxr_loader.so is indeed missing, so I guess the problem is with xbuild not including the runtime_libs properly?
The text was updated successfully, but these errors were encountered:
Seems like the latest official release of xbuild is outdated (rust-mobile/xbuild#151).
Installing xbuild from git directly resolves the issue cargo install --git https://github.com/rust-mobile/xbuild.git.
Now the libopenxr_loader.so is packaged into the .apk.
Maybe this is useful to someone..
x build --release -p bevy_openxr_android --platform android --arch arm64 --format apk for building an apk of the android example
x run --release -p bevy_openxr_android --device adb:[your device id] for directly running on a connected device (e.g. your quest). x devices or adb devices for finding you device id (assuming you have adb installed)
Hi,
sorry if this is a dumb question, I am pretty new to cross-platform building with Rust.
I have tried building and running the
example/android
app for Quest3 usingx run --device [...] --release
, which worked fine, but inside the headset I am stuck on a black loading screen, and the only way out seems to be to restart the headset. (this is likely a duplicate of !137)Looking in the logs, I assume that this is the root cause of the problem:
Failed to initialize openxr: OpenXR loading error: dlopen failed: library "libopenxr_loader.so" not found
However, the provided build script did seem to work properly, and I assumed that
xbuild
would automatically package theruntime_libs
into the build.Does anyone know what is going wrong here?
Great work btw! I have already played around with it a bit, running on the desktop and connecting via Link.
Full Log
[1/3] Fetch precompiled artifacts info: component 'rust-std' for target 'aarch64-linux-android' is up to date [1/3] Fetch precompiled artifacts [91ms] [2/3] Build rust `bevy_openxr_android`[EDIT: removed some warnings]
Finished
release
profile [optimized] target(s) in 0.33s[2/3] Build rust
bevy_openxr_android
[401ms][3/3] Create aab [2640ms]
C:\Users\Chris\Documents\Git\bevy_oxr\target\x\release\android\bev...ab: 1 file pushed, 0 skipped. 31.8 MB/s (23122057 bytes in 0.693s)
Success
Starting: Intent { act=android.intent.action.MAIN cmp=org.bevyengine.example_openxr_android/android.app.NativeActivity }
pid of org.bevyengine.example_openxr_android is 5458
--------- beginning of main
5458 5458 E _openxr_androi: Not starting debugger since process cannot load the jdwp agent.
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10008; state: ENABLED
5458 5458 W System : ClassLoader referenced unknown path:
5458 5458 V GraphicsEnvironment: ANGLE Developer option for 'org.bevyengine.example_openxr_android' set to: 'default'
5458 5458 V GraphicsEnvironment: ANGLE GameManagerService for org.bevyengine.example_openxr_android: false
5458 5458 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409949; UID 10008; state: DISABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409951; UID 10008; state: ENABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409956; UID 10008; state: DISABLED
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409950; UID 10008; state: DISABLED
5458 5458 D NetworkSecurityConfig: No Network Security Config specified, using platform default
5458 5458 D CompatibilityChangeReporter: Compat change id reported: 175409952; UID 10008; state: DISABLED
5458 5458 D NetworkSecurityConfig: No Network Security Config specified, using platform default
5458 5458 I VrosSpatialAudio: init with null
5458 5458 W android_main: type=1400 audit(0.0:100): avc: denied { read } for name="cpu.cfs_quota_us" dev="cgroup" ino=46 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5488 I event C:\Users\Chris.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_diagnostic-0.14SystemInfo { os: "Android 12 Quest 3", kernel: "5.10.198-01553-ge399b8f74d20", cpu: "not available", core_count: "6", memory: "7.6 GiB" }
5458 5488 E event crates\bevy_openxr\src\openxr\init.rs:170: Failed to initialize openxr: OpenXR loading error: dlopen failed: library "libopenxr_loader.so" not found
5458 5488 D vulkan : searching for layers in '/data/app/~~Gs237Q-5foOotbraIEu1PA==/org.bevyengine.example_openxr_android-VD9vhia20L5R5uYwWBORsA==/lib/arm64'
5458 5488 D vulkan : searching for layers in '/data/app/~~Gs237Q-5foOotbraIEu1PA==/org.bevyengine.example_openxr_android-VD9vhia20L5R5uYwWBORsA==/base.apk!/lib/arm64-v8a'
5458 5488 W Adreno-AppProfiles: Could not find QSPM HAL service. Skipping adreno profile processing.
5458 5488 I AdrenoVK-0: ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
5458 5488 I AdrenoVK-0: ===== END DUMP OF OVERRIDDEN SETTINGS =====
5458 5458 W android_main: type=1400 audit(0.0:101): avc: denied { read } for name="cpu.cfs_period_us" dev="cgroup" ino=47 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5458 W android_main: type=1400 audit(0.0:102): avc: denied { read } for name="cpu.cfs_quota_us" dev="cgroup" ino=10 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5458 W android_main: type=1400 audit(0.0:103): avc: denied { read } for name="cpu.cfs_period_us" dev="cgroup" ino=11 scontext=u:r:untrusted_app:s0:c8,c256,c512,c768 tcontext=u:object_r:cgroup:s0 tclass=file permissive=0 app=org.bevyengine.example_openxr_android
5458 5488 I AdrenoVK-0: QUALCOMM build : 445fc2bdf5, I545b8eff08
5458 5488 I AdrenoVK-0: Build Date : 08/01/24
5458 5488 I AdrenoVK-0: Shader Compiler Version : E031.47.01.00
5458 5488 I AdrenoVK-0: Local Branch :
5458 5488 I AdrenoVK-0: Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
5458 5488 I AdrenoVK-0: Remote Branch : NONE
5458 5488 I AdrenoVK-0: Reconstruct Branch : NOTHING
5458 5488 I AdrenoVK-0: Build Config : S P 12.1.6 AArch64
5458 5488 I AdrenoVK-0: Driver Path : /vendor/lib64/hw/vulkan.adreno.so
5458 5488 I AdrenoVK-0: Driver Version : 0786.0
5458 5488 I AdrenoVK-0: PFP : 0x01511175
5458 5488 I AdrenoVK-0: ME : 0x00000000
5458 5488 I AdrenoVK-0: Application Name : wgpu
5458 5488 I AdrenoVK-0: Application Version : 0x00000001
5458 5488 I AdrenoVK-0: Engine Name : wgpu-hal
5458 5488 I AdrenoVK-0: Engine Version : 0x00000002
5458 5488 I AdrenoVK-0: Api Version : 0x00403000
5458 5488 I AdrenoGLES-0: QUALCOMM build : 445fc2bdf5, I545b8eff08
5458 5488 I AdrenoGLES-0: Build Date : 08/01/24
5458 5488 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: E031.47.01.00
5458 5488 I AdrenoGLES-0: Local Branch :
5458 5488 I AdrenoGLES-0: Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
5458 5488 I AdrenoGLES-0: Remote Branch : NONE
5458 5488 I AdrenoGLES-0: Reconstruct Branch : NOTHING
5458 5488 I AdrenoGLES-0: Build Config : S P 12.1.6 AArch64
5458 5488 I AdrenoGLES-0: Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so
5458 5488 I AdrenoGLES-0: Driver Version : 0786.0
5458 5488 I AdrenoGLES-0: Process Name : org.bevyengine.example_openxr_android
5458 5488 I AdrenoGLES-0: PFP: 0x01511175, ME: 0x00000000
5458 5488 W Adreno-AppProfiles: Could not find QSPM HAL service. Skipping adreno profile processing.
5458 5488 I AdrenoUtils: ReadGpuID:365: Reading chip ID through GSL
5458 5488 I event C:\Users\Chris.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_render-0.14.1\sAdapterInfo { name: "Adreno (TM) 740", vendor: 20803, device: 1124403968, device_type: IntegratedGpu, driver: "Qualcomm Technologies Inc. Adreno Vulkan Driver", driver_info: "Driver Build: 445fc2bdf5, I545b8eff08, 1722513308\nDate: 08/01/24\nCompiler Version: E031.47.01.00\nDriver Branch: \n", backend: Vulkan }
bba15001f\winit-0.30.5\src\plaTODO: forward onStart notification to application
Edit:
after unpacking the .apk(/.aab) I noticed that the
libopenxr_loader.so
is indeed missing, so I guess the problem is withxbuild
not including theruntime_libs
properly?The text was updated successfully, but these errors were encountered: