Skip to main content
New Participant
September 5, 2024
Solved

OpenXR's XR_FB_display_refresh_rate extension only returns 60Hz and 72Hz for Quest 2

Built OpenXR SDK 1.1.38 from source, using that for a native Android application using a custom engine. xrEnumerateDisplayRefreshRatesFB only returns 60 and 72 Hz, and trying to request 90Hz using xrRequestDisplayRefreshRateFB returns XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB

WontorresAnswer
New Participant
September 23, 2024

I found a solution, it turns out the app was running on compatibility mode by default, and it was still treating the device as a Quest 1. I fixed it by setting minSdkVersion and targetSdkVersion to 32 (in both build.gradle and AndroidManifest.xml), and also to add the following to inside the application tag inside AndroidManifest.xml

<meta-data
  android:name="com.oculus.intent.category.VR"
  android:value="vr_only"/>
<meta-data
  android:name="com.oculus.supportedDevices"
  android:value="quest2|questpro|quest3"/>

My app is targeting Quest 2 as a minimum, so the solution might need to be tweaked if you still need to target Quest 1. More info can be found here:
https://developers.meta.com/horizon/documentation/native/android/mobile-native-manifest/

2 replies

New Participant
September 17, 2024

I've encountered the same issue. I also confirmed that the Quest 3 devie only returns 72 Hz. How can I set the display refresh rate to 120 Hz on Quest2 or Quest3? The document states that these devices support 120 Hz, but the instruction provided aren't helpful.

https://developers.meta.com/horizon/documentation/native/android/mobile-display-refresh-rate?locale=ja_JP

WontorresAuthorAnswer
New Participant
September 23, 2024

I found a solution, it turns out the app was running on compatibility mode by default, and it was still treating the device as a Quest 1. I fixed it by setting minSdkVersion and targetSdkVersion to 32 (in both build.gradle and AndroidManifest.xml), and also to add the following to inside the application tag inside AndroidManifest.xml

<meta-data
  android:name="com.oculus.intent.category.VR"
  android:value="vr_only"/>
<meta-data
  android:name="com.oculus.supportedDevices"
  android:value="quest2|questpro|quest3"/>

My app is targeting Quest 2 as a minimum, so the solution might need to be tweaked if you still need to target Quest 1. More info can be found here:
https://developers.meta.com/horizon/documentation/native/android/mobile-native-manifest/