GameINI: Difference between revisions

Jump to navigation Jump to search
427 bytes removed ,  20 April 2020
No edit summary
(28 intermediate revisions by 6 users not shown)
Line 1: Line 1:
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.
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 ==
== Properties Window ==
Line 10: Line 12:
* Speed up Disc Transfer Rate - controls [[#Speed Up Disc Transfer Rate]]
* Speed up Disc Transfer Rate - controls [[#Speed Up Disc Transfer Rate]]
* DSP HLE emulation (fast) - controls [[#DSP HLE]]
* DSP HLE emulation (fast) - controls [[#DSP HLE]]
* Stereoscopy Depth Percentage - controls StereoDepthPercentage in [[#Stereoscopic 3D Settings]]
* Deterministic dual core - controls [[#Dualcore Determinism]]
* Convergence - controls StereoConvergence in [[#Stereoscopic 3D Settings]]
* Stereoscopy Depth Percentage - controls StereoDepthPercentage in [[#Stereoscopic 3D Offset Settings]]
* Monoscopic Shadows - controls StereoEFBMonoDepth in [[#Stereoscopic 3D Settings]]
* Convergence - controls StereoConvergence in [[#Stereoscopic 3D Offset Settings]]
* Monoscopic Shadows - controls StereoEFBMonoDepth in [[#Stereoscopic 3D Offset Settings]]


== [Core] ==
== [Core] ==
Line 21: Line 24:


=== Graphics Backend ===
=== Graphics Backend ===
*<code>GFXBackend = DX9</code> to set the video backend to Direct3D 9. Removed (will do nothing) in {{revision|4.0-155}} and later.
*<code>GFXBackend = D3D</code> to set the video backend to Direct3D 11.
*<code>GFXBackend = D3D</code> to set the video backend to Direct3D 11. Use <code>DX11</code> in Dolphin build earlier than {{revision|4.0-155}}.
*<code>GFXBackend = D3D12</code> to set the video backend to Direct3D 12. Direct3D 12 was removed in {{revision|5.0-3774}} then reintroduced in {{revision|5.0-9878}}, this setting will do nothing during this interval.
*<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 = OGL</code> to set the video backend to OpenGL.
*<code>GFXBackend = Vulkan</code> to set the video backend to Vulkan.
*<code>GFXBackend = Vulkan</code> to set the video backend to Vulkan.
*<code>GFXBackend = Software Renderer</code> to set the video backend to Software.
*<code>GFXBackend = Null</code> to set the video backend to Null(no output).


=== CPU Engine ===
=== CPU Emulator Engine ===
*<code>CPUCore = 0</code> to set the CPU engine to "Interpreter".
*<code>CPUCore = 0</code> to set the CPU emulator engine to "Interpreter".
*<code>CPUCore = 1</code> to set the CPU engine to "JIT".
*<code>CPUCore = 1</code> to set the CPU emulator engine to "JIT".
*<code>CPUCore = 2</code> to set the CPU engine to "JITIL". Removed (will do nothing) in {{revision|5.0-3792}} and later.
*<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 engine to "Cached Interpreter".
*<code>CPUCore = 5</code> to set the CPU emulator 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 ===
=== Floating-point Result Flag ===
Implemented in {{revision|4.0-2777}} and later.
*<code>FPRF = True</code> or <code>False</code> to enable and disable "Floating-point Result Flag" calculation respectively.
*<code>FPRF = True</code> or <code>False</code> to enable and disable "Floating-point Result Flag" calculation respectively.


Line 45: Line 46:


=== DSP LLE on Dedicated Thread ===
=== DSP LLE on Dedicated Thread ===
Will do nothing in {{revision|4.0-4488}} and later.
*<code>DSPThread = True</code> or <code>False</code> to enable and disable the "DSP LLE on Dedicated Thread" respectively.
*<code>DSPThread = True</code> or <code>False</code> to enable and disable the "DSP LLE on Dedicated Thread" respectively.


Line 69: Line 71:
*<code>EmulationSpeed = 1.89999998</code> will set it to "190%".
*<code>EmulationSpeed = 1.89999998</code> will set it to "190%".
*<code>EmulationSpeed = 2.00000000</code> will set it to "200%".
*<code>EmulationSpeed = 2.00000000</code> will set it to "200%".
=== UseFPS ===
Implemented in {{revision|4.0-265}} and later.
*<code>UseFPS = True</code> to set the FrameLimiter to be based on FPS instead of the VPS.
*<code>UseFPS = False</code> to set the FrameLimiter to be based on VPS instead of the FPS. This is the normal behavior for the emulator.


=== CPU Overclock ===
=== CPU Overclock ===
*<code>OverclockEnable = True</code> or <code>False</code> to enable and disable "CPU Overclocking" respectively.
Implemented in {{revision|5.0-2302}} and later.
*<code>Overclock = 1.0</code> translates to "100%" CPU clock, greater in value is considered overclocking and smaller in value is considered underclocking.
*<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. 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 ===
=== Synchronize GPU Thread ===
Line 86: Line 84:
Accelerates the emulated disc speed, removing any loading emulation.
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.
*<code>FastDiscSpeed = True</code> or <code>False</code> to enable and disable the "Speed up Disc Transfer Rate" respectively.
=== Dualcore Determinism ===
*<code>GPUDeterminismMode = fake-completion</code> or <code>none</code> to enable and disable "Deterministic dual core" respectively.


=== Memory Management Unit (MMU) ===
=== Memory Management Unit (MMU) ===
Line 91: Line 92:


=== DCBZ ===
=== DCBZ ===
Will do nothing in {{revision|5.0-8482}} and later.
*<code>DCBZ = True</code> or <code>False</code> to enable and disable "Skip DCBZ Clearing" respectively.
*<code>DCBZ = True</code> or <code>False</code> to enable and disable "Skip DCBZ Clearing" respectively.
=== Progressive Scan ===
*<code>ProgressiveScan = True</code> or <code>False</code> to enable and disable "Progressive Scan" respectively.


=== GameCube Language ===
=== GameCube Language ===
Line 110: Line 115:
=== Internal Resolution ===
=== Internal Resolution ===
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.
*<code>EFBScale = 0</code> to set the Internal Resolution to "Auto (Multiple of 640x528)"
*<code>InternalResolution = 0</code>
*<code>EFBScale = 1</code> to set the Internal Resolution to "Auto (Window Size)"
 
*<code>EFBScale = 2</code> to set the Internal Resolution to 1x Native
=== Shader Compilation ===
*<code>EFBScale = 3</code> to set the Internal Resolution to 1.5x Native
*<code>ShaderCompilationMode = 0</code>
*<code>EFBScale = 4</code> to set the Internal Resolution to 2x Native
<pre>0 = Synchronous
*<code>EFBScale = 5</code> to set the Internal Resolution to 2.5x Native
1 = Synchronous (Ubershaders)
*<code>EFBScale = 6</code> to set the Internal Resolution to 3x Native
2 = Asynchronous (Ubershaders)
*<code>EFBScale = 7</code> to set the Internal Resolution to 4x Native
3 = Asynchronous (Skip Drawing)</pre>
*<code>EFBScale = -1</code> "-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.
 
=== Compile Shaders Before Starting ===
*<code>WaitForShadersBeforeStarting = True</code> or <code>False</code> to enable and disable "Compile Shaders Before Starting" respectively.


=== Texture Cache Accuracy ===
=== Texture Cache Accuracy ===
Line 138: Line 145:


=== Anti-Aliasing ===
=== Anti-Aliasing ===
*<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. Prior to {{revision|4.0-8385}}, values starting from 0 represent the drop down order in the list that dolphin uses.
*<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.
*<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.


=== External Frame Buffer ===
=== External Frame Buffer ===
Will do nothing in {{revision|5.0-5874}} and later.
*<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>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.
*<code>UseRealXFB = True</code> or <code>False</code> to enable "Real XFB" or "Virtual XFB" respectively.
Line 150: Line 158:
=== Per-Pixel Lighting ===
=== Per-Pixel Lighting ===
*<code>EnablePixelLighting = True</code> or <code>False</code> to enable and disable "Per-Pixel Lighting" respectively.
*<code>EnablePixelLighting = True</code> or <code>False</code> to enable and disable "Per-Pixel Lighting" respectively.
=== OpenMP Texture Decoder ===
*<code>OMPDecoder = True</code> or <code>False</code> to enable and disable "OpenMP Texture Decoder" respectively.
=== OpenCL Texture Decoder ===
*<code>EnableOpenCL = True</code> or <code>False</code> to enable and disable "OpenCL Texture Decoder" respectively.


=== Disable Fog ===
=== Disable Fog ===
*<code>DisableFog = True</code> or <code>False</code> to enable and disable "Disable Fog" respectively.
*<code>DisableFog = True</code> or <code>False</code> to enable and disable "Disable Fog" respectively.


=== Disable Destination Alpha ===
=== Load Custom Textures ===
*<code>DstAlphaPass = True</code> or <code>False</code> to enable and disable "Disable Destination Alpha" respectively.
*<code>HiresTextures = True</code> or <code>False</code> to enable and disable "Load Custom Textures" respectively.


== [Video_Enhancements] ==
== [Video_Enhancements] ==
Line 176: Line 178:
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.
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.
*<code>PostProcessingShader = sepia</code>, also you can put the name of your preferred shader here.
=== Force 24-Bit Color ===
*<code>ForceTrueColor = True</code> or <code>False</code> to enable and disable "Force 24-Bit Color" respectively.
=== Disable Copy Filter ===
*<code>DisableCopyFilter = True</code> or <code>False</code> to enable and disable "Disable Copy Filter" respectively.
=== Arbitrary Mipmap Detection ===
*<code>ArbitraryMipmapDetection = True</code> or <code>False</code> to enable and disable "Arbitrary Mipmap Detection" respectively.


== [Video_Hacks] ==
== [Video_Hacks] ==
The following entries go under [Video_Hacks] section of the GameINI.
The following entries go under [Video_Hacks] section of the GameINI.
=== Cache Display Lists ===
*<code>DlistCachingEnable = True</code> or <code>False</code> to enable and disable "Cache Display Lists" respectively.


=== EFB Copies ===
=== EFB Copies ===
*<code>EFBToTextureEnable = True</code> or <code>False</code> to enable "EFB to Texture" and "EFB to Ram" respectively.
*<code>EFBToTextureEnable = True</code> or <code>False</code> to enable "EFB to Texture" and "EFB to Ram" respectively.
*<code>EFBCopyEnable = True</code> or <code>False</code> to enable and disable "EFB copies" respectively.
*<code>EFBCopyCacheEnable = True</code> or <code>False</code> to enable and disable "EFB to RAM Cache" respectively.


=== Scaled EFB Copy ===
=== Scaled EFB Copy ===
Line 197: Line 203:
*<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!
*<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!


== [Video] ==
=== Bounding Box ===
The following entries go under [Video] section of the GameINI.
*<code>BBoxEnable = True</code> or <code>False</code> to enable and disable "Bounding Box" calculation respectively.
 
=== Vertex Rounding ===
*<code>VertexRounding = True</code> or <code>False</code> to enable and disable "Vertex Rounding" respectively.
 
===XFB copies ===
*<code>XFBToTextureEnable = True</code> or <code>False</code> to enable "XFB to Texture" and "XFB to Ram" respectively.
 
===Immediate XFB ===
*<code>ImmediateXFBenable = True</code> or <code>False</code> to enable and disable "Immediate XFB" respectively.
 
=== Defer EFB copies to RAM ===
*<code>DeferEFBCopies = True</code> or <code>False</code> to enable and disable "Defer EFB Copies to RAM" respectively.


*<code>UseBBox = True</code> or <code>False</code> to enable and disable "Bounding Box Calculation" respectively.
=== Defer EFB Cache Invalidation ===
*<code>ZTPSpeedupHack = True</code> or <code>False</code> to enable and disable "ZTP Hack" respectively.
*<code>EFBAccessDeferInvalidation = True</code> or <code>False</code> to enable and disable "Defer EFB Cache Invalidation" respectively.
*<code>ProjectionHack = 1</code> or <code>0</code> to enable and disable "Custom Projection Hack" respectively.


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


=== VSync ===
=== V-Sync ===
*<code>VSync = True</code> or <code>False</code> to enable and disable "VSync" respectively.
*<code>VSync = True</code> or <code>False</code> to enable and disable "V-Sync" respectively.


== [Video_Stereoscopy] ==
== [Video_Stereoscopy] ==
The following entries go under [Video_Stereoscopy] section of the GameINI.
The following entries go under [Video_Stereoscopy] section of the GameINI.
=== Stereoscopic 3D Offset Settings ===
*<code>StereoDepthPercentage = 100</code> Percentage to multiply with the depth value of StereoDepth in [[#Stereoscopic 3D Settings]].
*<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.
=== Stereoscopic 3D Mode ===
Values starting from 0 represent the drop down order in the list that dolphin uses.
*<code>StereoMode = 0</code>


=== Stereoscopic 3D Settings ===
=== Stereoscopic 3D Settings ===
*<code>StereoDepthPercentage = 100</code> Percentage of depth value set in the video configuration applied in-game.
*<code>StereoDepth = 20</code> Separation distance between the virtual cameras.
*<code>StereoConvergenceMinimum = 0</code> Base convergence value that's added to the value set in the video configuration.
*<code>StereoConvergencePercentage = 100</code> Distance of the convergence plane.
*<code>StereoEFBMonoDepth = False</code> or <code>True</code> to enable "Monoscopic Shadows" respectively.
*<code>StereoSwapEyes = True</code> or <code>False</code> to enable and disable "Swap Eyes" respectively.


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


=== Backend ===
=== Audio Backend ===
Implemented in {{revision|4.0-101}} and later.
*<code>Backend = No audio output</code>
*<code>Backend = ALSA</code>
*<code>Backend = Cubeb</code>
*<code>Backend = Pulse</code>
*<code>Backend = OpenAL</code>
*<code>Backend = OpenAL</code>
*<code>Backend = DSound</code>
*<code>Backend = OpenSLES</code>
*<code>Backend = XAudio2</code>
*<code>Backend = WASAPI (Exclusive mode)</code>
*<code>Backend = XAudio2</code> This option was removed in {{revision|5.0-10950}} and later [https://dolphin-emu.org/blog/2019/11/07/dolphin-progress-report-october-2019/#50-10950-remove-xaudio2-by-ligfx for many reasons], Dolphin will try to use Cubeb instead.


=== DSP Emulator Engine ===
=== DSP Emulator Engine ===
Line 231: Line 261:


=== Volume ===
=== Volume ===
Implemented in {{revision|4.0-265}} and later.
*<code>Volume = 100</code>, values starting from 0 up to 100 max are valid.
*<code>Volume = 100</code>, values starting from 0 up to 100 max are valid.
== [Controls] ==
The following entries go under [Controls] section of the GameINI.
=== GameCube Controller Port ===
<pre>
PadType0 = 0
PadType1 = 0
PadType2 = 0
PadType3 = 0
</pre>
=== 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>
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.
<pre>
WiimoteSource0 = 0
WiimoteSource1 = 0
WiimoteSource2 = 0
WiimoteSource3 = 0
</pre>
=== Balance Board ===
<code>WiimoteSourceBB = 0</code> or <code>2</code> to disable and enable the "Real Balance Board" respectively.
=== Wii Remote Profile ===
The Wii Remote profile to be used for player 1 to 4.
<pre>
WiimoteProfile1 = Name of Profile
WiimoteProfile2 = Name of Profile
WiimoteProfile3 = Name of Profile
WiimoteProfile4 = Name of Profile
</pre>
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] ==
Line 295: Line 279:
  8 = Traditional Chinese
  8 = Traditional Chinese
  9 = Korean
  9 = Korean
== See also ==
*[https://forums.dolphin-emu.org/Thread-unofficial-howto-using-gameini-settings-per-game Forum Thread]


[[Category:Tutorials]]
[[Category:Tutorials]]

Navigation menu