Dolphin emulator

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

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
OptionPerformanceQuality
Internal resolution1x NativeAuto (Window size)
Anti-aliasingNoneat least 2x
Anisotropic filtering1xat least 2x
Post-Processing Effect(off)your choice
(see tip below)
Scaled EFB copyuncheckedchecked
Per-Pixel Lightninguncheckedchecked
Force texture filtering,
Widescreen Hack,
Disable fog
offyour 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
OptionValue
Skip EFB access from CPUunchecked
Ignore format changeschecked
EFB copiestexture
Texture cache/ AccuracyFast
External frame bufferdisable
Cache display listsunchecked
Disable destination alphaunchecked
OpenCL texture decoderunchecked
OpenMP texture decoderunchecked
Fast depth calculationchecked
(Should uncheck for anaglyph 3D)
Vertex streaming hackunchecked

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 , Dolphin's optional dependency PulseAudio needs to be installed.

Playing

Note: Dolphin is a resource-heavy application, so expect not all games to run properly. See the reason here.

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 search action command for searching on Dolphin's wiki:

exo-open --launch WebBrowser https://wiki.dolphin-emu.org/index.php?search=%u

Themes

To change the theme of Dolphin, place a css file in 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.

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.

gollark: It's hard to make things which are good at *both* of those, and you would deal with twice the heat in one place.
gollark: CPUs have to execute x86 (or ARM or other things, but generally a documented, known instruction set) very fast sequentially, GPUs can execute basically whatever they want as long as it can be generated from one of the standard ways to interface with them, and do it in a massively parallel way.
gollark: It's not very efficient to have one thing do both because being specialized means they can make specific optimizations.
gollark: But they're not as good because thermal constraints and no ability to swap the bits separately.
gollark: I mean, you have CPUs with built-in integrated graphics.

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.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.