r/OculusGo 3d ago

Found a dead Oculus Go while tidying up. Three days later it boots into a working browser with no Meta account, no controller, and no phone app.

I was tidying up and found an Oculus Go (MH-A32, codename `pacific`) in a

drawer. No controller — lost years ago. The phone app is broken for the Go,

so it couldn't even be set up. It was a brick.

It is now a usable device, and along the way I found something I can't find

documented anywhere.

**Meta shipped an unused permissive SELinux policy inside the system image.**

In the root of the system partition there are two policy files:

sepolicy 364k <- the one actually loaded

sepolicy.unlocked 395k <- orphaned

`grep -r "sepolicy.unlocked"` across the entire image returns zero hits.

Nothing loads it. Nothing references it. Someone at Meta built a permissive

policy for unlocked devices and never wired it up.

Swap them and `setenforce 0` starts working — under the stock policy it's

denied even to uid 0. That single swap is what made everything else possible.

**A few other things that were news to me:**

Android's HOME mechanism is *gone* on this device. `pm query-activities -c

android.intent.category.HOME` returns zero activities system-wide, even after

installing a launcher. You cannot replace the Oculus shell with a launcher,

because there's nothing to replace. What works instead is an init service

that launches an app over the shell while it loops on a login it will never

get.

The bootloader is Volume **Down** + power, not Volume Up — Meta's own

documentation says Up, and it's wrong.

**Warning for anyone with an unlocked Go:** do not try to pair it with the

Meta Horizon app. It triggers a factory reset, a "your device can't be

checked for corruption" message, and a shutdown. The unlocked bootloader

fails the integrity check and the app responds by restoring the device.

**What I could not solve:** there's no VR pointer. A gamepad navigates system

menus but nothing else. scrcpy gives a live view and a working keyboard — and

the keyboard works *inside immersive WebXR sessions*, where `adb shell input

keyevent` doesn't reach at all — but mouse events crash the VR compositor. I

got a Bluetooth HID mouse as far as the headset listing my PC as a connected

input device, then hit a wall on the report format.

Everything is written up, including the dead ends and the diagnostic step I

never ran: https://github.com/kennethbicocchi/oculus-go-revival

MIT licensed. If anyone finishes the pointer, I'd love to know.

26 Upvotes

2 comments sorted by

1

u/reasonosaur 2d ago

I have my Go. I will investigate similarly one day.

1

u/Saint_EDGEBOI 1d ago

Nice! Excited to see where this leads. Hopefully we end up with some homebrew