Initial preparation for Android XR support#1552
Conversation
|
The |
|
Hi @matthargett issue with D3D12 is fixed with #1550 |
Excellent, thanks! Once the JsRuntimeHost PR passes and merges, I'll pop back up to this one and remove the local patch. |
|
JSRuntimeHost PR is complete and awaiting review/merge. Once that's done, I'll update this PR to pull in that version and continue. BabylonJS/JsRuntimeHost#115 |
- Add `dist/` TS build folder in gitIgnore - up to latest macOS for installation test iOS/macOS - up Babylon.js to 8.28.2 - Increased Timeout to 60min because D3D12 check is way slower that it was 2weeks ago - Disabled 2 Visual Tests with D3D12 - Moved screenshot capture method from Engine to TestUtils
…JsRuntimeHost PR branch to test integration. macOS tests build and pass.
|
Integration tested the JsRuntimeHost PR here, unit tests pass and test app works in macOS and Android Pixel 2 Android 10 simulator. |
|
@matthargett it shows that it has conflicts. Thank you so much for working on this feature. I hope it get merged some day!! |
|
I revisited this against current
The remaining branch changes should not be replayed: the Android XR itself is not finished. The focused continuation is #1766, which already has the real Android OpenXR/OpenGL ES backend, stereo swapchains, frame lifecycle, and initial controller input. It still needs Android XR build/manifest/loader wiring, correct VR/AR blend-mode and lifecycle behavior, natural hand input, world-understanding mappings, and Galaxy XR hardware validation; XREAL Aura needs its own additive-display hardware pass. The Android XR emulator cannot validate OpenXR apps. Because this PR has no surviving patch and #1766 is the correct implementation base, I did not force-push an empty rebase. Closing in favor of the upstreamed work above and #1766. |
Status — superseded (2026-07-10)
There is no remaining patch from this branch that should be merged. Replaying the PR onto current
master(7e7e5db9be238b38c68d48d4c48fd45e1481399f) drops the two imported upstream PRs and the exported-activity commit as already applied; the other commits are obsolete, self-reverting, or tied to files that upstream replaced. The clean result is exactlymaster, so an empty force-push would add no value.Intent already fulfilled
454e7eed) delivered the Android build modernization: AGP 9, Gradle 9.1, Java 17, default NDK r29, compile SDK 34, ARCore 1.52, AndroidX mode, andandroid:exported="true".70ba1e53) delivered the NDK r28c and UTF-16/char16_tcompatibility work. BabylonNative's current JsRuntimeHost pin is 44 commits ahead of that merge.2bb85a0e) replaced the Azure Android jobs changed here with the current GitHub Actions workflow.063244d8) supplied the current cross-platform Embedding lifecycle, including Android context/activity registration, pause/resume, runtime/view ownership, XR surface handoff, and NativeXr initialization.Intentionally not carried forward
char_traitsworkarounds and downstream JsRuntimeHost patch were added and then removed within this PR.Install/Test/CMakeLists.txt, which now supports Win32 only. It never changed the production Android runtime path.androidXrSimulatorflavor only changed ABI filtering and added no Android XR/OpenXR behavior. Android's documentation now states that the Android XR emulator does not support OpenXR apps.Actual Android XR follow-up
Android XR support itself is not complete. The active implementation is #1766, which adds the real Android OpenXR/OpenGL ES backend, stereo swapchains, frame lifecycle, and initial Quest Touch input. It is a much better base than any code in this PR.
Before BabylonNative + NativeXr can claim correct support for Samsung Galaxy XR and XREAL Aura, #1766 still needs Android XR Gradle/manifest/loader packaging,
immersive-vrversusimmersive-arblend-mode plumbing, centered viewer poses and robust runtime session loss/end handling, natural hand interaction without a controller requirement, world-understanding mappings, and physical-device validation. Galaxy XR is the first test target; Aura-specific additive-display behavior requires Aura hardware.References: Android XR OpenXR setup, supported extensions.