Dolphin emulator

From ArchWiki

Dolphin is a Nintendo GameCube and Wii emulator, currently supporting the x86_64 and AArch64 architectures. Dolphin is available for Linux, macOS, Windows, and Android. It is a free and open source, community-developed project. Dolphin was the first GameCube and Wii emulator, and currently the only one capable of playing commercial games.

Installation

Install one of the following:

  • Dolphin emu — A GameCube / Wii emulator
https://dolphin-emu.org/ || dolphin-emu
  • Dolphin emu beta (git) — A GameCube / Wii emulator (monthly beta)
https://dolphin-emu.org/ || dolphin-emu-beta-gitAUR
  • Dolphin emu (git) — A GameCube / Wii emulator (development version)
https://github.com/dolphin-emu/dolphin || dolphin-emu-gitAUR
Tip:
  • Stable releases of Dolphin tend to grow old between releases, and are potentially outclassed by the development versions, which feature many speed improvements and bug fixes in comparison. If low performance or glitches are encountered, consider installing the dolphin-emu-gitAUR package.
  • Reinstalling the dolphin-emu-gitAUR package will upgrade Dolphin to the latest development version at any time.

Configuration

Tip: Run dolphin-emu -h for help Dolphin's options.
Note: Dolphin may override these settings on a per-game basis, such as when a setting is known to break a certain game. If absolutely sure a specific setting will not crash the game, you can disable or change these overrides by right-clicking the game and selecting Properties. Likewise, you can set per-game settings using this method.

While no additional configuration is needed for the emulator to run (it is preconfigured with the default settings), altering the settings can improve performance and graphics alike. Settings are split to three main sections, Config, Graphics and DSP.

Config section

Tip: Recent versions of Dolphin remove the Audio frameskip option, so Auto is now recommended.

On the General tab, check Enable Dual Core and Enable Idle Skipping. The frame limit should be set to "Auto", so that it works with games from all regions. The CPU emulation engine should be left as JIT Recompiler. Only check "Force console as NTSC-J" if intending to play imported Japanese discs.

All options on the "Interface" tab are personal choices.

The Audio tab is the DSP section's screen; setting it up now means there will be no need to do it later. See the DSP settings paragraph below.

The next two tabs are not very important; the Gamecube tab has settings about connected accessories, such as memory cards, and the only remarkable Wii tab option is the "Aspect Ratio" drop-down list. Set it to either 16:9 or 4:3, depending on the display's aspect ratio.

On the final tab, "Paths", ISO directories can be set. The directory of game ISOs can also be set by clicking browse from the home screen, but here more options are available, such as Search Subfolders.

Graphics section

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: New 3D options available. (Discuss in Talk:Dolphin emulator)

On the "General" tab, choose OpenGL from the backend drop-down list for the currently most compatible renderer. Set the "Display" and "Other" settings to the desired configuration. V-sync is useful, but it can lead to slowdowns. The "render to main window" option improves the experience aesthetically.

If your graphics card supports Vulkan, using the Vulkan backend may give you higher performance than OpenGL. Note that the Vulkan backend might not be compatible with certain titles, so if you run into issues with a game, try switching back to OpenGL before giving up. The official compatibility list often has hints about how each renderer handles a title.

On the "Enhancements" tab are the options that can improve graphics. While they result to great output, they can slow the emulation down to the point of making games unplayable. Choose the best settings possible, as long as speed remains 100%.

Comparison of options
Option Performance Quality
Internal resolution 1x Native Auto (Window size)
Anti-aliasing None at least 2x
Anisotropic filtering 1x at least 2x
Post-Processing Effect (off) your choice
(see tip below)
Scaled EFB copy unchecked checked
Per-Pixel Lightning unchecked checked
Force texture filtering,
Widescreen Hack,
Disable fog
off your option
(recommended: off)
Tip: Dolphin is able to render games that were developed for 2D in anaglyph 3D. To enable this, set Post-Processing Effect to stereoscopic (default, for red-cyan mode) or stereoscopic2 (blue-yellow). It is also necessary to uncheck "Fast Depth Calculation" on the Hacks tab (see below).
Warning: Using filters and other ways to improve graphics might break a few games or cause graphical glitches of any level.

Unless sure, the Hacks tab is best left untouched.

Defaults
Option Value
Skip EFB access from CPU unchecked
Ignore format changes checked
EFB copies texture
Texture cache/ Accuracy Fast
External frame buffer disable
Cache display lists unchecked
Disable destination alpha unchecked
OpenCL texture decoder unchecked
OpenMP texture decoder unchecked
Fast depth calculation checked
(Should uncheck for anaglyph 3D)
Vertex streaming hack unchecked

Similarly, unless sure, leave everything in the Advanced tab unchecked.

DSP section

Set the DSP emulation engine to

  • DSP HLE for speed over accuracy,
  • DSP LLE recompiler for better accuracy with the cost of some speed,
  • DSP LLE interpreter; accurate but makes everything unplayable. Too slow.

DSP LLE on separate thread improves speed on computers with multi-core CPUs, but might cause audio glitches, and is known to break Zelda ucode games. Audio backend is best set to ALSA. For pulseaudio, Dolphin's optional dependency PulseAudio needs to be installed.

Note: If you came here from the Config section's link, you should go back now.

Playing

Note: Dolphin is a resource-heavy application, so expect not all games to run properly. See the reason here.
Warning: Make sure you only use Dolphin for legally obtained self-made disc dumps of games you legally bought. Dolphin was not developed for unlawful use. Act legally as applying laws define. You are responsible for any usage of the emulator that you make. No links, instructions or tips for obtaining illegal content will be provided on this wiki. No copyright infringement intended.

Click on browse to set a directory of ISOs so that they are shown as a library on Dolphin's default screen. Otherwise just click Open and select the file.

Dolphin's Wiki

Whenever a game does not work properly, try reading its page on Dolphin's wiki. Listed there are tips on setting up the emulator for each game, version compatibility charts, testing entries, troubleshooting and video previews. Contributions, such as testing entries and workarounds are welcome and help other users.

Here is a xfce4-whiskermenu-plugin search action command for searching on Dolphin's wiki:

exo-open --launch WebBrowser https://wiki.dolphin-emu.org/index.php?search=%u
Tip: Setting up keymaps is recommended. Prefer a gamepad with analogue features to a keyboard and a mouse. See this map of the GameCube gamepad. Having fun while playing is also recommended.

Themes

To change the theme of Dolphin, place a css file in ~/.local/share/dolphin-emu/Styles directory. Then go to the interface tab in the options and check the Use Custom User Style box. Click on the User Style tab to change the theme.

Note: This was tested using the Dolphin emu (git) package.

Troubleshooting

Incompatibility with Wayland

Dolphin 5.0 is not compatible with Wayland. Force it to run as X11 application via this command:

QT_QPA_PLATFORM=xcb dolphin-emu

Launching games fails with "WriteRest Op" error

Add "-fno-pie" to "CXX_FLAGS" when building Dolphin.

Games play too fast

Make sure the framelimit is set to a proper value for the game's region; 60 for NTSC games or 50 for PAL ones. Auto is recommended. Avoid playing other media simultaneously with Dolphin.

Emulation is too slow

Double-check the CPU scaling governor. If using an NVidia graphics card, on nvidia-settings changing the powermizer setting to "Prefer maximum performance"; check its temperature to make sure the card does not overheat, though. Change Dolphin's priority using nice. Killing unnecessary processes and disabling compositing also helps. Configuring Dolphin correctly, as described above, is the most important part.

Many systems have more than one GPU, like an integrated low-performance one by Intel and a dedicated graphics card. See PRIME on how to execute Dolphin on your dedicated GPU.

Games frequently stutter on first playthrough, but subsequent runs are smooth

This stutter is likely introduced because graphics rendering has to pause due to shader compilation. Dolphin has gained advanced techniques for minimizing such stutter, called Ubershaders. They require strong GPUs to work best and thus are not enabled by default. In the graphics configuration dialog under "Shader Compilation", try one of the options "Synchronous (Ubershaders)" or "Asynchronous (Ubershaders)". Hover over the radio buttons to see a more detailed explanation text in the dialog. Using the option "Compile Shaders Before Starting" may also reduce stutter, but at the cost of a longer delay before the game starts.

See also: Improving performance – most of the advice should be helpful.

See also

Note: The Arch Linux wiki and its users are not responsible for any damage, misuse or illegal action caused, directly or not, by following instructions from webpages hyperlinked below.