# dolphin-emu/dolphin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dolphin-emu-dolphin).**

14,644 stars · 2,974 forks · C++ · other

## Links

- GitHub: https://github.com/dolphin-emu/dolphin
- Homepage: https://dolphin-emu.org
- awesome-repositories: https://awesome-repositories.com/repository/dolphin-emu-dolphin.md

## Topics

`cpp` `emulation` `emulator` `gamecube` `wii`

## Description

Dolphin is a software environment that simulates GameCube and Wii console hardware, allowing users to execute game discs and digital software on modern computing platforms. It functions by translating original console processor instructions into native host machine code at runtime and intercepting low-level graphics commands to render them through modern graphics APIs.

The project distinguishes itself through a comprehensive netplay engine that enables online multiplayer for local games by synchronizing game states and input timing across remote instances. This system enforces deterministic execution and verifies file integrity to ensure consistent sessions, while also providing spectator modes and flexible input latency management. Beyond core emulation, it offers extensive visual enhancements, including internal resolution upscaling and post-processing effects, alongside a virtual hardware abstraction layer that maps modern peripherals and specialized adapters to original console controller inputs.

The platform includes a broad suite of utilities for managing virtual storage volumes, such as memory cards and system memory dumps, facilitating the backup and transfer of save data. It also provides advanced diagnostic and performance tools, allowing users to adjust processor speeds, select different graphics backends, and manage shader compilation to optimize the experience across various host hardware configurations.

## Tags

### Operating Systems & Systems Programming

- [Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators.md) — Simulates console hardware to execute game discs and digital software on modern computing platforms.
- [System Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators.md) — Simulates original console hardware environments to execute game discs and digital software on modern platforms. ([source](https://dolphin-emu.org/docs/guides/))
- [Controller Mappers](https://awesome-repositories.com/f/operating-systems-systems-programming/controller-configurations/controller-mappers.md) — Maps modern keyboards, mice, and gamepads to emulate original console controllers and specialized peripherals.
- [Input Profile Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-profile-managers/input-profile-managers.md) — Saves and loads custom controller configurations to allow quick switching between different game setups. ([source](https://dolphin-emu.org/docs/guides/configuring-controllers/))
- [System Memory Dump Importers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management-systems/memory-dump-parsers/system-memory-dump-importers.md) — Enables the decryption and import of system memory dumps to facilitate access to console-specific files and services. ([source](https://dolphin-emu.org/docs/guides/nand-usage-guide/))

### Game Development

- [Online & Multiplayer](https://awesome-repositories.com/f/game-development/online-multiplayer.md) — Enables online multiplayer for local games by facilitating direct connections and traversal server support. ([source](https://dolphin-emu.org/docs/guides/netplay-guide/))
- [Deterministic Networking](https://awesome-repositories.com/f/game-development/online-multiplayer/deterministic-networking.md) — Synchronizes game state and input timing across remote instances to enable consistent online multiplayer sessions.
- [Netplay Synchronization Engines](https://awesome-repositories.com/f/game-development/online-multiplayer/game-servers/netplay-synchronization-engines.md) — A networking layer that synchronizes game state and inputs across multiple remote instances to enable online multiplayer for local games.

### Data & Databases

- [Deterministic Synchronization Enforcers](https://awesome-repositories.com/f/data-databases/data-management/unique-identifier-generators/uniqueness-enforcement/deterministic-synchronization-enforcers.md) — Enforces deterministic execution and file integrity across remote instances to ensure consistent multiplayer sessions. ([source](https://dolphin-emu.org/docs/guides/virtual-sd-card-guide/))
- [Storage Management](https://awesome-repositories.com/f/data-databases/storage-management.md) — Manages the creation and maintenance of emulated memory cards and storage volumes for game save data. ([source](https://dolphin-emu.org/docs/guides/))
- [Virtual Storage Managers](https://awesome-repositories.com/f/data-databases/storage-management-systems/virtual-storage-managers.md) — Manages virtual memory cards and system storage volumes to facilitate save data backup and transfer.

### Graphics & Multimedia

- [Graphics Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-rendering-engines.md) — Translates console graphics commands into modern APIs with support for resolution scaling and post-processing.
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Translates low-level console graphics commands into modern graphics API calls for rendering on host hardware.
- [Optical Disc Rippers](https://awesome-repositories.com/f/graphics-multimedia/optical-disc-rippers.md) — Converts physical game media into digital image files for use within the emulation environment. ([source](https://dolphin-emu.org/docs/guides/ripping-games/))
- [Internal Resolution Scalers](https://awesome-repositories.com/f/graphics-multimedia/video-upscaling-pipelines/internal-resolution-scalers.md) — Renders 3D scenes at higher-than-native resolutions by modifying internal graphics pipeline parameters.
- [Post-Processing Effects](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/post-processing-effects.md) — Improves visual fidelity by applying post-processing effects and scaling internal resolutions for classic game titles.
- [Shader Caching](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/cross-platform-shader-compilers/shader-caching.md) — Controls shader generation and caching to balance rendering accuracy and prevent frame stuttering. ([source](https://dolphin-emu.org/docs/guides/performance-guide/))
- [Shader Caches](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/shader-cross-compilation-pipelines/asynchronous-compilation/shader-caches.md) — Pre-compiles and stores graphical shader programs to prevent frame stuttering during active gameplay.
- [Rendering Backends](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/rendering-backends.md) — Switches between different rendering interfaces to match host system graphics hardware capabilities. ([source](https://dolphin-emu.org/docs/guides/performance-guide/))

### Programming Languages & Runtimes

- [Just-In-Time Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/just-in-time-compilers.md) — Translates original console processor instructions into native host machine code at runtime for high-performance execution.

### Development Tools & Productivity

- [Local Storage Emulators](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/cloud-service-emulation-interception/cloud-infrastructure-emulation/local-storage-emulators.md) — Simulates standard hardware storage interfaces to support applications and content requiring virtualized volumes. ([source](https://dolphin-emu.org/docs/guides/virtual-sd-card-guide/))
- [Save Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/save-synchronizers.md) — Aligns save data and input timing across remote instances to maintain synchronized game states during multiplayer sessions. ([source](https://dolphin-emu.org/docs/guides/netplay-guide/))

### System Administration & Monitoring

- [Internal Resolution Scaling](https://awesome-repositories.com/f/system-administration-monitoring/resolution-scaling-tools/internal-resolution-scaling.md) — Increases the rendering resolution of games to improve visual fidelity on modern hardware. ([source](https://dolphin-emu.org/docs/guides/performance-guide/))
- [Controller Adapters](https://awesome-repositories.com/f/system-administration-monitoring/hardware-control-interfaces/controller-adapters.md) — Interfaces official or third-party controller adapters with emulated software to enable original hardware support. ([source](https://dolphin-emu.org/docs/guides/how-use-official-gc-controller-adapter-wii-u/))

### User Interface & Experience

- [Input Mapping Systems](https://awesome-repositories.com/f/user-interface-experience/input-mapping-systems.md) — Maps keyboards, mice, and gamepads to emulate original hardware controllers for custom control schemes. ([source](https://dolphin-emu.org/docs/guides/configuring-controllers/))
- [Native Controller Integrators](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/native-input-mappers/native-controller-integrators.md) — Integrates original hardware via adapters or wireless protocols to provide authentic input experiences. ([source](https://dolphin-emu.org/docs/guides/configuring-controllers/))
- [Latency Management](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/latency-management.md) — Adjusts input buffers and synchronization modes to balance responsiveness and stability based on network conditions. ([source](https://dolphin-emu.org/docs/guides/netplay-guide/))

### Business & Productivity Software

- [Peripheral Managers](https://awesome-repositories.com/f/business-productivity-software/peripheral-management/peripheral-managers.md) — Maps modern input devices and original hardware adapters to emulated controllers and specialized console accessories.
- [Media Digitizers](https://awesome-repositories.com/f/business-productivity-software/digitization-pipelines/media-digitizers.md) — Converts physical game discs and system memory dumps into digital formats for backup and use.

### Software Engineering & Architecture

- [Hardware Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/hardware-abstraction-layers.md) — Provides a virtual hardware abstraction layer that maps console software requests to host file systems and input devices.

### Networking & Communication

- [Peripheral Emulators](https://awesome-repositories.com/f/networking-communication/virtual-peripheral-bridges/peripheral-emulators.md) — Simulates specific controller extensions and accessories to support software requiring specialized hardware inputs. ([source](https://dolphin-emu.org/docs/guides/configuring-controllers/))

### Security & Cryptography

- [Integrity Verification](https://awesome-repositories.com/f/security-cryptography/integrity-verification.md) — Ensures gameplay consistency by validating the integrity of game data files across all network participants. ([source](https://dolphin-emu.org/docs/guides/netplay-guide/))
