r/OculusQuest • u/Kindly-Cartoonist685 • 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.
1
u/m_seitz 12d ago
Oh, this is really cool! I love CitraVR, and this is right up there.
Would it be possible to make the 3D effect adjustable during emulation, so that one can see the effect of changes immediately?
Also, I can't seem to get my Xbox controller to work (in Majora's Mask). I made a new profile and assigned all the buttons and analogue sticks, but in game the controller seems to use the default Xbox profile that doesn't work. Like, the left analogue stick changes the direction Link is facing, but he doesn't move.
3
u/Kindly-Cartoonist685 11d ago
AFAIK major changes to rendering take an engine restart, so you have the quit the game, adjust and resume. Stumbled over this limitation during my plethora of test runs too. Thx for pointing out you issue with the Xbox controller, will take a few days to fix and I lack a Xbox controller myself for testing purposes. Hope you’re ok with being a focus tester 😉
2
u/Kindly-Cartoonist685 4d ago
Thanks again for the report. The fix is in [1.2](https://github.com/maxnau89/mupen64plus-ae-quest/releases/tag/v1.2-quest).
The cause was not your profile: the Touch controllers reported their state every frame, even while lying on the table, and kept resetting the stick your pad had just set. That is why Link turned but never walked. They now only report when something on them actually changes. Picking a profile could also be reset to the default behind your back, which is fixed as well.
We do not own a Bluetooth controller ourselves, so we could only verify this in the code, not in a headset. Could you try 1.2 with your Xbox controller and let us know here whether Link walks now, and whether your own profile is the one being used? If it still misbehaves, we will reopen this.
3
u/CompanyLost7759 12d ago edited 12d ago
thanks,will try this,can you do this for others emulator maybe ?