What if the emulator you pick decides whether your save file survives the next update? That is not a scare tactic. It is the everyday reality of GameCube emulation, where three names keep surfacing in the same conversation: Dolphin, PrimeHack, and MMJR2. They look like rivals, but they are not three separate emulators competing on equal footing. Understanding how they relate changes how you choose, how you set up controls, and, most importantly, how you protect your progress. (Nintendo GameCube)
The Family Tree Nobody Explains First
Here is the fact that clears up most confusion: Dolphin is the upstream, open-source GameCube and Wii emulator, with official builds for Windows, macOS, Linux, and Android. PrimeHack is a fork of Dolphin. MMJR2 is a Dolphin-based Android fork aimed at performance on weaker hardware. One engine, three branches.
That matters because forks inherit upstream behavior, including its quirks. A bug fixed in Dolphin may take weeks or months to reach a fork. A setting that works in one may be missing in another. When people say “Dolphin is broken for this game,” they often mean a fork, or the reverse.
The project’s own documentation is the clearest starting point for what the core emulator does and does not do, including its stance that it ships no games and users must supply their own disc images. If you want the ground rules before touching a single setting, the official Dolphin FAQ covers them plainly.
Compatibility: Who Runs What, and Who Lags Behind

Compatibility is where the family tree stops being trivia and starts costing you hours.
Dolphin maintains a public, per-game compatibility wiki with ratings and notes contributed by users and testers. That is your best single reference for whether a title boots, runs at full speed, or has audio glitches. Forks generally inherit that compatibility baseline, but they drift. A fork built on an older Dolphin revision will not include newer fixes, and it will not show up in the wiki’s notes.
| Emulator | Platform | Compatibility baseline | Best for |
|---|---|---|---|
| Dolphin | Windows, macOS, Linux, Android | Official, continuously updated | Accuracy, broad game library, long-term support |
| PrimeHack | Desktop (Dolphin fork) | Inherits Dolphin, frozen at fork point | Metroid Prime trilogy with mouse and keyboard |
| MMJR2 | Android (Dolphin fork) | Inherits Dolphin, frozen at fork point | Squeezing speed from low-end phones |
A practical rule: check the game on the official wiki first, then check which Dolphin revision your fork is based on. If the wiki notes a fix from a revision newer than your fork, expect the old behavior. This is the single most common source of “but it works for everyone else” frustration. (Refund game steam 14 day rule explained)
One honest caveat about 2027. No one can promise a fork will still be maintained two years out. The MMJR line has had maintenance gaps before, and community Android forks come and go. Before committing to MMJR2, verify the repository’s recent commit activity. If the last update is many months old, treat it as a frozen build, not a living project.
Controls: Three Very Different Answers to the Same Question
Controls are where these three diverge most, and where personal preference genuinely decides.
Dolphin supports native GameCube controller input, including the official Wii U GameCube adapter, plus keyboard, Xbox-style pads, and touch on Android. Its input configuration is deep, sometimes intimidatingly so, but it maps almost anything to anything.
PrimeHack exists for one reason: playing the Metroid Prime trilogy with a mouse and keyboard. It adds mouse look, field-of-view adjustments, and aiming behavior tuned for that trilogy. It is not a general-purpose emulator, and it is not affiliated with the Dolphin team. If you are not playing Prime, PrimeHack offers you nothing Dolphin does not.
MMJR2 leans on touch controls and Bluetooth gamepads. Its settings interface is reorganized for phone users, which helps, but touchscreen aiming in a first-person game remains a compromise. A clip-on controller or a Bluetooth pad transforms the experience far more than any settings tweak.
Practical control tips that actually help
- Set your controller up in the emulator before launching a game. Mapping mid-game leads to missed inputs and confusion.
- For GameCube games with analog triggers, verify the trigger axes register fully. Partial presses cause weird behavior in games that use light shielding or pressure-sensitive actions.
- On Android, disable battery optimization for the emulator app. Background throttling causes stutter that looks like a performance problem but is not.
- For PrimeHack, tune sensitivity in small increments and test in a safe area before a boss fight.
If you enjoy understanding how control and configuration layers separate from the engine itself, the same split shows up in networking, where the service mesh architecture control plane and data plane model explains why configuration and traffic handling live apart. Emulator settings and emulator core follow the same logic.
Save Files: The Part That Bites People
This is the section worth reading twice. Save data is where switching emulators quietly destroys progress, and it happens more than anyone admits.
Dolphin uses two kinds of saves. Memory card files (commonly .raw or GCI) store saves the way a real GameCube memory card would. Save states snapshot the entire emulator at an instant. Save states are convenient and fragile. They are not portable between Dolphin versions or forks, and they can break after an emulator update. Memory card saves are the portable option.
That distinction explains the classic disaster: someone plays for forty hours on MMJR2 using save states, switches to desktop Dolphin, and finds nothing to import. The states are tied to the fork’s build.
| Save type | Portable across versions? | Portable across forks? | Safe long-term? |
|---|---|---|---|
| Memory card (.raw/GCI) | Yes | Usually | Yes |
| Save state | No | No | No |
Location matters too. On desktop, Dolphin stores user data in a User directory, often under Documents on Windows. Android builds use app-private storage, and that path differs between forks. Switching emulators on a phone without exporting first is how saves vanish.
A save routine that survives anything
- Create a memory card file per game and save in-game regularly.
- Export or back up that memory card file to cloud storage weekly.
- Use save states for convenience only, never as your primary save.
- Before switching emulators, confirm the memory card file opens in the new one.
- Keep one untouched backup from before any major emulator update.
The official Dolphin guides walk through memory card and controller setup in more detail than any forum post, and they are updated with the emulator itself.
Performance and the Hardware Reality Check
Dolphin on a modern desktop runs most of the GameCube library at full speed without drama. The interesting questions are elsewhere.
On Android, performance depends on the chipset, thermal throttling, and the game. MMJR2’s appeal is real: its reorganized settings and defaults target weaker devices. But “faster” often means “less accurate,” and accuracy loss shows up as missing effects, audio crackle, or crashes in specific scenes.
PrimeHack’s performance profile matches Dolphin’s, since it is Dolphin underneath. Its overhead comes from the aiming and rendering changes, which are modest on desktop hardware.
A tip that surprises people: many perceived performance problems are configuration problems. Wrong backend, wrong resolution scale, or a laptop switching to integrated graphics mid-session. Fix those before blaming the emulator. The same principle of offloading work to the right hardware component appears in router hardware offloading explained, where the CPU stops doing what dedicated silicon handles better.
Which One Should You Actually Install?
Match the tool to the job, not to a ranking.
- Playing the GameCube library broadly, on desktop: Dolphin. No contest.
- Playing Metroid Prime with mouse and keyboard: PrimeHack, and only for that trilogy.
- Playing on a low-end Android phone: MMJR2, with the understanding that it is unofficial and may be frozen.
- Playing on a modern Android phone: official Dolphin builds are often the better long-term choice.
There is no shame in installing more than one. Many people keep Dolphin as the main emulator and PrimeHack as a dedicated Prime install. Just keep your memory card files in one shared, backed-up folder so switching costs you nothing.
One more angle worth knowing: emulator forks and configuration layers are a recurring pattern in software. The gitops explained guide to git as a control plane shows the same idea, where a declarative layer manages the system beneath it. Forks work the same way, layering changes over a base they do not fully control.
Common Mistakes and What Works Instead
The mistakes repeat so reliably they could be a checklist.
Mistake one: trusting save states. Covered above, and it remains the top cause of lost progress. Use memory cards.
Mistake two: assuming forks are supported. The Dolphin team does not support forks. If you report a bug in MMJR2 or PrimeHack to the upstream project, expect to be redirected. Report to the fork’s own repository.
Mistake three: chasing settings from random videos. Settings tuned for one device and one game version may hurt on yours. Change one setting at a time and test.
Mistake four: ignoring the wiki. The compatibility wiki exists precisely to save you from trial and error. Check it before posting a question.
Mistake five: never backing up. A single cloud-synced folder of memory card files is the cheapest insurance in emulation.
What actually works is boring and effective: official builds where possible, memory card saves, one change at a time, and backups on a schedule.
Conclusion
Dolphin, PrimeHack, and MMJR2 are not three rivals on a podium. They are one engine and two specialized branches. Dolphin is the foundation and the safest long-term bet. PrimeHack is a precision tool for one beloved trilogy. MMJR2 is a performance-minded Android fork whose future depends on maintainers who owe you nothing. Choose by platform and by game, verify fork activity before you commit, and treat memory card files as the only saves that matter. Do that, and 2027 can arrive with your progress intact.
FAQ
Is PrimeHack a separate emulator from Dolphin?
No. PrimeHack is a fork of Dolphin, meaning it is built from Dolphin’s source code with modifications. It adds mouse-and-keyboard controls and aiming changes for the Metroid Prime trilogy. It is not affiliated with the Dolphin project and is not intended for general GameCube or Wii games.
Can I transfer save files from MMJR2 to desktop Dolphin?
Usually yes, if you use memory card files rather than save states. Export the memory card file from the Android app’s storage and place it in Dolphin’s memory card directory on desktop. Save states will not transfer, and they may break even within the same emulator after an update.
Why do my save states stop working after an update?
Save states capture the emulator’s internal state at a specific moment, including details tied to that exact build. When the emulator or fork changes, those details no longer match, and the state fails to load. Memory card saves store data the way the original hardware did, so they survive updates.
Is MMJR2 still maintained in 2027?
That cannot be guaranteed. Community Android forks have had maintenance gaps before, and some stop receiving updates entirely. Before relying on MMJR2, check its repository for recent commit activity. If updates have stopped, treat it as a fixed build rather than an actively developed emulator.
Which emulator is best for low-end Android phones?
MMJR2 was built with that audience in mind, offering reorganized settings and defaults aimed at weaker hardware. That said, official Dolphin builds on modern phones are often competitive and better supported. Test both with your specific device and game before deciding.
Do these emulators include games?
No. Dolphin and its forks ship without game files. Users must supply their own disc images, which the project’s documentation states clearly. The emulator provides the hardware environment; the game data comes from you.


