GameINI: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(→‎Audio Backend: Add cubeb backend)
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== [Core] ==
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.
The following entires go under [Core] section of the GameINI.


=== CPUThread ===
== Properties Window ==
Controls Dual Core and Single Core modes. Can be set in the ISO 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]]


*'''CPUThread = True''' -> Enables Dual Core mode
== [Core] ==
*'''CPUThread = False''' -> Disables Dual Core mode.
The following entries go under [Core] section of the GameINI.


=== GFXBackend ===
=== Dual Core ===
Sets the video backend the game will use.
*<code>CPUThread = True</code> or <code>False</code> to enable and disable "Dual Core" mode respectively.  


*'''GFXBackend = D3D''' –> Sets the video backend to D3D (previously called D3D11 prior to {{revision|4.0-155}})
=== Graphics Backend ===
*'''GFXBackend = OGL''' –> Sets the video backend to OpenGL
*<code>GFXBackend = D3D</code> to set the video backend to Direct3D 11.
*<code>GFXBackend = D3D12</code> to set the video backend to Direct3D 12. Removed (will do nothing) in {{revision|5.0-3774}} and later.
*<code>GFXBackend = OGL</code> to set the video backend to OpenGL.
*<code>GFXBackend = Vulkan</code> to set the video backend to Vulkan.


D3D9 was removed in {{revision|4.0-155}}. On builds prior to {{revision|4.0-155}}, the following three options are available.
=== CPU Emulator Engine ===
*<code>CPUCore = 0</code> to set the CPU emulator engine to "Interpreter".
*<code>CPUCore = 1</code> to set the CPU emulator engine to "JIT".
*<code>CPUCore = 2</code> to set the CPU emulator engine to "JITIL". Removed (will do nothing) in {{revision|5.0-3792}} and later.
*<code>CPUCore = 5</code> to set the CPU emulator engine to "Cached Interpreter".


*'''GFXBackend = DX11''' -> Sets the video backend to D3D11 (now called D3D in the emulator as of {{revision|4.0-155}})
=== Floating-point Result Flag ===
*'''GFXBackend = OGL''' -> Sets the video backend to OpenGL
*<code>FPRF = True</code> or <code>False</code> to enable and disable "Floating-point Result Flag" calculation respectively.
*'''GFXBackend = DX9''' -> Sets the video backend to D3D9. For {{revision|4.0-155}} and later setting the graphics backend to DX9 will do nothing.


=== CPUCore ===
=== DSP HLE ===
Sets the CPU Emulator Engine that Dolphin will use to emulate the game. Uses numbers starting with 0 to represent the tick-mark order used in the Dolphin GUI for the option.
*<code>DSPHLE = True</code> or <code>False</code> to enable and disable "DSP HLE" respectively.


*'''CPUCore = 0''' -> Sets the CPU engine to Interpreter
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]].
*'''CPUCore = 1''' -> Sets the CPU engine to JIT
*'''CPUCore = 2''' -> Sets the CPU engine to JITIL


=== DSPHLE ===
=== DSP LLE on Dedicated Thread ===
Chooses the audio engine. Can also be set in the ISO properties window.
*<code>DSPThread = True</code> or <code>False</code> to enable and disable the "DSP LLE on Dedicated Thread" respectively.


*'''DSPHLE = True''' -> Forces DSP HLE for the game.
=== Emulation Speed (formerly Framelimit) ===
*'''DSPHLE = False''' -> Disables DSP HLE, forcing DSP LLE.
*<code>EmulationSpeed = 0.000000000</code> will set it to "unlimited".
*<code>EmulationSpeed = 0.100000001</code> will set it to "10%".
*<code>EmulationSpeed = 0.200000003</code> will set it to "20%".
*<code>EmulationSpeed = 0.300000012</code> will set it to "30%".
*<code>EmulationSpeed = 0.400000006</code> will set it to "40%".
*<code>EmulationSpeed = 0.500000000</code> will set it to "50%".
*<code>EmulationSpeed = 0.600000024</code> will set it to "60%".
*<code>EmulationSpeed = 0.699999988</code> will set it to "70%".
*<code>EmulationSpeed = 0.800000012</code> will set it to "80%".
*<code>EmulationSpeed = 0.900000036</code> will set it to "90%".
*<code>EmulationSpeed = 1.00000000</code> will set it to "100%", as in normal emulation speed.
*<code>EmulationSpeed = 1.10000002</code> will set it to "110%".
*<code>EmulationSpeed = 1.20000005</code> will set it to "120%".
*<code>EmulationSpeed = 1.30000007</code> will set it to "130%".
*<code>EmulationSpeed = 1.39999998</code> will set it to "140%".
*<code>EmulationSpeed = 1.50000000</code> will set it to "150%".
*<code>EmulationSpeed = 1.60000002</code> will set it to "160%".
*<code>EmulationSpeed = 1.70000005</code> will set it to "170%".
*<code>EmulationSpeed = 1.80000007</code> will set it to "180%".
*<code>EmulationSpeed = 1.89999998</code> will set it to "190%".
*<code>EmulationSpeed = 2.00000000</code> will set it to "200%".


If DSP LLE is set in the lines above, it will use either DSP LLE recompiler or DSP LLE interpreter based on your general Dolphin settings. To force either DSP LLE recompiler or DSP LLE interpreter, see [[DSP EnableJIT]].
=== CPU Overclock ===
Implemented in {{revision|5.0-2302}} and later.
*<code>OverclockEnable = True</code> or <code>False</code> to enable and disable "CPU Overclock" respectively.
*<code>Overclock = 1.0</code> translates to "100%" CPU clock, greater in value is considered overclocking and smaller in value is considered underclocking.


=== DSPThread ===
=== Synchronize GPU Thread ===
Controls "DSP LLE on Dedicated 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.
*<code>SyncGPU = True</code> or <code>False</code> to enable and disable the "Synchronize GPU thread" respectively.


*'''DSPThread = True''' - Enables DSP LLE on Dedicated Thread
=== Speed Up Disc Transfer Rate ===
*'''DSPThread = False''' - Disables DSP LLE on Dedicated Thread
Accelerates the emulated disc speed, removing any loading emulation.
*<code>FastDiscSpeed = True</code> or <code>False</code> to enable and disable the "Speed up Disc Transfer Rate" respectively.


=== FrameLimit ===
=== Dualcore Determinism ===
Uses hex values to set the framelimit. Based on VPS unless [[UseFPS]] is set to true. Added in {{revision|4.0-265}}; it will do nothing in revisions prior to that.
*<code>GPUDeterminismMode = fake-completion</code> or <code>none</code> to enable and disable "Deterministic dual core" respectively.


*'''FrameLimit = 0x00000000''' -> "Off"
=== Memory Management Unit (MMU) ===
*'''FrameLimit = 0x00000001''' -> "Auto"
*<code>MMU = True</code> or <code>False</code> to enable and disable the "Memory Management Unit" respectively.
*'''FrameLimit = 0x00000002''' -> "Audio"
*'''FrameLimit = 0x00000003''' -> "10"
Continues up to
*'''FrameLimit = 0x00000019''' -> "120"


=== UseFPS ===
=== DCBZ ===
Determines whether the framelimiter is based on VPS or FPS. Added in {{revision|4.0-265}}; it will do nothing in revisions prior to that.
*<code>DCBZ = True</code> or <code>False</code> to enable and disable "Skip DCBZ Clearing" respectively.


*'''UseFPS = True''' -> Sets the FrameLimiter to be based on FPS instead of the VPS.
=== Progressive Scan ===
*'''UseFPS = False''' -> Sets the FrameLimiter to be based on VPS instead of the FPS. This is the normal behavior for the emulator.
*<code>ProgressiveScan = True</code> or <code>False</code> to enable and disable "Progressive Scan" respectively.


=== VBeam ===
=== GameCube Language ===
Controls the "VBeam Speed Hack" setting. Can also be set in the ISO properties window.
Implemented in {{revision|5.0-2023}} and later.
*<code>GameCubeLanguage = 0</code> for English or Japanese, depending on the region of the console/game.


*'''VBeam = True''' -> Enables the VBeam Speed Hack
Choose a number for the language you want from the list below:
*'''VBeam = False''' -> Disables the VBeam Speed Hack
0 = English/Japanese
1 = German
2 = French
3 = Spanish
4 = Italian
5 = Dutch


=== SyncGPU ===
== [Video_Settings] ==
Controls the "SyncGPU setting". 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.
The following entries go under [Video_Settings] section of the GameINI.


*'''SyncGPU = True'''
=== Internal Resolution ===
*'''SyncGPU = False'''
Values starting from 0 represent the drop down order in the list that dolphin uses.
*<code>InternalResolution = 0</code>


=== FastDiscSpeed ===
=== Texture Cache Accuracy ===
Accelerates the emulated disc speed, removing any loading emulation. Can also be set in the ISO properties window.
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
*<code>SafeTextureCacheColorSamples = 0</code> -> Texture Cache Accuracy "Safe", the left most option on the slider.
*<code>SafeTextureCacheColorSamples = 512</code> -> Texture Cache Accuracy "Middle", the middle option on the slider.
*<code>SafeTextureCacheColorSamples = 128</code> -> Texture Cache Accuracy "Fast", the right most option on the slider.


*'''FastDiscSpeed = True'''
=== Aspect Ratio ===
*'''FastDiscSpeed = False'''
Values starting from 0 represent the drop down order in the list that dolphin uses.
*<code>AspectRatio = 0</code> is auto, assigned based on what the emulated console indicates.
*<code>AspectRatio = 1</code> to force the aspect ratio to 16:9.
*<code>AspectRatio = 2</code> to force the aspect ratio to 4:3.
*<code>AspectRatio = 3</code> to set the aspect ratio to "Stretch to window".


=== BlockMerging ===
=== Widescreen Hack ===
Can also be set in the ISO properties window.
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.
*<code>wideScreenHack = True</code> or <code>False</code> to enable and disable the "Widescreen Hack" respectively.


*'''BlockMerging = True'''
=== Anti-Aliasing ===
*'''BlockMerging = False'''
*<code>MSAA = 0</code> will set it to the top of the list value which is "None". "2x", "4x", "8x" samples would need <code>2</code>, <code>4</code>, <code>8</code> to be used respectively.
*<code>SSAA = True</code> or <code>False</code> will toggle between "SSAA" and "MSAA" respectively. The amount of samples used for SSAA will depend on the MSAA value above.


=== SkipIdle ===
=== External Frame Buffer ===
Controls the "Idle Skipping" setting. Can also be set in the ISO properties window.
*<code>UseXFB = True</code> or <code>False</code> 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:
*<code>UseRealXFB = True</code> or <code>False</code> to enable "Real XFB" or "Virtual XFB" respectively.


*'''SkipIdle = True''' -> Enables Idle Skipping. This is the default setting for the emulator.
=== Fast Depth Calculation ===
*'''SkipIdle = False''' -> Disables Idle Skipping.
*<code>FastDepthCalc = True</code> or <code>False</code> to enable and disable "Fast depth calculation" respectively.
Skip idle configuration was removed as of {{revision|5.0-950}} with Pull Request #3806 as the option was claimed to be "safe and deterministic" when enabled.[https://github.com/dolphin-emu/dolphin/pull/3806]


=== MMU ===
=== Per-Pixel Lighting ===
Controls the MMU setting. Can also be set in the ISO properties window.
*<code>EnablePixelLighting = True</code> or <code>False</code> to enable and disable "Per-Pixel Lighting" respectively.


*'''MMU = True''' -> Enables "MMU"
=== Disable Fog ===
*'''MMU = False''' -> Disables "MMU"
*<code>DisableFog = True</code> or <code>False</code> to enable and disable "Disable Fog" respectively.


=== TLBHack ===
=== Load Custom Textures ===
Controls the "MMU Speed Hack" setting, a hacked version of the MMU that isn't as demanding. Can also be set in the ISO properties window.
*<code>HiresTextures = True</code> or <code>False</code> to enable and disable "Load Custom Textures" respectively.


*'''TLBHack = True''' -> Enables the MMU Speed Hack
== [Video_Enhancements] ==
*'''TLBHack = False''' -> Disables the MMU Speed Hack
The following entries go under [Video_Enhancements] section of the GameINI.


=== DCBZ ===
=== Anisotropic Filtering ===
Controls the "Skip DCBZ Clearing" setting. Can also be set in the ISO properties window.
Values starting from 0 represent the drop down order in the list that dolphin uses.
*<code>MaxAnisotropy = 0</code> will set it to the top of the list value of 1x equivalent of disabling it. 2x, 4x, 8x, 16x would need <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code> to be used respectively.


*'''DCBZ = True''' -> Enables "Skip DCBZ Clearing"
=== Force Texture Filtering ===
*'''DCBZ = False''' -> Disables "Skip DCBZ Clearing"
*<code>ForceFiltering = True</code> or <code>False</code> to enable and disable "Force Texture Filtering" respectively.


== [Video_Settings] ==
=== 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.
*<code>PostProcessingShader = sepia</code>, also you can put the name of your preferred shader here.


=== EFBScale ===
== [Video_Hacks] ==
Sets the internal resolution. Values starting from 0 represent the drop down order in the list that dolphin uses. Currently:
The following entries go under [Video_Hacks] section of the GameINI.


*'''EFBScale = 0''' -> Sets the Internal Resolution to "Auto (Multiple of 640x528)"
=== EFB Copies ===
*'''EFBScale = 1''' -> Sets the Internal Resolution to "Auto (Window Size)"
*<code>EFBToTextureEnable = True</code> or <code>False</code> to enable "EFB to Texture" and "EFB to Ram" respectively.
*'''EFBScale = 2''' -> Sets the Internal Resolution to 1x Native
*'''EFBScale = 3''' -> Sets the Internal Resolution to 1.5x Native
*'''EFBScale = 4''' -> Sets the Internal Resolution to 2x Native
*'''EFBScale = 5''' -> Sets the Internal Resolution to 2.5x Native
*'''EFBScale = 6''' -> Sets the Internal Resolution to 3x Native
*'''EFBScale = 7''' -> Sets the Internal Resolution to 4x Native
*'''EFBScale = -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.


=== SafeTextureCacheColorSamples ===
=== Scaled EFB Copy ===
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
*<code>EFBScaledCopy = True</code> or <code>False</code> to enable and disable "Scaled EFB Copy" respectively.


*'''SafeTextureCacheColorSamples = 0''' -> Texture Cache Accuracy "Safe", the left most option on the slider
=== Skip EFB Access From CPU ===
*'''SafeTextureCacheColorSamples = 512''' -> Texture Cache Accuracy "Middle", the middle option on the slider
*<code>EFBAccessEnable = True</code> or <code>False</code> to disable and enable "Skip EFB Access From CPU" respectively. Beware that it has the opposite behavior of the GUI option!
*'''SafeTextureCacheColorSamples = 128''' -> Texture Cache Accuracy "Fast", the right most option on the slider


=== Ignore Format Changes ===
*<code>EFBEmulateFormatChanges = True</code> or <code>False</code> to disable and enable "Ignore Format Changes" respectively. Beware that it has the opposite behavior of the GUI option!


=== AspectRatio  ===
=== Bounding Box ===
Sets the AspectRatio for the title. Values represent the drop down list in the Dolphin GUI, starting with 0.
*<code>BBoxEnable = True</code> or <code>False</code> to enable and disable "Bounding Box" calculation respectively.


*'''AspectRatio = 0''' -> Auto Aspect Ratio, assigned based on what the emulated console indicates
=== Vertex Rounding ===
*'''AspectRatio = 1''' -> Force 16:9
*<code>VertexRounding = True</code> or <code>False</code> to enable and disable "Vertex Rounding" respectively.
*'''AspectRatio = 2''' -> Force 4:3
*'''AspectRatio = 3''' -> Sets the aspect ratio to "Stretch to window"


=== wideScreenHack ===
===XFB copies ===
Separates the aspect ratio rendered by the game from the one displayed in the game window. Use [[Aspect Ratio]] controls in addition to this setting.
*<code>XFBToTextureEnable = True</code> or <code>False</code> to enable "XFB to Texture" and "XFB to Ram" respectively.


*'''wideScreenHack = True'''
===Immediate XFB ===
*'''wideScreenHack = False'''
*<code>ImmediateXFBenable = True</code> or <code>False</code> to enable and disable "Immediate XFB" respectively.


=== MSAA ===
== [Video_Hardware] ==
Values starting from 0 represent the drop down order in the list that dolphin uses. Each backend has it's own list of antialiasing options so it is suggested to enforce a certain video backend along with this option.
The following entries go under [Video_Hardware] section of the GameINI.
[Video_Settings]
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 antialiasing option will be used for values higher than zero).
 
 
External Frame Buffer:
[Video_Settings]
UseXFB = True (or False 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 (or False to enable "Real Xfb" or "Virtual Xfb" respectively).
 
Fast Depth Calculation:
[Video_Settings]
FastDepthCalc = True (or False to enable and disable "Fast depth calculation" respectively).
 
Per-Pixel Lighting:
[Video_Settings]
EnablePixelLighting = True (or False to enable and disable "Per-Pixel Lighting" respectively).
 
OpenMP Texture Decoder:
[Video_Settings]
OMPDecoder = True (or False to enable and disable "OpenMP Texture Decoder" respectively).


OpenCL Texture Decoder:
=== V-Sync ===
[Video_Settings]
*<code>VSync = True</code> or <code>False</code> to enable and disable "V-Sync" respectively.
EnableOpenCL = True (or False to enable and disable "OpenCL Texture Decoder" respectively).


Disable Fog:
== [Video_Stereoscopy] ==
[Video_Settings]
The following entries go under [Video_Stereoscopy] section of the GameINI.
DisableFog = True (or False to enable and disable "Disable Fog" respectively).


Disable Destination Alpha:
=== Stereoscopic 3D Offset Settings ===
[Video_Settings]
*<code>StereoDepthPercentage = 100</code> Percentage to multiply with the depth value of StereoDepth in [[#Stereoscopic 3D Settings]].
DstAlphaPass = True (or False to enable and disable "Disable Destination Alpha" respectively).
*<code>StereoConvergence = 0</code> Base convergence value to be multiplied with the percentage value of StereoConvergencePercentage in [[#Stereoscopic 3D Settings]].
*<code>StereoEFBMonoDepth = True</code> or <code>False</code> to enable and disable "Monoscopic Shadows" respectively.


== [Video_Enhancements] ==
=== Stereoscopic 3D Mode ===
Anisotropic Filtering:
Values starting from 0 represent the drop down order in the list that dolphin uses.
Values starting from 0 represent the drop down order in the list that dolphin uses.
[Video_Enhancements]
*<code>StereoMode = 0</code>
MaxAnisotropy = 0 (Will set it to the top of the list value of 1x equivalent of disabling it. 2x, 4x, 8x, 16x would need 1,2,3,4 to be used respectively).
 
Force Texture Filtering:
[Video_Enhancements]
ForceFiltering = True (or False 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.
[Video_Enhancements]
PostProcessingShader = sepia (you can put the name of your preferred shader here).
 
== [Video_Hacks] ==
Cache Display Lists:
[Video_Hacks]
DlistCachingEnable = True (or False to enable and disable "Cache Display Lists" respectively).
 
Efb Copies:
[Video_Hacks]
EFBToTextureEnable = True (or False to enable "Efb to Texture" and "Efb to Ram" respectively).
EFBCopyEnable = True (or False to enable and disable "EFB copies" respectively).
EFBCopyCacheEnable = True (or False to enable and disable "Efb to RAM Cache" respectively).
 
Scaled EFB Copy:
[Video_Hacks]
EFBScaledCopy = True (or False to enable and disable "Scaled EFB Copy" respectively).
 
Skip EFB Access From Cpu:
[Video_Hacks]
EFBAccessEnable = True (or False to disable and enable "Skip EFB Access From Cpu" respectively). Beware that it has the opposite behavior of the gui option!
 
Ignore Format Changes:
[Video_Hacks]
EFBEmulateFormatChanges = True (or False to disable and enable "Ignore Format Changes" respectively). Beware that it has the opposite behavior of the gui option!


== [Video] ==
=== Stereoscopic 3D Settings ===
UseBBox = True (or False to enable and disable "Bounding Box Calculation" respectively).
*<code>StereoDepth = 20</code> Separation distance between the virtual cameras.
ZTPSpeedupHack = True (or False to enable and disable "ZTP Hack" respectively).
*<code>StereoConvergencePercentage = 100</code> Distance of the convergence plane.
ProjectionHack = 1 (or 0 to enable and disable "Custom Projection Hack" respectively).
*<code>StereoSwapEyes = True</code> or <code>False</code> to enable and disable "Swap Eyes" respectively.
 
== [Video_Hardware] ==
VSync:
[Video_Hardware]
VSync = True (or False to enable and disable "VSync" respectively).


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


=== Backend ===
=== Audio Backend ===
 
*<code>Backend = OpenAL</code>
The audio backend that will be used.
*<code>Backend = XAudio2</code>
 
*<code>Backend = Cubeb</code>
''Note: A dolphin version above 4.0 - 101 is needed to set this, since there was no audio backend choice possible via gameini before that rev.''
*<code>Backend = No audio output</code>
 
* '''Backend = OpenAL'''
* '''Backend = DSound'''
* '''Backend = XAudio2'''
 
=== EnableJIT ===


* '''EnableJIT = True''' => for LLE recompiler
=== DSP Emulator Engine ===
* '''EnableJIT = False''' => for LLE interpreter
*<code>EnableJIT = True</code> or <code>False</code> for "LLE recompiler" and "LLE interpreter" respectively. This is when [[#DSP HLE]] is disabled.


=== Volume ===
=== Volume ===
*<code>Volume = 100</code>, values starting from 0 up to 100 max are valid.


''Note: A dolphin version above 4.0 - 101 is needed to set this option.''
== [Controls] ==
The following entries go under [Controls] section of the GameINI.


* '''Volume = 100''' (values starting from 0 up to 100 max are valid).
=== GameCube Controller Port ===
<pre>
PadType0 = 0
PadType1 = 0
PadType2 = 0
PadType3 = 0
</pre>


== [Controls] ==
=== GameCube Controller Profile ===
The GameCube controller profile to be used for player 1 to 4.
<pre>
PadProfile1 = Name of Profile
PadProfile2 = Name of Profile
PadProfile3 = Name of Profile
PadProfile4 = Name of Profile
</pre>


=== WiimoteProfile''N'' ===
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.


The Wiimote profile that should be used for player ''N''.
=== Wii Remote ===
Values starting from 0 represent the drop down order in the list that dolphin uses.
<pre>
WiimoteSource0 = 0
WiimoteSource1 = 0
WiimoteSource2 = 0
WiimoteSource3 = 0
</pre>


* '''WiimoteProfile''N'' = Name Of Profile''' => The Wiimote profile to be used for player ''N''. You should change ''N'' to be the number corresponding to the player, and change ''Name Of Profile'' to the correct profile name.
=== Balance Board ===
<code>WiimoteSourceBB = 0</code> or <code>2</code> to disable and enable the "Real Balance Board" respectively.


=== PadProfile''N'' ===
=== Wii Remote Profile ===
 
The Wii Remote profile to be used for player 1 to 4.
The gamecube controller profile that should be used for player ''N''.
<pre>
WiimoteProfile1 = Name of Profile
WiimoteProfile2 = Name of Profile
WiimoteProfile3 = Name of Profile
WiimoteProfile4 = Name of Profile
</pre>


* '''PadProfile''N'' = Name Of Profile''' => The Gamecube controller profile to be used for player ''N''. You should change ''N'' to be the number corresponding to the player, and change ''Name Of Profile'' to the correct profile name.
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.


=== Example: Choosing Control Profiles per game ===
== [Wii] ==
=== Wii System Language ===
Implemented in {{revision|5.0-2023}} and later.
*<code>Language = 1</code> for English


First you should have a control profile saved for the gamecube controller or Wiimote. For example lets say you have created a Wiimote profile named "Sideways" for Wii games that use the sideways wiimote handling(donkey kong, kirby games, etc.). In order to load that profile per game you should put:
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


<pre>
[Controls]
WiimoteProfile1 = Sideways
WiimoteProfile2 = Sideways
WiimoteProfile3 = Sideways
WiimoteProfile4 = Sideways
</pre>
[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 23:33, 20 November 2017

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.

[Core]

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

Dual Core

  • CPUThread = True or False 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. 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 Emulator Engine

  • CPUCore = 0 to set the CPU emulator engine to "Interpreter".
  • CPUCore = 1 to set the CPU emulator engine to "JIT".
  • CPUCore = 2 to set the CPU emulator engine to "JITIL". Removed (will do nothing) in 5.0-3792 and later.
  • CPUCore = 5 to set the CPU emulator engine to "Cached Interpreter".

Floating-point Result Flag

  • FPRF = True or False to enable and disable "Floating-point Result Flag" calculation respectively.

DSP HLE

  • DSPHLE = True or False 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

  • DSPThread = True or False 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 or False to enable and disable "CPU Overclock" 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 or False 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 or False to enable and disable the "Speed up Disc Transfer Rate" respectively.

Dualcore Determinism

  • GPUDeterminismMode = fake-completion or none to enable and disable "Deterministic dual core" respectively.

Memory Management Unit (MMU)

  • MMU = True or False to enable and disable the "Memory Management Unit" respectively.

DCBZ

  • DCBZ = True or False to enable and disable "Skip DCBZ Clearing" respectively.

Progressive Scan

  • ProgressiveScan = True or False 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] section of the GameINI.

Internal Resolution

Values starting from 0 represent the drop down order in the list that dolphin uses.

  • InternalResolution = 0

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 or False 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 need 2, 4, 8 to be used respectively.
  • SSAA = True or False will toggle between "SSAA" and "MSAA" respectively. The amount of samples used for SSAA will depend on the MSAA value above.

External Frame Buffer

  • UseXFB = True or False 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 or False to enable "Real XFB" or "Virtual XFB" respectively.

Fast Depth Calculation

  • FastDepthCalc = True or False to enable and disable "Fast depth calculation" respectively.

Per-Pixel Lighting

  • EnablePixelLighting = True or False to enable and disable "Per-Pixel Lighting" respectively.

Disable Fog

  • DisableFog = True or False to enable and disable "Disable Fog" respectively.

Load Custom Textures

  • HiresTextures = True or False to enable and disable "Load Custom Textures" 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 need 1, 2, 3, 4 to be used respectively.

Force Texture Filtering

  • ForceFiltering = True or False 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.

[Video_Hacks]

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

EFB Copies

  • EFBToTextureEnable = True or False to enable "EFB to Texture" and "EFB to Ram" respectively.

Scaled EFB Copy

  • EFBScaledCopy = True or False to enable and disable "Scaled EFB Copy" respectively.

Skip EFB Access From CPU

  • EFBAccessEnable = True or False 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 or False to disable and enable "Ignore Format Changes" respectively. Beware that it has the opposite behavior of the GUI option!

Bounding Box

  • BBoxEnable = True or False to enable and disable "Bounding Box" calculation respectively.

Vertex Rounding

  • VertexRounding = True or False to enable and disable "Vertex Rounding" respectively.

XFB copies

  • XFBToTextureEnable = True or False to enable "XFB to Texture" and "XFB to Ram" respectively.

Immediate XFB

  • ImmediateXFBenable = True or False to enable and disable "Immediate XFB" respectively.

[Video_Hardware]

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

V-Sync

  • VSync = True or False to enable and disable "V-Sync" respectively.

[Video_Stereoscopy]

The following entries go under [Video_Stereoscopy] 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 or False 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 or False to enable and disable "Swap Eyes" respectively.

[DSP]

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

Audio Backend

  • Backend = OpenAL
  • Backend = XAudio2
  • Backend = Cubeb
  • Backend = No audio output

DSP Emulator Engine

  • EnableJIT = True or False 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.

[Controls]

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

GameCube Controller Port

PadType0 = 0
PadType1 = 0
PadType2 = 0
PadType3 = 0

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

Values starting from 0 represent the drop down order in the list that dolphin uses.

WiimoteSource0 = 0
WiimoteSource1 = 0
WiimoteSource2 = 0
WiimoteSource3 = 0

Balance Board

WiimoteSourceBB = 0 or 2 to disable and enable the "Real Balance Board" respectively.

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.

[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