Progress Continues
We've already had 21401 updates since Dolphin 5.0. Keep up with Dolphin's continuing progress through the Dolphin Blog: August, September, and October 2023 Progress Report. |
The Dolphin Emulator Wiki needs your help! Dolphin can play thousands of games, and changes are happening all the time. Help us keep up! Join in and help us make this the best resource for Dolphin. |
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 #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
- Stereoscopy Depth Percentage - controls StereoDepthPercentage in #Stereoscopic 3D Settings
- Convergence - controls StereoConvergence in #Stereoscopic 3D Settings
- Monoscopic Shadows - controls StereoEFBMonoDepth in #Stereoscopic 3D Settings
- Enable Block Merging - controls #BlockMerging
- VBeam Speed Hack - controls #VBeam Speed Hack
[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 = DX9
to set the video backend to Direct3D 9. Removed (will do nothing) in 4.0-155 and later.GFXBackend = D3D
to set the video backend to Direct3D 11. UseDX11
in Dolphin build earlier than 4.0-155.GFXBackend = D3D12
to set the video backend to Direct3D 12. Removed (will do nothing) in 5.0-3774 and later.GFXBackend = OGL
to set the video backend to OpenGL.GFXBackend = Vulkan
to set the video backend to Vulkan.
CPU Engine
CPUCore = 0
to set the CPU engine to "Interpreter".CPUCore = 1
to set the CPU engine to "JIT".CPUCore = 2
to set the CPU engine to "JITIL". Removed (will do nothing) in 5.0-3792 and later.CPUCore = 5
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 4.0-2777 and later.
FPRF = True
orFalse
to force enable and disable "Floating-point Result Flag" calculation respectively.
DSP HLE
DSPHLE = True
orFalse
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
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". Equivalent toFrameLimit = 0x00000000
"Off" in 4.0-8579 and before.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. Equivalent toFrameLimit = 0x00000001
"Auto" in 4.0-8579 and before.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%". Equivalent toFrameLimit = 0x00000019
"120" in 4.0-8579 and before.
UseFPS
Implemented in 4.0-265 and later.
UseFPS = True
to set the FrameLimiter to be based on FPS instead of the VPS.UseFPS = False
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 4.0-5432 and later.
VBeam = True
orFalse
to enable and disable the "VBeam Speed Hack" respectively.
CPU Overclock
OverclockEnable = True
orFalse
to enable and disable "CPU Overclocking" respectively.Overclock = 1.0
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.
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.
BlockMerging
BlockMerging = True
orFalse
to enable and disable the "Block Merging" respectively.
Memory Management Unit (MMU)
MMU = True
orFalse
to enable and disable the "Memory Management Unit" respectively.
DCBZ
DCBZ = True
orFalse
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.
EFBScale = 0
to set the Internal Resolution to "Auto (Multiple of 640x528)"EFBScale = 1
to set the Internal Resolution to "Auto (Window Size)"EFBScale = 2
to set the Internal Resolution to 1x NativeEFBScale = 3
to set the Internal Resolution to 1.5x NativeEFBScale = 4
to set the Internal Resolution to 2x NativeEFBScale = 5
to set the Internal Resolution to 2.5x NativeEFBScale = 6
to set the Internal Resolution to 3x NativeEFBScale = 7
to set the Internal Resolution to 4x NativeEFBScale = -1
"-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.
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 represent the drop down list in the Dolphin GUI, starting with 0.
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
Values starting from 0 represent the drop down order in the list that dolphin uses. Each backend has it's own list of Anti-Aliasing options so it is suggested to enforce a certain video backend along with this option.
MSAA = 0
will set it to the top of the list value which is 'Off' for all backends, for values starting from 1 the result will vary depending on the backend used, check the drop list in the GUI and start counting from 0 to find which Anti-Aliasing option will be used for values higher than zero.
External Frame Buffer
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.
OpenMP Texture Decoder
OMPDecoder = True
orFalse
to enable and disable "OpenMP Texture Decoder" respectively.
OpenCL Texture Decoder
EnableOpenCL = True
orFalse
to enable and disable "OpenCL Texture Decoder" respectively.
Disable Fog
DisableFog = True
orFalse
to enable and disable "Disable Fog" respectively.
Disable Destination Alpha
DstAlphaPass = True
orFalse
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.
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 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.
[Video_Hacks]
The following entries go under [Video_Hacks] section of the GameINI.
Cache Display Lists
DlistCachingEnable = True
orFalse
to enable and disable "Cache Display Lists" respectively.
EFB Copies
EFBToTextureEnable = True
orFalse
to enable "EFB to Texture" and "EFB to Ram" respectively.EFBCopyEnable = True
orFalse
to enable and disable "EFB copies" respectively.EFBCopyCacheEnable = True
orFalse
to enable and disable "EFB to RAM Cache" 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!
[Video]
The following entries go under [Video] section of the GameINI.
UseBBox = True
orFalse
to enable and disable "Bounding Box Calculation" respectively.ZTPSpeedupHack = True
orFalse
to enable and disable "ZTP Hack" respectively.ProjectionHack = 1
or0
to enable and disable "Custom Projection Hack" respectively.
[Video_Hardware]
The following entries go under [Video_Hardware] section of the GameINI.
VSync
VSync = True
orFalse
to enable and disable "VSync" respectively.
[Video_Stereoscopy]
The following entries go under [Video_Stereoscopy] section of the GameINI.
Stereoscopic 3D Settings
StereoDepthPercentage = 100
Percentage of depth value set in the video configuration applied in-game.StereoConvergenceMinimum = 0
Base convergence value that's added to the value set in the video configuration.StereoEFBMonoDepth = False
orTrue
to enable "Monoscopic Shadows" respectively.
[DSP]
The following entries go under [DSP] section of the GameINI.
Backend
Implemented in 4.0-101 and later.
Backend = OpenAL
Backend = DSound
Backend = XAudio2
EnableJIT
EnableJIT = True
=> for LLE recompilerEnableJIT = False
=> for LLE interpreter
Volume
Implemented in 4.0-265 and later.
Volume = 100
, 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.