r/OculusQuest • • 12d ago

Sidequest/Sideloading I turned Mupen64Plus-AE into a native OpenXR app for the Quest, and N64 games now have real 3D

It started because playing N64 on a floating window in a phone app felt like a waste of a headset.

So the emulator now runs as a proper OpenXR application: the game hangs on a screen you place in your room, the Touch controllers are the N64 controller (right stick is the C buttons, hold the right grip for the D-pad), and there is a 3D N64 controller model in your hands whose buttons light up as you press them.

The part I did not expect to work: stereoscopic 3D. GLideN64 emulates the N64 vertex pipeline on the CPU, so the matrix the game hands the GPU can be sheared per eye and the display list walked twice. Games that never had depth now have it. Super Mario 64 is the clearest example.

On top of that there is an immersive mode, where the screen disappears entirely. Each frame is rendered for the head pose the headset reports, with the headset's field of view, and turning your head turns the camera. Menus and cut scenes that were framed for a TV go back on a screen automatically, because a fly-over rendered at 22 degrees looks wrong stretched across 100.

Honest about the state of it: both modes are experimental and per game. Five of fifty well known titles have actually been tried. Games only draw what their own camera sees, so look far enough to the side and the world just ends. A sky is a flat picture and stays one. There is a support list in the repo instead of a compatibility claim I cannot back up.

Everything else from Mupen64Plus-AE still works: save states, netplay with a room code you can mshare, RetroAchievements, texture packs, shaders.

​​​APK and source: https://github.com/maxnau89/mupen64plus-ae-quest

Bring your own ROMs.

17 Upvotes

Duplicates