Open-source project
dolphin-emu/dolphin avatar
dolphin-emu/dolphin

Dolphin Emulator: Running GameCube and Wii Games on PC and Android

Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.

15,560 stars3,267 forksC++NOASSERTION

At a glance

What is it?
Dolphin is a GPLv2+ open-source emulator that runs GameCube and Wii games on Windows, Linux, macOS, and Android. It provides configurable video backends including Vulkan and Direct3D 12, two DSP emulation modes with different accuracy profiles, and a companion tool for disc image management.
Who is it for?
Dolphin is the right pick for running GameCube or Wii software on a modern desktop or Android device. It covers only those two consoles, so anyone looking for a general multi-platform frontend will need something else.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 9 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Dolphin Emulates and Who Uses It

Dolphin covers exactly two platforms: Nintendo GameCube and Wii. No other consoles are in scope. The main audience is PC users who want to play titles they originally bought on those consoles, developers testing homebrew software, and researchers who need to run GameCube or Wii software without physical hardware. The README describes the project plainly as "an emulator for running GameCube and Wii games on Windows, Linux, macOS, and recent Android devices."

Android support extends Dolphin's reach to mobile devices, but the README specifically notes that performance on Android "varies heavily with driver quality," linking to published documentation on driver quality across GPU vendors. Two Android devices with identical specifications on paper can perform very differently if one ships with better-optimized GPU drivers. Dolphin also enforces hardware requirements at install time: attempting to install on an unsupported Android device produces an error message rather than a degraded experience.

The project is licensed under the GNU General Public License version 2 or later. Source code is hosted on GitHub under dolphin-emu/dolphin, with a separate homepage at dolphin-emu.org, forums, a wiki, and a public issue tracker.

Hardware Requirements for Desktop and Android

Desktop requirements are precise. On Windows, the minimum supported version is Windows 10 version 1903. macOS requires version 11.0 Big Sur or later. Linux is supported without a stated minimum version. Other Unix-like systems are not officially supported, though they may work.

For the CPU, Dolphin requires SSE2 support as a hard minimum and recommends a 3 GHz dual-core processor built no earlier than 2008. For the GPU, the hard minimum is Direct3D 11.1 or OpenGL 3.3; the recommendation is Direct3D 11.1 or OpenGL 4.4. This matters in practice because some rendering features in the recommended video backends depend on the higher OpenGL version.

Android requirements impose an additional constraint: the processor must be 64-bit, either ARMv8 or x86-64. A 32-bit Android device cannot run Dolphin at all. The minimum Android version is 7.0 Nougat, and the GPU must support OpenGL ES 3.0. The README recommends a GPU that also supports standard desktop OpenGL features for best performance, distinguishing between minimum functionality and optimal operation.

Cloning, Building, and Uninstalling

Dolphin does not ship pre-built binaries through the GitHub repository. Build instructions for each platform live on the project wiki. Before starting any build, the README requires pulling all submodules:

sh
git submodule update --init --recursive

Skipping this step will produce build errors because Dolphin depends on several external libraries tracked as submodules. After running this command, the build follows OS-specific instructions linked from the wiki for Windows, Linux, macOS, and OpenBSD.

Android builds use a hybrid system. The Java application layer compiles with Gradle using the project located in `./Source/Android`. The native emulation core compiles with CMake; Gradle triggers the CMake build automatically during the Java compilation phase. The README notes these instructions assume prior familiarity with the Android development environment.

Uninstalling is platform-specific. On Windows, removing the extracted directory is sufficient unless the NSIS installer was used, in which case the standard Windows application removal process applies. On macOS, deleting Dolphin.app removes the emulator. On Linux, the README gives this command to run from the build directory as root:

sh
cat install_manifest.txt | xargs -d '\n' rm

After uninstalling on any platform, the README recommends removing the global user directory separately if you do not plan to reinstall Dolphin.

Command-Line Interface and Batch Operations

Dolphin exposes a command-line interface through its main executable. On Windows this is Dolphin.exe; on other platforms it is the equivalent binary. The README documents the usage pattern:

code
Usage: Dolphin.exe [options]... [FILE]...

The `-e` flag loads a specific file for execution. The `-C` flag sets configuration values at startup using the pattern `<System>.<Section>.<Key>=<Value>`. This lets automation scripts adjust settings without editing config files by hand. The `-m` flag plays a recorded movie file, and the `-n` flag launches a NAND title specified by its 16-character ASCII title ID.

A companion tool, dolphin-tool, handles disc image operations independently of the main emulator. Its subcommands are:

code
usage: dolphin-tool COMMAND -h

commands supported: [convert, verify, header, extract]

The `convert` command moves disc images between the ISO, GCZ, WIA, and RVZ container formats, with an optional `--scrub` flag to strip junk data. The `verify` command computes a digest using CRC32, MD5, SHA1, or rchash. The `header` command prints the block size, compression method, and compression level of GCZ, WIA, and RVZ images. The `extract` command pulls the contents of a disc image to a folder. These operations are useful for managing large game archives before and after emulation.

Video Backends and DSP Engine Trade-offs

Dolphin supports four main video rendering backends. On Windows, both D3D (Direct3D 11) and D3D12 are available alongside the cross-platform OGL (OpenGL) and Vulkan backends. A Null backend renders nothing and is intended for headless testing. A Software Renderer uses the CPU for rendering rather than the GPU; the README states this is intended for debugging only and not suitable for normal gameplay.

For audio, Dolphin provides two DSP emulation modes. High Level Emulation (HLE) reimplements the audio processing at a higher abstraction, which makes it faster. Low Level Emulation (LLE) runs closer to the actual hardware behavior, which the README describes as "close to perfect" at the cost of being slower. LLE has two submodes, Interpreter and Recompiler, but these cannot be selected from the command line.

The choice between HLE and LLE is a real trade-off rather than a default-plus-expert-mode distinction. A developer who needs bit-accurate audio output for archiving or compatibility testing should default to LLE. A player prioritizing frame rate on lower-end hardware should use HLE. Neither mode is universally correct, and the README does not designate a recommended default.

Where Dolphin Is the Wrong Tool

Dolphin is not a general-purpose emulation frontend. It covers only GameCube and Wii, so anyone who also needs to emulate NES, SNES, N64, or other platforms will need additional software alongside it. There is no built-in frontend for organizing or browsing a mixed library of consoles.

Android performance is an inherent limitation. Because Dolphin relies on OpenGL ES 3.0 and optional desktop OpenGL extensions, and because Android GPU drivers vary widely in quality, some Android devices that technically meet the minimum requirements will produce poor results. The README explicitly acknowledges this and points to a public driver quality reference.

Building from source adds friction compared to downloading a pre-packaged release. The build process involves pulling submodules, following OS-specific wiki instructions, and handling build tool dependencies separately on each platform. Engineers who want a one-step install should check the dolphin-emu.org homepage for pre-built packages.

The project is licensed GPLv2+, which means any distributable binary must ship its complete source code or a written offer to provide it. This is relevant for anyone embedding Dolphin in a commercial product or distributing modified builds.

Editorial conclusion

Dolphin is the right pick for running GameCube or Wii software on a modern desktop or Android device. It covers only those two consoles, so anyone looking for a general multi-platform frontend will need something else. The build process requires following per-platform wiki pages rather than a single install script, which adds friction for first-time builders. Anyone who needs to automate disc verification or image conversion can use dolphin-tool without launching the full emulator GUI. The LLE audio engine produces near-perfect accuracy at a real performance cost, so testing both modes against the specific title in question is the first practical step before settling on a configuration. The last push to the repository was on 2026-09-21.

Frequently asked questions

How do I install Dolphin Emulator on a PC?

The repository's README points to OS-specific build instructions on the project wiki. Before building, run `git submodule update --init --recursive` to pull all required external libraries. Pre-built packages are available from the dolphin-emu.org homepage for Windows, Linux, and macOS.

How do I use Dolphin Emulator on Android?

Dolphin on Android requires a 64-bit device (ARMv8 or x86-64) running Android 7.0 or later with OpenGL ES 3.0 support. Load a game image using the -e flag or through the application's interface. Performance depends heavily on GPU driver quality and varies between devices with otherwise identical specifications.

How do I use Dolphin Emulator on Mac?

macOS 11.0 Big Sur or later is required. Build instructions for macOS are on the project wiki at github.com/dolphin-emu/dolphin/wiki/Building-for-macOS. After building, launch Dolphin.app and load a game file through the interface or with the -e command-line flag.

Official sources

  1. dolphin-emu/dolphin on GitHub
  2. Issues
  3. Project website
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/dolphin-emu-dolphin.svg)](https://hysenlabs.com/projects/dolphin-emu-dolphin)