Preparation
What you need
- A Quest already paired to the Meta Horizon phone app
- A Windows 10/11 or Linux PC, internet, and a USB-C data cable
- Your Meta account and time to finish without rushing
- A backup of anything you cannot replace
- A charged headset
1 / Meta account + headset
Set up Developer Mode
Developer Mode lets your PC install apps outside the Meta Horizon Store. Use the same Meta account on the headset, phone app, and developer dashboard.
Finish normal headset setup
If the headset is new or reset, complete its normal on-screen setup. Install the Meta Horizon app on your phone, sign in, and pair the headset there.
Create your developer account
Open developers.meta.com/horizon/sign-up/ in a browser and sign in with your Meta account. Create or join a developer team if the dashboard asks. You do not need to create a Quest app for this guide.
Verify the account
Open the dashboard's Verification page and finish the offered account verification method. Meta's current setup page lists a mobile number for SMS two-factor verification or a payment method. Complete any team requirements shown by Meta.
Turn on Developer Mode
On your phone: Meta Horizon app > headset icon > your paired headset > Headset Settings > Developer Mode > On.
Turn on the USB notification
In the headset: Quick Control / Quick Settings > Settings (gear) > Developer > MTP Notification > On. The USB debugging prompt appears when you connect the PC during the compatibility check.
Official setup: Meta's Device Setup and Test your app on your device resources are linked in Useful links and notes.
2a / Windows PC setup
Install ADB on Windows
ADB (Android Debug Bridge) is the small command-line tool that talks to your Quest. You only need Google's Platform Tools package, not Android Studio.
A. Install the Meta USB driver
Download the Oculus ADB Drivers
From Meta's official Oculus ADB Drivers page, click Download. This Windows driver lets the PC recognize your Quest for ADB. Open the Meta download page.
Unzip and install the driver
In File Explorer, right-click the downloaded ZIP and choose Extract All. Open the extracted folder, right-click android_winusb.inf, and choose Install. Approve the Windows prompt if one appears.
B. Install Google's Platform Tools
Download the Windows ZIP
Open Google's SDK Platform Tools page. Choose the Windows download, accept the license if prompted, and save the ZIP. Open the Google download page.
Extract the platform-tools folder
Right-click the ZIP and choose Extract All. Open the resulting platform-tools folder. You should see adb.exe inside. Move this folder somewhere easy to keep, such as Documents.
Open Command Prompt in that folder
Click File Explorer's address bar while inside platform-tools, type cmd, and press Enter. A Command Prompt opens at that folder. Keep it open for the remaining commands.
adb versionExpected: a line beginning Android Debug Bridge version.
2b / Linux PC setup
Install ADB on Linux
ADB (Android Debug Bridge) is the small command-line tool that talks to your Quest. Meta's Oculus ADB driver is Windows-only and is not required on Linux; Android USB communication is supported by the Linux kernel.
Install ADB
Use the command for your distribution, or download Google's Platform Tools manually.
Install udev rules and permissions
Linux restricts raw USB access by default. The appropriate udev package lets your non-root user communicate with the Quest over USB.
Add your account to the hardware permission groups:
sudo usermod -aG adbusers,plugdev $USERReload the udev rules:
sudo udevadm control --reload-rules && sudo udevadm triggerLog out and back in for the group changes to take effect. Alternatively, run newgrp adbusers in the current terminal.
Verify ADB
Confirm that ADB is installed and responding.
adb versionExpected: a response beginning Android Debug Bridge version.
3 / Mandatory compatibility check
Connect and check your build
Connect the Quest
Use a USB-C data cable from the headset to the PC. Put on the headset. At Allow USB debugging?, choose Always allow from this computer, then Allow.
adb devicesExpected: one serial number with the word device.
Example: 1WMHH123456789 device. If it says unauthorized, approve the prompt inside the headset. If the list is empty, use the quick fixes.
Read the exact firmware build
Keep the headset connected. Run the command below and write down the number it prints. This is the incremental build used by the project to report confirmed firmware.
adb shell getprop ro.build.version.incrementalDated build snapshot checked on 24 Sep 2026
| Headset | Project name | Incremental build |
|---|---|---|
| Quest Pro | Seacliff | 51503870024400340 |
| Quest 3 | Eureka | 52433670036000520 |
| Quest 3S | Panther | 3814840024700610 |
| Quest 2 | Hollywood | 52242990024200150 |
Quest 1 and other variants have separate or less documented setup; do not use the shared Root Now steps for them without current model-specific instructions.
4 / App install
Install Singularity
Continue only after the compatibility check. Leave the ADB Command Prompt or terminal open and the headset connected unless Singularity tells you otherwise.
Download the APK from GitHub Releases
Open the Singularity releases list. Choose the newest visible release, expand Assets, and download its Singularity .apk file. The auto-generated Source code ZIP is not the installer.
Prepare the APK for installation
On Windows, move the APK into your platform-tools folder. In File Explorer, turn on View > Show > File name extensions, then rename it exactly Singularity.apk. Check that it did not become Singularity.apk.apk. On Linux with a package-manager installation, open a terminal in the folder containing the APK.
adb install -g Singularity.apkExpected: Success. The -g flag grants permissions Singularity needs.
Open it in the headset
Open Library > Unknown Sources > Singularity. If Root on Boot is offered, leave it off for the first root. Keep the headset on Wi-Fi.
Start Wireless ADB setup
Keep Wi-Fi on and the headset awake
Make sure the headset is connected to Wi-Fi. Leave the USB cable connected while you complete setup unless the app tells you to unplug it.
Tap Setup Wireless ADB
Tap Setup Wireless ADB in Singularity and follow its in-app guide in order. The -g install flag grants the permission the project says it needs to enable Wireless ADB.
5 / Required before root
Set up Wireless ADB
A working USB connection in the adb devices list does not by itself finish the app's Wireless ADB setup.
Complete permission or pairing prompts
If a Wireless debugging screen opens, turn it on and approve the current Wi-Fi network if asked. If Singularity asks for a pairing code, choose Pair device with pairing code in the system screen and enter its current six-digit code into Singularity. A code can expire; generate a fresh one if pairing fails.
Wait for the in-app connection to succeed
Return to Singularity and wait for its Wireless ADB setup to report success or connected status. The exact screens can vary by app and firmware version; use the current on-screen guide for final confirmation. Do not continue while it reports disconnected or setup incomplete.
Only after Wireless ADB is ready
Press Root Now
Press Root Now and let the app finish. If it reports failure and offers Retry or Root Now again, you may retry a few times. If failures continue, fully power off the headset, power it on, and check the current release notes before trying again.
6 / Finish safely
Verify root and troubleshoot
Grant Singularity root access
After the soft reboot, open Library > Unknown Sources > Singularity-Magisk. In Superuser, grant or enable access for Singularity if it is not already granted. Fully close Singularity and reopen it.
Confirm ADB still sees the headset
Reconnect the USB cable if needed. Put on the headset and approve any new USB debugging prompt. The command should show one serial number ending in device.
adb devicesTest the root shell
Run the command below. If Singularity-Magisk asks whether Shell or ADB may use root, tap Grant, then run it again.
adb shell su -c idSuccess contains uid=0(root). Anything else is not a confirmed root test.
Quick fixes
- No device listed
- Try another data cable or USB port; check Developer Mode and, on Windows, the Meta driver; run
adb kill-server, thenadb devices. unauthorized- Put on the headset and approve Allow USB debugging. Reconnect the cable if the prompt is hidden.
- More than one device
- Disconnect extra phones/headsets or wireless ADB sessions, then run
adb devicesagain. - No Magisk app / no
uid=0 - Do not assume success. Check the app's status and the latest project release notes; avoid repeating Root Now after a reported success.
Reference
Useful links and notes
The project can change quickly, so re-check its README and newest release before you repeat these steps or update the headset.
Project
Singularity READMESupported models, current usage steps, and confirmed buildsDownload Singularity APKChoose the newest releaseProject setup wikiIncludes a separate Quest 1 path; some main-path UI details are olderOfficial Meta setup
Meta developer sign-upStart the developer accountMeta Device SetupDeveloper team, verification, Developer Mode, and Windows driverMeta developer mode walkthroughPhone-app path, MTP notification, USB debugging, and Unknown SourcesDownload Meta Oculus ADB DriversOfficial Windows driver packageOfficial Android tools
Download Google SDK Platform ToolsOfficial Platform Tools downloadAndroid device connection helpADB devices and USB debugging troubleshootingAndroid wireless debuggingWireless debugging and pairing code conceptsGuide by Fwooffy. Developed from an earlier outline and checked against the project and official documentation linked above. Where earlier material conflicted with current project or official documentation, this guide follows the linked sources.
Linux instructions added by otter_oasis.
Meta Quest Rooting Support Group Discord