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

Dolphin: a GameCube and Wii emulator for desktop and Android

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

15,823 stars3,388 forksC++NOASSERTION

At a glance

What is it?
Dolphin runs GameCube and Wii software on Windows, Linux, macOS and recent Android devices under GPLv2+. This article covers what it does, how to install and use it, where it falls short, and who should look elsewhere.
Who is it for?
Dolphin is for people who own GameCube or Wii software and want to run it on a desktop or a recent Android device with a Direct3D 11.1 or OpenGL 3.3 class GPU. It is not for anyone whose hardware predates SSE2, whose Android device lacks OpenGL ES 3.0, or who expects console-accurate timing on every title: the README itself points to the FAQ before use, and LLE audio trades speed for accuracy.
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 received new commits within the last day.
What is it written in?
Mainly C++, according to GitHub's language statistics.

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

From daily snapshots

Star history

  • dolphin-emu/dolphin15,823 ★ · +272
Star history
Repository2026-09-212026-11-14
dolphin-emu/dolphin15.6k15.8k

272 Stars in the last 54 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What Dolphin emulates and who the binary is built for

Dolphin targets two Nintendo consoles: the GameCube and the Wii. The README describes it as "an emulator for running GameCube and Wii games on Windows, Linux, macOS, and recent Android devices", licensed under the GNU General Public License, version 2 or later. The practical audience is anyone holding original discs or Wii titles who wants them on a PC or phone, plus developers and researchers who need a scriptable, inspectable runtime for that hardware. The repository is written in C++, which matches what the source tree actually is: a large native emulator with platform frontends. Nothing in the README frames Dolphin as a general-purpose virtual machine or a RetroArch-style multi-system core. It emulates one vendor's two consoles, and the system requirements are written accordingly.

The two halves of the runtime: Dolphin and dolphin-tool

The project ships two executables. The GUI binary, Dolphin.exe on Windows, is the interactive emulator. The second is dolphin-tool, a command line utility whose README usage lists four commands: convert, verify, header and extract. That split matters. Disc images can be rewritten, checked or queried without ever opening the interface, which is what you want when preparing a library in bulk.

The convert subcommand takes -i for the input disc image and -o for the destination, with -f selecting the container format from iso, gcz, wia or rvz. The default is RVZ. The -s flag scrubs junk data during conversion, and -u points at a user folder used for temporary processing files, created automatically if you omit it.

On the emulation side, the command line exposes the same switches the GUI uses. -e loads a specified file, -n launches a NAND title by its 16-character ASCII title ID, and -C sets a configuration option in the form System.Section.Key=Value. Available DSP emulation engines are HLE and LLE. The README explains the trade-off plainly: HLE is faster but less accurate, LLE is slower but close to perfect, and LLE's two submodes, Interpreter and Recompiler, cannot be selected from the command line. Video backends are D3D and D3D12 on Windows only, plus OGL and Vulkan, with Null and Software Renderer available; the software renderer uses the CPU and is described as intended for debugging purposes only.

Installing Dolphin and running a first game

The README does not host binaries itself. It points to the homepage at dolphin-emu.org, and building instructions live on per-OS wiki pages for Windows, Linux, macOS, Android and OpenBSD (the last marked unsupported). If you build from source, the first step the README gives is pulling submodules:

bash
git submodule update --init --recursive

After that, follow the wiki page for your platform. Android is the exception in structure: the README says to import the Gradle project located in ./Source/Android, and notes that while Android apps are compiled with Gradle, Dolphin's native component is compiled with CMake, with the Gradle script running the CMake build automatically.

The README's dolphin-tool usage block documents convert with -i for the input disc image, -o for the destination, -f for the container format (iso, gcz, wia or rvz, default RVZ), -s to scrub junk data and -u for the user folder.

To launch something directly, the README's own usage line is:

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

The same block lists -e to load a specified file, -n to launch a NAND title by its 16-character ASCII title ID, and -C to set a configuration value.

Where Dolphin is the wrong tool

The system requirements are not decorative. On desktop, Dolphin wants a CPU with SSE2 support, and the README calls a modern CPU of 3 GHz and dual core, not older than 2008, highly recommended. Graphics need Direct3D 11.1 or OpenGL 3.3 at minimum, with Direct3D 11.1 or OpenGL 4.4 recommended. The README is explicit that installing on hardware below these requirements will fail and display an error message.

Android is the sharper edge. The device needs Android 7.0 Nougat or higher, a 64-bit capable processor (ARMv8 or x86-64), and a GPU supporting OpenGL ES 3.0 or higher. The README then adds that performance varies heavily with driver quality and links to a blog post on OpenGL drivers. That is a candid admission that identical hardware can behave differently depending on the vendor's driver, and it means Dolphin on Android is a poor fit if you cannot control the device or its firmware.

There is also an accuracy ceiling. Choosing HLE audio buys speed at the cost of accuracy, and LLE, the accurate path, is slower. The two LLE submodes cannot be selected from the command line, so scripted setups cannot tune that dimension. And the Software Renderer, while available, is documented as a debugging aid rather than a way to play. If you need bit-exact cycle behavior across a title library, none of this is presented as a guarantee.

How Dolphin differs from a multi-system frontend

The obvious alternative for someone consolidating a game library is a multi-system frontend such as RetroArch, which wraps many emulator cores behind one interface and one controller configuration. The difference is architectural, not cosmetic. Dolphin is a single-vendor emulator with its own GUI, its own configuration model, and a companion tool, dolphin-tool, purpose-built for GameCube and Wii disc containers (iso, gcz, wia, rvz). RetroArch does not ship that conversion pipeline; it delegates emulation to cores and leaves disc preparation to other utilities.

That cuts both ways. If your library is mostly GameCube and Wii, Dolphin's integrated convert, verify, header and extract commands save you from stitching together separate tools. If your library spans a dozen systems, you end up running Dolphin alongside a frontend anyway, and you inherit two configuration surfaces. The README's command line, with -C System.Section.Key=Value, is Dolphin's answer to scripted configuration, and it is specific to Dolphin's own settings tree rather than a frontend-wide standard.

Maintenance, licensing and upgrade cost

The repository is not archived, and the last push was on 2026-11-02, so the codebase is current. The repository has no published GitHub releases, so upgrade cost is best judged from the build instructions: the wiki pages for each OS, the submodule pull, and the CMake and Gradle build described for Android. That is the recurring cost.

Uninstalling is documented per platform. On Windows you remove the extracted directory unless you used the NSIS installer, in which case it uninstalls like any other Windows application. macOS users delete Dolphin.app. Linux users run a command from the build directory:

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

The README says to run that as root, and adds that you should also remove the global user directory if you do not plan to reinstall. Note the asymmetry: the Linux path depends on install_manifest.txt still existing in the build directory, so a cleaned build tree removes your uninstall route.

The licence is GPLv2 or later. The repository's license field is reported as NOASSERTION, but the README states GPLv2+ explicitly, and there is a COPYING file and a LICENSES/ directory at the top level. GPLv2+ is a copyleft licence, which has implications if you intend to redistribute a modified build. This is a description of the licence, not legal advice; consult the COPYING file and a qualified professional for your own situation.

Editorial conclusion

Dolphin is for people who own GameCube or Wii software and want to run it on a desktop or a recent Android device with a Direct3D 11.1 or OpenGL 3.3 class GPU. It is not for anyone whose hardware predates SSE2, whose Android device lacks OpenGL ES 3.0, or who expects console-accurate timing on every title: the README itself points to the FAQ before use, and LLE audio trades speed for accuracy. Before adopting it, check the wiki build page for your operating system, confirm your GPU supports the required API, and read the FAQ and issue tracker for the specific games you care about.

Frequently asked questions

How do I install Dolphin emulator on Windows?

The README does not host installers itself; it links to the homepage and to a Windows building wiki page. Windows 10 1903 or higher is required, and the README warns that installing on hardware below the stated requirements will fail with an error message.

How do I use Dolphin emulator on a PC?

The README gives the command line form `Dolphin.exe [options]... [FILE]...`. You can load a file with -e, launch a NAND title with -n and a 16-character ASCII title ID, and set options with -C System.Section.Key=Value.

How do I use Dolphin emulator on Android?

Android needs 7.0 Nougat or higher, a 64-bit capable processor (ARMv8 or x86-64) and a GPU supporting OpenGL ES 3.0 or higher. For building, the README says to import the Gradle project in ./Source/Android, where Gradle runs the CMake build automatically.

How do I install Dolphin emulator on macOS?

macOS 11.0 Big Sur or higher is required, and the README points to a macOS building wiki page. To uninstall, the README says macOS users can simply delete Dolphin.app.

How do I install Dolphin emulator on Windows 11?

The README lists Windows 10 1903 or higher as the desktop requirement and points to the Windows building wiki page for instructions; it does not describe a separate Windows 11 path. The same hardware requirements apply, including a CPU with SSE2 support and a Direct3D 11.1 or OpenGL 3.3 class GPU.

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)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/dolphin-emu-dolphin.svg)](https://hysenlabs.com/projects/dolphin-emu-dolphin)

Was this useful?