xrCreateInstance in forked or exec'd process

It would be very useful for development purposes to be able to connected to OpenXR from a forked or exec'd process. Currently it seems that XR_KHR_android_create_instance is required, and that requires a pointer to the JavaVM which means running on the main Android app process.

If we could connect to OpenXR without those pointers & without needing to be in the original Android process, that would be extremely for e.g. easily getting set up with an on device Jupyter Notebook that can connect OpenXR. As well as being easily able to use tools like gdb (which needs to be exec'd). Having the source of libopenxr_runtime.magicleap.so (to tweak these things) would be equally useful!

@hollowaya , our runtime works out-of-the-box with standard Android tooling. It's possible to run the hello_xr sample compiled from the OpenXR working group on ML2 without recompiling!

To create an OpenXR instance, you'd need the JVM info. Without that, there is no lifecycle of events possible. You may need to research how to access JVM info from within Jupyter Notebooks.

1 Like

Closing this thread, thanks for participating on the Magic Leap 2 forum!

1 Like