GameINI

You can configure settings per game through their GameINI. GameINI is a plain text file with game's GameID as its file name and INI as its file extension. It can be retrieved from game's properties, right-click the game from game list then choose Properties from the context menu, then click on the Edit Config button and edit the empty text file that pops up. When editing, carefully arranged line, headings, and capitalization are important.

Properties Window
These are settings you can update GameINI directly from the game properties window.
 * Enable Dual Core - controls
 * Enable MMU - controls
 * Skip DCBZ clearing - controls
 * Enable FPRF - controls
 * Synchronize GPU thread - controls
 * Speed up Disc Transfer Rate - controls
 * DSP HLE emulation (fast) - controls
 * Stereoscopy Depth Percentage - controls StereoDepthPercentage in
 * Convergence - controls StereoConvergence in
 * Monoscopic Shadows - controls StereoEFBMonoDepth in
 * Enable Block Merging - controls
 * VBeam Speed Hack - controls

[Core]
The following entries go under [Core] section of the GameINI.

Dual Core

 * or  to enable and disable "Dual Core" mode respectively.

Graphics Backend

 * to set the video backend to Direct3D 9. Removed (will do nothing) in and later.
 * to set the video backend to Direct3D 11. Use  in Dolphin build earlier than.
 * to set the video backend to Direct3D 12. Removed (will do nothing) in and later.
 * to set the video backend to OpenGL.
 * to set the video backend to Vulkan.

CPU Engine

 * to set the CPU engine to "Interpreter".
 * to set the CPU engine to "JIT".
 * to set the CPU engine to "JITIL". Removed (will do nothing) in and later.
 * to set the CPU engine to "Cached Interpreter".

Uses numbers starting with 0 to represent the tick-mark order used in the Dolphin GUI for the option.

Floating-point Result Flag
Implemented in and later.
 * or  to force enable and disable "Floating-point Result Flag" calculation respectively.

DSP HLE

 * or  to force enable and disable "DSP HLE" for the game respectively.

If DSP HLE is disabled, DSL LLE will be used, it will use either DSP LLE recompiler or DSP LLE interpreter based on your general Dolphin settings. More information at Audio Emulation.

DSP LLE on Dedicated Thread

 * or  to enable and disable the "DSP LLE on Dedicated Thread" respectively.

Emulation Speed (formerly Framelimit)

 * will set it to "unlimited". Equivalent to  "Off" in  and before.
 * will set it to "10%".
 * will set it to "20%".
 * will set it to "30%".
 * will set it to "40%".
 * will set it to "50%".
 * will set it to "60%".
 * will set it to "70%".
 * will set it to "80%".
 * will set it to "90%".
 * will set it to "100%", as in normal emulation speed. Equivalent to  "Auto" in  and before.
 * will set it to "110%".
 * will set it to "120%".
 * will set it to "130%".
 * will set it to "140%".
 * will set it to "150%".
 * will set it to "160%".
 * will set it to "170%".
 * will set it to "180%".
 * will set it to "190%".
 * will set it to "200%". Equivalent to  "120" in  and before.

UseFPS
Implemented in and later.
 * to set the FrameLimiter to be based on FPS instead of the VPS.
 * to set the FrameLimiter to be based on VPS instead of the FPS. This is the normal behavior for the emulator.

VBeam Speed Hack
Removed (will do nothing) in and later.
 * or  to enable and disable the "VBeam Speed Hack" respectively.

CPU Overclock

 * or  to enable and disable "CPU Overclocking" respectively.
 * translates to "100%" CPU clock, greater in value is considered overclocking and smaller in value is considered underclocking.

Synchronize GPU Thread
SyncGPU is a speed hack for dual core mode to allow games to get around dual core glitches without having to use single core. Usually not much faster than single core mode.
 * or  to enable and disable the "Synchronize GPU thread" respectively.

Speed Up Disc Transfer Rate
Accelerates the emulated disc speed, removing any loading emulation.
 * or  to enable and disable the "Speed up Disc Transfer Rate" respectively.

BlockMerging

 * or  to enable and disable the "Block Merging" respectively.

Memory Management Unit (MMU)

 * or  to enable and disable the "Memory Management Unit" respectively.

DCBZ

 * or  to enable and disable "Skip DCBZ Clearing" respectively.

[Video_Settings]
The following entries go under [Video_Settings] section of the GameINI.

Internal Resolution
Values starting from 0 represent the drop down order in the list that dolphin uses.
 * to set the Internal Resolution to "Auto (Multiple of 640x528)"
 * to set the Internal Resolution to "Auto (Window Size)"
 * to set the Internal Resolution to 1x Native
 * to set the Internal Resolution to 1.5x Native
 * to set the Internal Resolution to 2x Native
 * to set the Internal Resolution to 2.5x Native
 * to set the Internal Resolution to 3x Native
 * to set the Internal Resolution to 4x Native
 * "-1" is a special case that does not exist in the GUI. It is used to set an Internal Resolution that is the nearest whole number multiplier of the value set in Dolphin's general settings, rounded down. For example, if 2.5x Native is set in the GUI (general settings), than 2x Native will be used.

Texture Cache Accuracy
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
 * -> Texture Cache Accuracy "Safe", the left most option on the slider.
 * -> Texture Cache Accuracy "Middle", the middle option on the slider.
 * -> Texture Cache Accuracy "Fast", the right most option on the slider.

Aspect Ratio
Values represent the drop down list in the Dolphin GUI, starting with 0.
 * is auto, assigned based on what the emulated console indicates.
 * to force the aspect ratio to 16:9.
 * to force the aspect ratio to 4:3.
 * to set the aspect ratio to "Stretch to window".

Widescreen Hack
Separates the aspect ratio rendered by the game from the one displayed in the game window. Use options in addition to this setting.
 * or  to enable and disable the Widescreen Hack respectively.

Anti-Aliasing

 * will set it to the top of the list value which is "None". "2x", "4x", "8x" samples would need,  ,   to be used respectively. Prior to , values starting from 0 represent the drop down order in the list that dolphin uses.
 * or  will toggle between "SSAA" and "MSAA" respectively. The amount of samples used for SSAA will depend on the MSAA value above.

External Frame Buffer

 * or  to enable and disable "External Frame Buffer" respectively. Virtual or Real will be set according to what you have set it last at the general settings. To control it use together the line below:
 * or  to enable "Real XFB" or "Virtual XFB" respectively.

Fast Depth Calculation

 * or  to enable and disable "Fast depth calculation" respectively.

Per-Pixel Lighting

 * or  to enable and disable "Per-Pixel Lighting" respectively.

OpenMP Texture Decoder

 * or  to enable and disable "OpenMP Texture Decoder" respectively.

OpenCL Texture Decoder

 * or  to enable and disable "OpenCL Texture Decoder" respectively.

Disable Fog

 * or  to enable and disable "Disable Fog" respectively.

Disable Destination Alpha

 * or  to enable and disable "Disable Destination Alpha" respectively.

[Video_Enhancements]
The following entries go under [Video_Enhancements] section of the GameINI.

Anisotropic Filtering
Values starting from 0 represent the drop down order in the list that dolphin uses.
 * will set it to the top of the list value of 1x equivalent of disabling it. 2x, 4x, 8x, 16x would need,  ,  ,   to be used respectively.

Force Texture Filtering

 * or  to enable and disable "Force Texture Filtering" respectively.

Post-processing Effects
This option will only work with the opengl backend. Use the names listed in the drop down menu of the option, below we use sepia as an example.
 * , also you can put the name of your preferred shader here.

[Video_Hacks]
The following entries go under [Video_Hacks] section of the GameINI.

Cache Display Lists

 * or  to enable and disable "Cache Display Lists" respectively.

EFB Copies

 * or  to enable "EFB to Texture" and "EFB to Ram" respectively.
 * or  to enable and disable "EFB copies" respectively.
 * or  to enable and disable "EFB to RAM Cache" respectively.

Scaled EFB Copy

 * or  to enable and disable "Scaled EFB Copy" respectively.

Skip EFB Access From CPU

 * or  to disable and enable "Skip EFB Access From CPU" respectively. Beware that it has the opposite behavior of the GUI option!

Ignore Format Changes

 * or  to disable and enable "Ignore Format Changes" respectively. Beware that it has the opposite behavior of the GUI option!

[Video]
The following entries go under [Video] section of the GameINI.


 * or  to enable and disable "Bounding Box Calculation" respectively.
 * or  to enable and disable "ZTP Hack" respectively.
 * or  to enable and disable "Custom Projection Hack" respectively.

[Video_Hardware]
The following entries go under [Video_Hardware] section of the GameINI.

VSync

 * or  to enable and disable "VSync" respectively.

[Video_Stereoscopy]
The following entries go under [Video_Stereoscopy] section of the GameINI.

Stereoscopic 3D Settings

 * Percentage of depth value set in the video configuration applied in-game.
 * Base convergence value that's added to the value set in the video configuration.
 * or  to enable "Monoscopic Shadows" respectively.

[DSP]
The following entries go under [DSP] section of the GameINI.

Backend
Implemented in and later.

EnableJIT

 * => for LLE recompiler
 * => for LLE interpreter

Volume
Implemented in and later.
 * , values starting from 0 up to 100 max are valid.

[Controls]
The following entries go under [Controls] section of the GameINI.

GameCube Controller Profile
The GameCube controller profile to be used for player 1 to 4. PadProfile1 = Name of Profile PadProfile2 = Name of Profile PadProfile3 = Name of Profile PadProfile4 = Name of Profile

Change Name of Profile to the name of an existing control profile. It requires that you have created and saved a new control profile beforehand for the emulated GameCube controller.

Wii Remote Profile
The Wii Remote profile to be used for player 1 to 4. WiimoteProfile1 = Name of Profile WiimoteProfile2 = Name of Profile WiimoteProfile3 = Name of Profile WiimoteProfile4 = Name of Profile

Change Name of Profile to the name of an existing control profile. It requires that you have created and saved a new control profile beforehand for the emulated Wii Remote.