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.3KViews0likes1CommentHow to handle being a truly OpenXR game with some Oculus OpenXR features?
Hello, I'm building a game for every platform, Steam and Meta, and it works that way so far. I've read Meta documentation, and it seems like I'm supposed to use Meta's "OpenXR" rig for some features like Dynamic Resolution . Currently I'm using the Hurricane VR and Hexa Rig asset combo (VR - Physics Interactions Bundle | Physics | Unity Asset Store) for my player rig. I've attached a screenshot of the camera settings set up as a generic XR device. If I wanted to use some oculus camera features, how would I organize that for my project? Do I need to make two rigs and switch between them depending on the platform??Solved1.6KViews0likes5CommentsWith 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.5KViews0likes1CommentHow to change Package Name for Native Mobile OpenXR Samples?
I tried changing my package name according to these instructions. Specifically, I tried to change the name on the XrCompositor_NativeActivity project. I followed several online instructions for package name renaming, but I still get this error when trying to upload my APK for App Lab: "The APK package name, com.oculus.sdk.xrcompositor is only allowed for first-party application." Can someone please tell me how to fix this error? I get this error on Meta Quest Developer Hub when uploading my release APK.1.1KViews0likes1CommentHas Meta abandoned MRC Native support?
https://developer.oculus.com/documentation/native/android/android-native-mrc/ The instructions in the link above are very vague and outdated. For example, the instructions say to use ovrm_Initialize(), but that function does not exist in the header file we are asked to use: OVR_Mrc_Shim.h. Can someone please help me with MRC for Native Development? How do I implement this in hello_xr or XrCompositor_NativeActivity.c?652Views1like0CommentsIn XrCompositor_NativeActivity.c, how to disable rendering of texture samples?
There's no glDrawElements() or glDrawArrays() that renders these three textures. Can someone please help me? XrCompositor_NativeActivity.c is an OpenXR Android Studio Native Development project from the Oculus OpenXR Mobile SDK.712Views0likes0Comments