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.
For controller settings, go to GameINI (Controller Settings).
Properties Window
These are settings you can update GameINI directly from the game properties window.
- Enable Dual Core - controls #Dual Core
- Enable MMU - controls #Memory Management Unit (MMU)
- Skip DCBZ clearing - controls #DCBZ
- Enable FPRF - controls #Floating-point Result Flag
- Synchronize GPU thread - controls #Synchronize GPU Thread
- Speed up Disc Transfer Rate - controls #Speed Up Disc Transfer Rate
- DSP HLE emulation (fast) - controls #DSP HLE
- Deterministic dual core - controls #Dualcore Determinism
- Stereoscopy Depth Percentage - controls StereoDepthPercentage in #Stereoscopic 3D Offset Settings
- Convergence - controls StereoConvergence in #Stereoscopic 3D Offset Settings
- Monoscopic Shadows - controls StereoEFBMonoDepth in #Stereoscopic 3D Offset Settings
[Core]
The following entries go under [Core] section of the GameINI.
Dual Core
CPUThread = True
orFalse
to enable and disable "Dual Core" mode respectively.
Graphics Backend
GFXBackend = D3D
to set the video backend to Direct3D 11.GFXBackend = D3D12
to set the video backend to Direct3D 12. Direct3D 12 was removed in 5.0-3774 then reintroduced in 5.0-9878, this setting will do nothing during this interval.GFXBackend = OGL
to set the video backend to OpenGL.GFXBackend = Vulkan
to set the video backend to Vulkan.GFXBackend = Software Renderer
to set the video backend to Software.GFXBackend = Null
to set the video backend to Null(no output).
CPU Emulator Engine
CPUCore = 0
to set the CPU emulator engine to "Interpreter".CPUCore = 1
to set the CPU emulator engine to "JIT x64".CPUCore = 2
to set the CPU emulator engine to "JITIL". Removed (will do nothing) in 5.0-3792 and later.CPUCore = 4
to set the CPU emulator engine to "JIT ARM64".CPUCore = 5
to set the CPU emulator engine to "Cached Interpreter".
Floating-point Result Flag
FPRF = True
orFalse
to enable and disable "Floating-point Result Flag" calculation respectively.
DSP HLE
DSPHLE = True
orFalse
to enable and disable "DSP HLE" 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, or see #DSP Emulator Engine. More information at Audio Emulation.
DSP LLE on Dedicated Thread
Will do nothing in 4.0-4488 and later.
DSPThread = True
orFalse
to enable and disable the "DSP LLE on Dedicated Thread" respectively.
Emulation Speed (formerly Framelimit)
EmulationSpeed = 0.000000000
will set it to "unlimited".EmulationSpeed = 0.100000001
will set it to "10%".EmulationSpeed = 0.200000003
will set it to "20%".EmulationSpeed = 0.300000012
will set it to "30%".EmulationSpeed = 0.400000006
will set it to "40%".EmulationSpeed = 0.500000000
will set it to "50%".EmulationSpeed = 0.600000024
will set it to "60%".EmulationSpeed = 0.699999988
will set it to "70%".EmulationSpeed = 0.800000012
will set it to "80%".EmulationSpeed = 0.900000036
will set it to "90%".EmulationSpeed = 1.00000000
will set it to "100%", as in normal emulation speed.EmulationSpeed = 1.10000002
will set it to "110%".EmulationSpeed = 1.20000005
will set it to "120%".EmulationSpeed = 1.30000007
will set it to "130%".EmulationSpeed = 1.39999998
will set it to "140%".EmulationSpeed = 1.50000000
will set it to "150%".EmulationSpeed = 1.60000002
will set it to "160%".EmulationSpeed = 1.70000005
will set it to "170%".EmulationSpeed = 1.80000007
will set it to "180%".EmulationSpeed = 1.89999998
will set it to "190%".EmulationSpeed = 2.00000000
will set it to "200%".
CPU Overclock
Implemented in 5.0-2302 and later.
OverclockEnable = True
orFalse
to enable and disable "CPU Overclock" respectively.Overclock = 1.0
translates to "100%" CPU clock. The value of Overclock can be any float, and it acts as a multiplier; 0.5 is 50%, 1.0 is 100%, 1.5 is 150%, 2.0 is 200%, etc.
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.
SyncGPU = True
orFalse
to enable and disable the "Synchronize GPU thread" respectively.
Speed Up Disc Transfer Rate
Accelerates the emulated disc speed, removing any loading emulation.
FastDiscSpeed = True
orFalse
to enable and disable the "Speed up Disc Transfer Rate" respectively.
Dualcore Determinism
GPUDeterminismMode = fake-completion
ornone
to enable and disable "Deterministic dual core" respectively.GPUDeterminismMode = auto
will only enable "Deterministic dual core" during Netplay or movie recording/playback.
Memory Management Unit (MMU)
MMU = True
orFalse
to enable and disable the "Memory Management Unit" respectively.
DCBZ
Will do nothing in 5.0-8482 and later.
DCBZ = True
orFalse
to enable and disable "Skip DCBZ Clearing" respectively.
Progressive Scan
ProgressiveScan = True
orFalse
to enable and disable "Progressive Scan" respectively.
GameCube Language
Implemented in 5.0-2023 and later.
GameCubeLanguage = 0
for English or Japanese, depending on the region of the console/game.
Choose a number for the language you want from the list below:
0 = English/Japanese 1 = German 2 = French 3 = Spanish 4 = Italian 5 = Dutch
[Video_Settings]
The following entries go under [Video_Settings] (or [Graphics.Settings]) section of the GameINI.
Internal Resolution
Values starting from 0 represent the drop down order in the list that dolphin uses.
InternalResolution = 0
Shader Compilation
ShaderCompilationMode = 0
0 = Synchronous 1 = Synchronous (Ubershaders) 2 = Asynchronous (Ubershaders) 3 = Asynchronous (Skip Drawing)
Compile Shaders Before Starting
WaitForShadersBeforeStarting = True
orFalse
to enable and disable "Compile Shaders Before Starting" respectively.
Texture Cache Accuracy
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
SafeTextureCacheColorSamples = 0
-> Texture Cache Accuracy "Safe", the left most option on the slider.SafeTextureCacheColorSamples = 512
-> Texture Cache Accuracy "Middle", the middle option on the slider.SafeTextureCacheColorSamples = 128
-> Texture Cache Accuracy "Fast", the right most option on the slider.
Aspect Ratio
Values starting from 0 represent the drop down order in the list that dolphin uses.
AspectRatio = 0
is auto, assigned based on what the emulated console indicates.AspectRatio = 1
to force the aspect ratio to 16:9.AspectRatio = 2
to force the aspect ratio to 4:3.AspectRatio = 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 #Aspect Ratio options in addition to this setting.
wideScreenHack = True
orFalse
to enable and disable the "Widescreen Hack" respectively.
Anti-Aliasing
MSAA = 0
will set it to the top of the list value which is "None". "2x", "4x", "8x" samples would need2
,4
,8
to be used respectively.SSAA = True
orFalse
will toggle between "SSAA" and "MSAA" respectively. The amount of samples used for SSAA will depend on the MSAA value above.
External Frame Buffer
Will do nothing in 5.0-5874 and later.
UseXFB = True
orFalse
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:UseRealXFB = True
orFalse
to enable "Real XFB" or "Virtual XFB" respectively.
Fast Depth Calculation
FastDepthCalc = True
orFalse
to enable and disable "Fast depth calculation" respectively.
Per-Pixel Lighting
EnablePixelLighting = True
orFalse
to enable and disable "Per-Pixel Lighting" respectively.
Disable Fog
DisableFog = True
orFalse
to enable and disable "Disable Fog" respectively.
Load Custom Textures
HiresTextures = True
orFalse
to enable and disable "Load Custom Textures" respectively.
[Video_Enhancements]
The following entries go under [Video_Enhancements] (or [Graphics.Enhancements]) section of the GameINI.
Anisotropic Filtering
Values starting from 0 represent the drop down order in the list that dolphin uses.
MaxAnisotropy = 0
will set it to the top of the list value of 1x equivalent of disabling it. 2x, 4x, 8x, 16x would need1
,2
,3
,4
to be used respectively.
Force Texture Filtering
ForceFiltering = True
orFalse
to enable and disable "Force Texture Filtering" respectively.
Post-processing Effects
This option will only work with the OpenGL and Vulkan backend. Use the names listed in the drop down menu of the option, below we use sepia as an example.
PostProcessingShader = sepia
, also you can put the name of your preferred shader here.
Force 24-Bit Color
ForceTrueColor = True
orFalse
to enable and disable "Force 24-Bit Color" respectively.
Disable Copy Filter
DisableCopyFilter = True
orFalse
to enable and disable "Disable Copy Filter" respectively.
Arbitrary Mipmap Detection
ArbitraryMipmapDetection = True
orFalse
to enable and disable "Arbitrary Mipmap Detection" respectively.
[Video_Hacks]
The following entries go under [Video_Hacks] (or [Graphics.Hacks]) section of the GameINI.
EFB Copies
EFBToTextureEnable = True
orFalse
to enable "EFB to Texture" and "EFB to Ram" respectively.
Scaled EFB Copy
EFBScaledCopy = True
orFalse
to enable and disable "Scaled EFB Copy" respectively.
Skip EFB Access From CPU
EFBAccessEnable = True
orFalse
to disable and enable "Skip EFB Access From CPU" respectively. Beware that it has the opposite behavior of the GUI option!
Ignore Format Changes
EFBEmulateFormatChanges = True
orFalse
to disable and enable "Ignore Format Changes" respectively. Beware that it has the opposite behavior of the GUI option!
Bounding Box
BBoxEnable = True
orFalse
to enable and disable "Bounding Box" calculation respectively.
Vertex Rounding
VertexRounding = True
orFalse
to enable and disable "Vertex Rounding" respectively.
XFB copies
XFBToTextureEnable = True
orFalse
to enable "XFB to Texture" and "XFB to Ram" respectively.
Immediate XFB
ImmediateXFBenable = True
orFalse
to enable and disable "Immediate XFB" respectively.
Skip Presenting Duplicate Frames
SkipDuplicateXFBs = True
orFalse
to enable and disable "Skip Presenting Duplicate Frames" respectively.
Defer EFB copies to RAM
DeferEFBCopies = True
orFalse
to enable and disable "Defer EFB Copies to RAM" respectively.
Defer EFB Cache Invalidation
EFBAccessDeferInvalidation = True
orFalse
to enable and disable "Defer EFB Cache Invalidation" respectively.
[Video_Hardware]
The following entries go under [Video_Hardware] (or [Graphics.Hardware]) section of the GameINI.
V-Sync
VSync = True
orFalse
to enable and disable "V-Sync" respectively.
[Video_Stereoscopy]
The following entries go under [Video_Stereoscopy] (or [Graphics.Stereoscopy] although that is currently bugged, see here) section of the GameINI.
Stereoscopic 3D Offset Settings
StereoDepthPercentage = 100
Percentage to multiply with the depth value of StereoDepth in #Stereoscopic 3D Settings.StereoConvergence = 0
Base convergence value to be multiplied with the percentage value of StereoConvergencePercentage in #Stereoscopic 3D Settings.StereoEFBMonoDepth = True
orFalse
to enable and disable "Monoscopic Shadows" respectively.
Stereoscopic 3D Mode
Values starting from 0 represent the drop down order in the list that dolphin uses.
StereoMode = 0
Stereoscopic 3D Settings
StereoDepth = 20
Separation distance between the virtual cameras.StereoConvergencePercentage = 100
Distance of the convergence plane.StereoSwapEyes = True
orFalse
to enable and disable "Swap Eyes" respectively.
[DSP]
The following entries go under [DSP] section of the GameINI.
Audio Backend
Backend = No audio output
Backend = ALSA
Backend = Cubeb
Backend = Pulse
Backend = OpenAL
Backend = OpenSLES
Backend = WASAPI (Exclusive Mode)
Backend = XAudio2
This option was removed in 5.0-10950 and later for many reasons, Dolphin will try to use Cubeb instead.
DSP Emulator Engine
EnableJIT = True
orFalse
for "LLE recompiler" and "LLE interpreter" respectively. This is when #DSP HLE is disabled.
Volume
Volume = 100
, values starting from 0 up to 100 max are valid.
[Wii]
Wii System Language
Implemented in 5.0-2023 and later.
Language = 1
for English
Choose a number for the language you want from the list below:
0 = Japanese 1 = English 2 = German 3 = French 4 = Spanish 5 = Italian 6 = Dutch 7 = Simplified Chinese 8 = Traditional Chinese 9 = Korean
[Controls]
Gamecube
Choosing Gamecube Port device per game (standard controller, gba, etc.).
PadType0 = 0
0 is "None", see list for values.PadType1 = 0
0 is "None", see list for values.PadType2 = 0
0 is "None", see list for values.PadType3 = 0
0 is "None", see list for values.
Values
0 = None 5 = GBA 6 = Standard Controller 7 = Keyboard 8 = Steering Wheel 9 = Dance Mat 10 = TaruKonga Bongos 11 = AM Baseboard 12 = Gamecube Adapter for Wii U 13 = GBA (Integrated)
Choosing Control Profiles per game: First you should have a control profile saved for each GameCube controller.
PadProfile1 = Your profile name here
This loads gcpad profile for player 1.PadProfile2 = Your profile name here
This loads gcpad profile for player 2.PadProfile3 = Your profile name here
This loads gcpad profile for player 3.PadProfile4 = Your profile name here
This loads gcpad profile for player 4.
Wii
Choosing Wii Remote source per game (emulated Wii Remote, real Wii Remote, etc.).
WiimoteSource0 = 0
will set wiimote1 to "None", 1 for "Emulated Wii Remote", 2 for "Real Wii Remote"WiimoteSource1 = 0
will set wiimote2 to "None", 1 for "Emulated Wii Remote", 2 for "Real Wii Remote"WiimoteSource2 = 0
will set wiimote3 to "None", 1 for "Emulated Wii Remote", 2 for "Real Wii Remote"WiimoteSource3 = 0
will set wiimote4 to "None", 1 for "Emulated Wii Remote", 2 for "Real Wii Remote"WiimoteSourceBB = 0
will set balance board to "None", 2 for "Real Balance Board")
Choosing Control Profiles per game: First you should have a control profile saved for each Wii Remote.
WiimoteProfile1 = Your profile name here
=> This loads Wii Remote profile for player 1.WiimoteProfile2 = Your profile name here
=> This loads Wii Remote profile for player 2.WiimoteProfile3 = Your profile name here
=> This loads Wii Remote profile for player 3.WiimoteProfile4 = Your profile name here
=> This loads Wii Remote profile for player 4.