First-time Windows / Linux guide

Root your Meta Quest
with Singularity

Quest 2 / Quest Pro / Quest 3 / Quest 3S

Developer Mode, ADB, compatibility checks, installation, rooting, and a final root test—explained from a normally set up headset and a Windows or Linux PC.

Guide by FwooffyChecked 24 Sep 2026

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.

1

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.

2

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.

3

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.

4

Turn on Developer Mode

On your phone: Meta Horizon app > headset icon > your paired headset > Headset Settings > Developer Mode > On.

5

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

1

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.

2

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

3

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.

4

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.

5

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.

Command Prompt
adb version

Expected: 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.

1

Install ADB

Use the command for your distribution, or download Google's Platform Tools manually.

Arch / CachyOS
sudo pacman -S android-tools
Debian / Ubuntu
sudo apt update && sudo apt install android-tools-adb
Fedora
sudo dnf install android-tools
openSUSE
sudo zypper install android-tools
2

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.

Arch / CachyOS
sudo pacman -S android-udev-rules
Debian / Ubuntu
sudo apt install android-sdk-platform-tools-common
Fedora / openSUSESkip this command; the rules are included with android-tools.

Add your account to the hardware permission groups:

Terminal
sudo usermod -aG adbusers,plugdev $USER

Reload the udev rules:

Terminal
sudo udevadm control --reload-rules && sudo udevadm trigger

Log out and back in for the group changes to take effect. Alternatively, run newgrp adbusers in the current terminal.

3

Verify ADB

Confirm that ADB is installed and responding.

Terminal
adb version

Expected: a response beginning Android Debug Bridge version.

3 / Mandatory compatibility check

Connect and check your build

1

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.

Command Prompt / Terminal
adb devices

Expected: 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.

2

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.

Command Prompt / Terminal
adb shell getprop ro.build.version.incremental

Dated build snapshot checked on 24 Sep 2026

HeadsetProject nameIncremental build
Quest ProSeacliff51503870024400340
Quest 3Eureka52433670036000520
Quest 3SPanther3814840024700610
Quest 2Hollywood52242990024200150

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.

1

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.

2

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.

Command Prompt / Terminal
adb install -g Singularity.apk

Expected: Success. The -g flag grants permissions Singularity needs.

3

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

4

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.

5

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.

6

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.

7

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

8

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

1

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.

2

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.

Command Prompt / Terminal
adb devices
3

Test the root shell

Run the command below. If Singularity-Magisk asks whether Shell or ADB may use root, tap Grant, then run it again.

Command Prompt / Terminal
adb shell su -c id

Success 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, then adb 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 devices again.
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.

Guide 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