The table below lists the most common and useful Android system properties of the Quest 2 that can be used to change various settings and default behavior of the headset. The changes will remain active until you reboot your headset.
When you want to know more about a specific property and how it affects the headset, click on the links in the table to read my detailed descriptions and use cases for each item (or read the full resource).
|60, 72, 90 (default), 120||Override the default refresh rate of the screen. 120Hz will only apply if enabled from Quest 2 settings (Experimental features).|
|1440 (default)||Override the default texture width.|
|1584 (default)||Override the default texture height. For optimal results, set the value to 1.1x texture width.|
|Override the default CPU level set by the app. Most games use dynamic clock throttling by default.|
|Override the default GPU level set by the app. Most games use dynamic clock throttling by default.|
4 (High Top)
|Override the rendering quality in the outer edges of your view. Higher is better performance, lower is better quality.|
|0 (disabled) |
1 (enabled, default)
|Most apps use dynamic foveated rendering (image quality on the outer edges of the view is scaled automatically). Set to disabled if you want to test your app with a fixed foveation level.|
|0 (disabled, default)|
|Allow access to experimental features of the Quest 2.|
1 (enabled, default)
|Chromatic aberration (correction) counters unwanted colors at the edges of objects caused by the lenses.|
1 (enabled, default)
|Used to disable the guardian boundary system.|
|Used to enable / disable video capture at full refresh rate (it is half by default).|
|0 (off, default)|
|Start and end video capturing.|
|1024 (default)||Override the width of recorded videos.|
|1024 (default)||Override the height of recorded videos.|
|5000000 (default)||Override the bitrate used for recording videos.|
The format to execute the ADB commands is following:
// Format adb shell setprop <property> <value> // Example adb shell setprop debug.oculus.refreshRate 120
The simplest way to set up ADB (Android Debug Bridge) and forward the commands to your Quest 2 is to install SideQuest on your PC and use the “Run ADB commands” functionality.
If you don’t have a PC, you can install an app called Bugjaeger on your Android phone and execute the ADB commands from there.
Useful Quest 2 ADB Command Examples
Next, I am going to list some ADB commands that you can play around with. For performance-related examples do keep in mind that each game is different. Modify the numbers until you get the desired results.
// Optimize for better image quality adb shell setprop debug.oculus.refreshRate 72 adb shell setprop debug.oculus.textureWidth 2048 adb shell setprop debug.oculus.textureHeight 2253 // Optimize for 120Hz adb shell setprop debug.oculus.refreshRate 120 adb shell setprop debug.oculus.foveation.dynamic 0 adb shell setprop debug.oculus.foveation.level 4 adb shell setprop debug.oculus.textureWidth 1280 adb shell setprop debug.oculus.textureHeight 1408 // Get More Performance out of your Quest 2 (questionable) adb shell setprop debug.oculus.cpuLevel 4 adb shell setprop debug.oculus.gpuLevel 4 // Capture quality videos in 16:9 aspect ratio. adb shell setprop debug.oculus.capture.width 1920 adb shell setprop debug.oculus.capture.height 1080 adb shell setprop debug.oculus.fullRateCapture 1 adb shell setprop debug.oculus.capture.bitrate 30000000 // Disable Proximity Sensor shell am broadcast -a com.oculus.vrpowermanager.prox_close // Enable Proximity Sensor shell am broadcast -a com.oculus.vrpowermanager.automation_disable
Automated Script to Run ADB Commands
Those that are actively using ADB commands to improve their VR gaming experience know that it’s quite annoying to execute a set of ADB commands one by one each time you start your gaming session.
To make executing the ADB commands a bit easier, it’s possible to create an automated Windows batch script. As a side note, I am hereby assuming here that you already have SideQuest installed and correctly set up.
The first thing you should do is add ADB to your Windows PATH environment variables, which I have demonstrated in the video below.
Next, you are going to have to open your preferred text editor and copy the set of ADB commands you want to run. For example
ECHO OFF adb shell setprop debug.oculus.gpuLevel 4 adb shell setprop debug.oculus.cpuLevel 4 adb shell setprop debug.oculus.refreshRate 90 ECHO NEW VALUES (for confirmation): adb shell getprop debug.oculus.gpuLevel adb shell getprop debug.oculus.cpuLevel adb shell getprop debug.oculus.refreshRate PAUSE
Save the file with .bat extension (not .txt or anything else) and save it to your preferred location. Once that is done you get a windows script file that will execute your set of ADB commands for you. No need to open SideQuest and execute the commands separately.
Do keep in mind that your headset still needs to be connected and turned on (or in standby mode).
List of Additional Properties
In order to get additional system properties of the Quest 2, you can use the ADB command below. The property list is not complete though and it only shows items that you configured manually or the headset itself has explicitly set.
//Get DEVICE_ID adb devices // Get list of Quest 2 ADB properties adb -s [DEVICE_ID] shell getprop
HARDWARE USED FOR TESTING AND WRITING THE ARTICLES:
* Meta Quest 2 (My “daily driver” headset, which I absolutely love & recommend)
* Lenovo Legion 5 Pro (AMD Ryzen 5 5600H, Nvidia Geforce RTX 3060, 16GB RAM)
* TP-Link Archer C6 (budget dedicated router for Air Link, see my full setup tutorial)
ESSENTIAL QUEST 2 COMFORT ACCESSORIES:
* VR Cover Foam Replacement (one of the easiest & cheapest ways to improve headset comfort)
* BoboVR M2 Head Strap (reduce pressure on your head and improve the overall fit of the headset)