Dolphin is a free and open-source video game console emulator of the GameCube, Wii, and Triforce arcade system that runs on Windows, Linux, macOS, and Android.

It had its inaugural release in 2003 as freeware for Windows. Dolphin was the first GameCube emulator that could successfully run commercial games. After troubled development in the first years, Dolphin became free and open-source software and subsequently gained support for Wii emulation. Soon after, the emulator was ported to Linux and macOS. As mobile hardware became more powerful over the years, running Dolphin on Android became a viable option.

Dolphin has been well received in the IT and video gaming media for its high compatibility, steady development progress, the number of available features, and the ability to play games with graphical improvements over the original platforms.

Development Origins (2003–2006) Dolphin was first released on 22 September 2003 by Henrik Rydgård (ector) and F|RES as an experimental GameCube emulator that could boot up and run commercial games. Audio was not yet emulated, and the overall performance quality was very poor. Many games crashed on start-up or barely ran at all; average speed was from 2 to 20 frames per second (FPS). Its name refers to the development code name for the GameCube.

Dolphin was officially discontinued temporarily in December 2004, with the developers releasing version 1.01 as the final version of the emulator. The developers later revived the project in October 2005.

Open source, Wii emulation, and 2.0 release (2008–2010) Dolphin became an open-source project on 13 July 2008 when the developers released the source code publicly on a SVN repository on Google Code under the GPL-2.0-only license. At this point, the emulator had basic Wii emulation implemented, limited Linux compatibility and a new GUI using wxWidgets. The preview builds and unofficial SVN builds were released with their revision number (e.g., RXXXX) rather than version numbers (e.g., 1.03). As with previous builds, differences between consecutive builds are typically minor.

By February 2009, the software was able to successfully boot and run the official Wii System Menu v1.0. Shortly after, almost all versions of the Wii system software became bootable.

By April 2009, most commercial games, GameCube and Wii alike, could be fully played, albeit with minor problems and errors, with a large number of games running with few or no defects. Adjustments to the emulator had allowed users to play select games at full speed for the first time, audio was dramatically improved, and the graphical capabilities were made more consistent aside from minor problems.

By late October 2009, several new features were incorporated into the emulator, such as automatic frame-skipping, which increased the performance of the emulator, as well as increased stability of the emulator overall. Also improved was the Netplay feature of the emulator, which allowed players to play multiplayer GameCube and Wii games online with friends, as long as the game did not require a Wii Remote. The emulator's GUI was also reworked to make it more user-friendly, and the Direct3D plug-in received further work.

On 12 April 2010 Dolphin 2.0 was released.

3.0 and 3.5 releases (2010–2012) By the end of November 2010, the developers had fixed most of the sound issues such as crackling, added compatibility with more games, and increased the overall emulation speed and accuracy.

In June 2011, version 3.0 was released. Strange user interface behavior, crashes, graphical glitches and other various issues were fixed. The release notes state that the majority of games "run perfectly or with minor bugs". The release featured redesigned configuration windows, an improved LLE sound engine, new translations, added support for the Wii Remote speaker, EFB format change emulation, graphics debugger and audio dumping among several other new features. The 3.0 release removed the plug-in interface in order to "allow for a much better integration with the other parts of Dolphin". The developers also added a Direct3D 11 video back-end and an XAudio2 audio back-end.

On 25 December 2012, version 3.5 of Dolphin was released, featuring support for emulating the GameCube Broadband Adapter and Microphone accessories. It introduced a FreeBSD port, free replacement for the DSP firmware, and the WBFS file format.

Port to Android and 4.0 release (2013) On 6 April 2013, the Dolphin development team released the first builds for Google's Android mobile operating system. As of September 2013, only a handful of devices contained the hardware to support OpenGL ES 3.0, with Google officially supporting the standard in software since July 2014 with the introduction of Android 4.3 Jelly Bean. Games ran at an average of one frame per second. The developer has cited the Samsung Galaxy S4 as one of the first phones capable of playing games at higher speeds, but even it would have considerable performance limitations.

On 22 September 2013, version 4.0 of Dolphin was released, featuring back-end improvements to OpenGL rendering and OpenAL audio, broader controller support, networking enhancements, and performance tweaks for macOS and Linux builds. Months later, versions 4.0.1 and 4.0.2 were released, fixing minor bugs.

Drop of legacy technologies, accuracy improvements, and 5.0 release (2013–2016) On 12 October 2013 (4.0-155), Direct3D 9 support was removed from the project, leaving Direct3D 11 and OpenGL as the two remaining video back-ends. The Dolphin team explained this, stating that the plug-in was "inherently flawed" and that trying to evade its several flaws "wasted time and slowed development".

On 19 May 2014, the Dolphin team announced that 32-bit support for Windows and Linux would be dropped. The Dolphin team stated that it was becoming increasingly difficult to maintain the 32-bit builds, and that the 32-bit releases simply offered an inferior experience compared to their 64-bit counterparts. Furthermore, the vast majority of their users were already using 64-bit CPUs, and most users of 32-bit builds were 64-bit compatible yet were using 32-bit by mistake. The combination of these factors made 32-bit support unnecessary. 32-bit Android builds suffered from similar issues, but ARMv7 support remained for another year until the AArch64 JIT was ready and devices were available.

Throughout 2014, several features were implemented into Dolphin, including disc loading emulation, native support for GameCube controllers, nearly perfect audio emulation, and bug fixes for problems which had been present since the emulator's earliest days. Memory management unit (MMU) improvements allowed many games to boot and work properly for the first time. Improvements towards the emulator also allowed for it to run well on Android using the Nvidia Tegra processor, albeit with minor difficulties.

In coordination with the developers of the VBA-M Game Boy Advance emulator, support for linking GameCube and Game Boy Advance games was implemented into Dolphin in March 2015.

On 25 May 2015, the Dolphin development team announced that they had successfully re-licensed the code base from "GPL-2.0-only" to "GPL-2.0-or-later" in order to improve license compatibility with other free and open-source projects and be able to share and exchange code with them.

In August 2015, the Dolphin developers announced further improvements with audio and throughout December 2015 the Dolphin project fixed audio issues on TR Wii Remotes. Two months later, in February 2016, a Direct3D 12 back-end was mainlined after months of development.

On 24 June 2016, version 5.0 of Dolphin was released, making various fixes and additions to the emulator.

Post-5.0 developments (2016–2022) Development of a Vulkan-based graphics renderer began in June 2016. After a month, the developer announced that it is "now feature-complete" and that it's "time for clean-ups/bug-fixing/performance work". Development of the renderer was still done in a dedicated branch for the next few months until the code was finally merged in October 2016.

In September 2016, Dolphin's developers announced the emulator was now able to boot all official GameCube titles. The last title to be supported for boot-up, Star Wars: The Clone Wars, had been particularly difficult to emulate due to the game's use of the memory management unit. Triforce emulation was removed in 2016 due to lack of maintenance, until being restored in 2026, now able to run all games but one for the system.

In March 2017, support was added for the Wii Shop Channel.

Two experimental features, both of which never reached maturity, were removed in May 2017: The Direct3D 12 renderer – which found a suitable replacement in the Vulkan back-end – and the alternative CPU emulator JIT IL.

Continuing this year's earlier work on graphics performance-related matters, Dolphin developers implemented a solution for the long-standing problem known as shader compilation stuttering. The stuttering is caused by the emulator waiting for the graphics driver to compile shaders required for new environments or objects. The solution that the Ubershaders – in development since 2015 – present to the problem was to emulate the Wii's and GameCube's rendering pipeline by way of an interpreter running on the host system's graphics processor itself until a specialized shader has been compiled and can be used for future frames, at a lower cost to performance.

18 August 2017 marks the culmination of work started in late 2016 when the cross-platform MMORPG Dragon Quest X was added to the list of playable games just two months before support for the online functionality of the Wii version was dropped. The addition relied on a number of features that had been previously added to the emulator simply for the sake of accuracy, such as support for the Wii Shop Channel. Support for Wii File System, an encrypted file system that was originally designed for the Wii U, was also added after a rigorous amount of reverse engineering.

In the first half of 2018 Dolphin's developers deprecated the wxWidgets GUI toolkit and replaced it with one based on Qt because the original GUI toolkit's limitations stood in the way of implementing new features. Among the other newly introduced features were Asynchronous Shader Compilation similar to Ishiiruka, an auto-update feature, and integration with Discord.

In the summer of 2018 Dolphin's Vulkan renderer was brought to macOS via MoltenVK and the Android version was brought back to Google Play with monthly updates. In April 2019, Dolphin added 3 new features; unification of common video backends, a NetPlay Server browser, and Wii MotionPlus emulation. The Direct3D 12 renderer was also brought back.

During the time-frame between November 2019 and January 2020, support for Windows 10 on ARM was added. According to the developers, "[i]t turned out to be quite easy" because support for AArch64 hardware has already been present as part of the Android port.

In the May and June Progress Report for 2020 the Dolphin team unveiled a new compression format, based upon the WIA format and using zstd, called RVZ. The article claims that RVZ, compared to the NKit format, properly emulates load times. Additionally, the article claims that RVZ approaches or excels the file sizes of "scrubbed" WIA and GCZ disk images while remaining lossless.

In the December 2020 and January 2021 Progress Report, the Dolphin team reported that support had been added for emulating Nintendo DS Connectivity with various Wii titles. The article stated that this development would not lead to Dolphin and DS interoperability, either with physical hardware or with another emulator. This new emulation fixed a crash present in Driver: San Francisco and other games that attempt to initiate DS communications.