This file does not belong to any project target
I was able to build and deploy (Quest 2) hello_xr from https://github.com/KhronosGroup/OpenXR-SDK-Source using the instructions from https://developer.oculus.com/documentation/native/android/mobile-build-run-hello-xr-app/ . However, whenever I load the hello_xr project in Android Studio and open one of the cpp source files such as graphicsplugin_opengles.cpp, I get the following warning "This file does not belong to any project target; code insight features might not work properly". Any ideas on how I can get the code insight features to work?Solved2.3KViews0likes1CommentWith OpenXR and the MSFT hand interaction extension, what's the correct way to detect "Menu" button?
I can see that in Quest, interaction_profiles/microsoft/hand_interaction is supported, and this lets me detect the actions /input/squeeze/value and input/select/value. What I can't seem to do is detect when the hand is turned towards the user such that the "menu" button is visible. What is the "correct" way to detect this, so I can handle the menu button with OpenXR?2.5KViews0likes3CommentsAccleremoter Sampling Frequency
Hi, For an app that I created, I was wondering what is the maximum sampling rate that I can achieve from the IMU sensors (accelerometer and gyroscope). I am currently using a native app that Meta has published hello_xr running it on Android Studio and logging the data in logcat. However, this has given me a 70Hz sampling rate. What is the highest possible sampling in Quest 2 or 3? How can I achieve this with my app?1.1KViews2likes1CommentCannot launch OpenXR game from other 2D activity or apps, Transitions fails and XR game crashes
Original issue: I am trying to create a normal 2D app to let the user perform some operations that are much easier to be maintained and handled in a Java/Kotlin app. Like fetch data and choosing some options, login and acquire a token, get location and etc. Then I want to send the user to an NativeActivity which starts OpenXR session and immersive part of the user experience starts. Unfortunately I can not start the native activity from the Kotlin code using Intents and startActivity. I managed to see the immersive mode for a sec but then it crashes shortly after creating XR session. I figured that there might be extra complications having native and Kotlin activities in the same app or issues in my OpenXR app itself, so I tried a simpler approach that can be reproduced easily to get help. Simplified Issue, easy to reproduce: I have `XrSpaceWarp` sample from Oculus OpenXRSDK. No change to manifest-xml or the code, It works on it's own and I can run it via `adb` : adb shell am start -n com.oculus.sdk.xrspacewarp/android.app.NativeActivity Then I have a simple android app from project templates of AndroidStudio, and on click event of a button I create an Intent and try to launch the XrSpaceWarp example. val myIntent: Intent? = this.packageManager.getLaunchIntentForPackage("com.oculus.sdk.xrspacewarp"); // Or alternatively //val myIntent = Intent(Intent.ACTION_MAIN) //myIntent.setComponent(ComponentName("com.oculus.sdk.xrspacewarp", "android.app.NativeActivity")) // Also tried setting all and some combination of the flags if (myIntent != null) { myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) myIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK) } try { startActivity(myIntent) } catch (e: ActivityNotFoundException) { Log.d("dummy_app", "starting activity failed") } Then the XrSpaceWarp app starts and I can see the scene (yellow floating cubes) for half a second, and then it crashes. The manifest of the XrSpaceWarp sample app is: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.oculus.sdk.xrspacewarp" android:versionCode="1" android:versionName="1.0" android:installLocation="auto" > <!-- Tell the system this app requires OpenGL ES 3.1. --> <uses-feature android:glEsVersion="0x00030001" android:required="true"/> <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" /> <uses-permission android:name="android.permission.INTERNET" /> <!-- Volume Control --> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <application android:allowBackup="false" android:label="xrspacewarp" android:hasCode="false"> <meta-data android:name="com.oculus.supportedDevices" android:value="all" /> <!-- The activity is the built-in NativeActivity framework class. --> <!-- launchMode is set to singleTask because there should never be multiple copies of the app running. --> <!-- Theme.Black.NoTitleBar.Fullscreen gives solid black instead of a (bad stereoscopic) gradient on app transition. --> <!-- If targeting API level 24+, configChanges should additionally include 'density'. --> <!-- If targeting API level 24+, android:resizeableActivity="false" should be added. --> <activity android:name="android.app.NativeActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:screenOrientation="landscape" android:configChanges="screenSize|screenLayout|orientation|keyboardHidden|keyboard|navigation|uiMode"> <!-- Tell NativeActivity the name of the .so --> <meta-data android:name="android.app.lib_name" android:value="xrspacewarp" /> <!-- This filter lets the apk show up as a launchable icon. --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.oculus.intent.category.VR" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> I have tried this with different flags, adding more intent filters in the XR app with other actions than MAIN and categories and also other apps (like other games on the headset that I installed from the store) and same thing happens. I can see the other activity starts and also the XR-session and GLES context and everything, but it can not maintain the focus and the session. There are some permission errors I can see in all cases: VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS TREX com.oculus.sdk.xrspacewarp E Interface version 3 was not found. Check debug build for more information. VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS InputDispatcher system_server E But another display has a focused window FocusedWindows: displayId=0, name='4af4f2f Shell.EventInterceptor' VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.SET_VR_DEVICE_PARAMS VrDeviceManagerService vrdevicemanagerserver E Permission denied: process 5393 (uid 10108) doesn't have the required permission: com.oculus.permission.READ_VR_DEVICE_PARAMS OVRMediaServiceManager com.oculus.horizon E LivestreamingManager Not initialized OVRMediaServiceManager com.oculus.horizon E LivestreamingManager Not initialized OVRMediaServiceManager com.oculus.horizon E LivestreamingManager Not initialized OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'requested shared memory region when not registered/focused' OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'requested shared memory region when not registered/focused' OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'request throttled' OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'request throttled' OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'request throttled' OsSdk com.oculus.sdk.xrspacewarp E error getting shared memory region, memory type: HeadTracker, failed with Status(-1, EX_SECURITY): 'request throttled' AnalyticsEvent com...us.identitymanagement.service E could not set key=selection_args value=null QplClient com.oculus.systemux:SystemUX E com.oculus.systemux: init() called multiple times. QplClient com.oculus.systemux:SystemUX E com.oculus.systemux: init() called multiple times. XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: r = xrPollEvent(app->Instance, &eventDataBuffer): ??_t XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->ColorSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->MotionVectorSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->MotionVectorDepthSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->ColorSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->MotionVectorSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(frameBuffer->MotionVectorDepthSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySwapchain(scene->QuadSwapChain.Handle): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySpace(appState.HeadSpace): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySpace(appState.LocalSpace): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySpace(appState.FakeStageSpace): XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroySession(appState.Session): `-Jt OpenXR-Loader com.oculus.sdk.xrspacewarp E Error [GENERAL | xrDestroyInstance | OpenXR-Loader] : Instance handle is XR_NULL_HANDLE. XrSpaceWarp com.oculus.sdk.xrspacewarp E OpenXR error: xrDestroyInstance(appState.Instance): oyInstance BpTransact...edListener surfaceflinger E Failed to transact (-32) I have tried the same thing with AndroidStudio's template projects of Native activity and Native GameActivity (that draws some simple android logo with OpenGL) and they work, so its definitely not because its a native activity or trouble with GL context, its the Immersive mode causing the problem and the fact that I am starting it from a 2D app. I would apricate if someone could help me to make this solution work or share their experience. Is it even possible to switch to OpenXR app from a 2D app at all?4.7KViews1like5CommentsNeed help improving resolution in OpenXR Mobile SDK.
I updated a project that used VrApi to OpenXR Mobile SDK. It runs okay, but there is an issue in which the resolution is low. When creating the FrameBuffer, I set the width and height to quest2's resolution of 1832, 1920. However, the resolution was still low. I also tried setting [Composition layer filtering] on the document, but there was no improvement. How to improve resolution when using OpenXR Mobile SDK?1.4KViews0likes0CommentsOpenXR Native SDK halving Quest framerate despite ASW being disabled in a Native application
We are seeing an issue with the Team Beef ports that have been updated to use OpenXR. We don't make use of ASW, so the next member of the XrCompositionLayerProjectionView is always set to NULL: memset(&projection_layer_elements[eye], 0, sizeof(XrCompositionLayerProjectionView)); However, in periods of high CPU usage that impacts the framerate briefly, we are seeing the framerate halving, so we might be maintaining 72 fps, until we hit an area where it is unable to maintain that fps, so it drops inexplicably to 36fps and then stays there. I've searched and can't find anything to explain why this might be happening. The documentation for ASW states the following: Developers can toggle between AppSW mode and full FPS mode on any frame by disconnecting and reconnecting XrCompositionLayerSpaceWarpInfoFB from the “next” pointer. So our expectation is that since the next member is set to NULL for every frame, we are not using ASW and should therefore be operating at "full FPS mode".. but clearly the OpenXR runtime has other ideas and is imposing some sort of ASW frame rate halving on our applications. Is there another OpenXR or Meta specific extension that we are unaware of that we should be setting to allow us to just keep rendering at the full fps (for better or worse)?, or do we just have to accept that Meta's OpenXR runtime will halve the framerate and hope that ATW fixes it up (spoiler: it doesn't, it looks bad). If anyone has _any_ idea, or knows any more about this aspect, I would be incredibly grateful to hear from you!1.5KViews0likes1CommentConvert a .c Mobile OpenXR Sample to cpp c++ in Android Studio?
For example, Mobile OpenXR Samples has a XrCompositor_NativeActivity.c How can I convert XrCompositor_NativeActivity.c to c++ and run the app successfully? I tried renaming the extension to .cpp, making changes to Android.mk, etc... but I keep running into errors.1.1KViews0likes0CommentsLeft menu button click causes Hello_XR app to crash.
Using the latest Android Studio and running latest OpenXR's hello_xr, clicking on left controller menu button causes the game to crash. Can someone please tell me how to fix this issue? I've been reading up on the OpenXR Input API, but I find it very complicated and unable to help me fix this issue.934Views0likes0CommentsXR Session state never transitions from IDLE to QUITING when user clicks Quit in System Menu
When a user clicks exit in the Quest system Menu overlay, my OpenXR app's session state transitions from XR_SESSION_STATE_STOPPING -> XR_SESSION_STATE_IDLE (as per OpenXR spec) but nevers transitions to the XR_SESSION_STATE_EXITING state unless an explicit call to xrRequestExitSession is made before or on a transition to STOPPING. If I do not call xrRequestExitSession just exit after transition to XR_SESSION_STATE_IDLE, when xrDestroySession/Instance is called an exception is thrown so my app never does a clean exit this way.1.8KViews0likes0CommentsOpenXR Layer (extensions)
Hello, i was wondering does the Oculus OXR mobile runtime/loader support third-party layers (installing and dynamically loading them) and also what would the situation be in terms of distrubing apps using this on the Oculus store, would this violate ToA/ToS? For example say, a third party makes a layer extension for a hypothetical input device.1.3KViews0likes0Comments