Controlling the Global User Directory

From Dolphin Emulator Wiki
Jump to navigation Jump to search

The user directory is where Dolphin stores saves, settings, screenshots, and other data. Where the user directory is located depends on the Dolphin version, operating system, and your configuration. Some locations let the user directory be shared by different installations of Dolphin (a global user directory), and some locations are tied to a specific installation of Dolphin (a local user directory).

Windows

Dolphin 3.5-2368 and earlier always used a local user directory, stored in the same folder as Dolphin.exe and named User. Starting with 3.5-2381, the global user directory system was introduced on Windows and the default user directory changed to a subfolder inside the Documents folder, named Dolphin Emulator.

The default folder changed again on 5.0-18242, which now defaults to %AppData%\Dolphin Emulator, however, for backwards compatibility, the previous location will remain in use if it exists when launching Dolphin 5.0-18242 or newer for the first time. Additionally, it's possible to configure Dolphin to still use a local user directory or another custom location, as explained below.

Disable the Global User Directory for a Specific Build with "portable.txt"

To make a build use a local user directory, create a text file named "portable" next to the executable files of the build. With the extension it should be named "portable.txt". Dolphin will check if that file exists in the same directory, then it will not use the global user directory, instead it will create and use the local user directory in the same directory.

Custom Command Line Path

If you are launching Dolphin from the command line, you can set a custom user directory path for the current session of Dolphin by using the -u option:

C:\Path\To\Dolphin\Build\Dolphin.exe -u E:\Path\To\User\Directory\

Dolphin will use the regular user directory path again the next time you launch Dolphin, unless you use -u again.

Registry Configuration

The user directory behavior can be changed for all Dolphin installations at once using the registry. Editing the registry is an advanced topic and is not recommended for most users!

Choose the Location of the Global User Directory

  • Open the registry. Type "regedit" in the search bar of the Start Menu and hit enter.
  • Expand HKEY_CURRENT_USER.
  • Right click Software and select New > Key. Name the key Dolphin Emulator.
  • Right click the new Dolphin Emulator key, and select New > String Value. Name the value UserConfigPath.
  • Double click the "UserConfigPath" value and an Edit String dialog appears. Under "Value Data", enter the path to the custom User directory. Make sure that the "User" folder is explicitly specified, since Dolphin will assume whatever path it is directed to is the \User\ folder. If it is pointed to Desktop for example, the Desktop will be flooded with folders unnecessarily.

Use Local User Directories

  • Open the registry. Type "regedit" in the search bar of the Start Menu and hit enter.
  • Expand HKEY_CURRENT_USER.
  • Right click Software and select New > Key. Name the key Dolphin Emulator.
  • Right click the new Dolphin Emulator key, and select New > String Value. Name the value LocalUserConfig.
  • Double click the "LocalUserConfig" value and an Edit String dialog appears. Under "Value Data", type the number 1.

Linux

By default, Dolphin uses a global user directory and follows the XDG Base Directory Specification for determining its location. If the directory ~/.dolphin-emu exists, or you are using a version of Dolphin older than 4.0-8143, ~/.dolphin-emu will be used as the location of the global user directory instead.

Disable the Global User Directory for a Specific Build with "portable.txt"

In Dolphin 5.0-148 and later, it's possible to use the same portable.txt method as on Windows to set a local user directory for a Dolphin build.

To make a build use a local user directory, create a file named portable.txt in the same directory as the executable files of the build. Dolphin will check if that file exists in the same directory, then it will not use the global user directory, instead it will create and use the local user directory in the same directory.

Custom Command Line Path

If you are launching Dolphin from the command line, you can set a custom user directory path for the current session of Dolphin by using the -u option:

/path/to/dolphin/build/dolphin-emu -u /path/to/user/directory

Dolphin will use the regular user directory path again the next time you launch Dolphin, unless you use -u again.

Environment Variable

If you set the DOLPHIN_EMU_USERPATH environment variable, Dolphin will use its value as the path to the user directory.

macOS

By default, Dolphin uses a global user directory located at ~/Library/Application Support/Dolphin.

Custom Command Line Path

If you are launching Dolphin from the command line, you can set a custom user directory path for the current session of Dolphin by using the -u option:

/path/to/dolphin/build/dolphin-emu -u /path/to/user/directory

Dolphin will use the regular user directory path again the next time you launch Dolphin, unless you use -u again.

Environment Variable

If you set the DOLPHIN_EMU_USERPATH environment variable, Dolphin will use its value as the path to the user directory.

Android

Old versions of Dolphin always use the directory dolphin-emu on shared storage as the user directory. This directory is shared between different installations of Dolphin and is not automatically deleted when you uninstall Dolphin.

Dolphin 5.0-15348 and newer comply with Google's scoped storage policy and normally use the directory Android/data/org.dolphinemu.dolphinemu/files on shared storage as the user directory. This directory is difficult to access in most file managers on Android 11 and newer, and by default all data in the directory will be deleted when you uninstall Dolphin. However, if all of the following applies, the old dolphin-emu location will be used as the user directory instead:

  • Scoped storage is disabled
  • Android/data/org.dolphinemu.dolphinemu/files does not exist or is empty
  • dolphin-emu exists
  • When Dolphin requests permission to access your files, you press Allow

Scoped storage is disabled if at least one of the following applies:

  • You are using Android 10 or older
  • You were using Dolphin 5.0-15341 or older when you installed Dolphin, and you haven't uninstalled Dolphin since then, and you haven't triggered the preserveLegacyExternalStorage bug since then
  • You have manually disabled scoped storage for Dolphin using the following command (only possible if you have a rooted device or a debug version of Dolphin), and you haven't triggered the preserveLegacyExternalStorage bug since then:
    cmd appops set org.dolphinemu.dolphinemu android:legacy_storage allow && am force-stop org.dolphinemu.dolphinemu

The preserveLegacyExternalStorage bug is triggered when all of the following applies at the same time:

  • You are using Android 11 (not Android 12 or newer)
  • The installed version of Dolphin is 5.0-15348 or newer
  • You restart your device