GameINI: Difference between revisions

Jump to navigation Jump to search
2,795 bytes added ,  19 January 2022
I haven't seen this documented anywhere. PR #2533 implemented it and #4317 was an attempt to expose it to the UI
(I haven't seen this documented anywhere. PR #2533 implemented it and #4317 was an attempt to expose it to the UI)
(42 intermediate revisions by 11 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 [[GameIDs|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 16: Line 18:


== [Core] ==
== [Core] ==
The following entries go under [Core] section of the GameINI.
The following entries go under [Core] (or [Dolphin.Core]) section of the GameINI.


=== Dual Core ===
=== Dual Core ===
Line 23: Line 25:
=== Graphics Backend ===
=== Graphics Backend ===
*<code>GFXBackend = D3D</code> to set the video backend to Direct3D 11.
*<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 = 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 = 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 Emulator Engine ===
=== CPU Emulator Engine ===
*<code>CPUCore = 0</code> to set the CPU emulator engine to "Interpreter".
*<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 = 1</code> to set the CPU emulator engine to "JIT x64".
*<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 = 2</code> to set the CPU emulator engine to "JITIL". Removed (will do nothing) in {{revision|5.0-3792}} and later.
*<code>CPUCore = 4</code> to set the CPU emulator engine to "JIT ARM64".
*<code>CPUCore = 5</code> to set the CPU emulator engine to "Cached Interpreter".
*<code>CPUCore = 5</code> to set the CPU emulator engine to "Cached Interpreter".


Line 40: Line 45:


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


=== Emulation Speed (formerly Framelimit) ===
=== Emulation Speed (formerly Framelimit) ===
Line 70: Line 72:
Implemented in {{revision|5.0-2302}} and later.
Implemented in {{revision|5.0-2302}} and later.
*<code>OverclockEnable = True</code> or <code>False</code> to enable and disable "CPU Overclock" respectively.
*<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.
*<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 ===
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 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.
*<code>SyncGPU = True</code> or <code>False</code> to enable and disable the "Synchronize GPU thread" respectively. Even with this setting set to false, Dolphin will still synchronize the threads during idle skipping.
On Android, the Synchronize GPU thread setting instead provides three choices. To set the same configurations through the GameINI (which also works on non-Android versions) use:
*<code>SyncGPU = True</code> and <code>SyncOnSkipIdle = True</code> for "Always"
*<code>SyncGPU = False</code> and <code>SyncOnSkipIdle = True</code> for "On idle skipping"
*<code>SyncGPU = False</code> and <code>SyncOnSkipIdle = False</code> for "Never"
 
=== GPU Overclock ===
*<code>SyncGpuOverclock= 1.0</code> translates to "100%" GPU 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. This setting has an effect only if SyncGPU is enabled or Dual Core is disabled. <!-- Deterministic dual core might work too -->


=== Speed Up Disc Transfer Rate ===
=== Speed Up Disc Transfer Rate ===
Line 81: Line 90:


=== Dualcore Determinism ===
=== Dualcore Determinism ===
*<code>GPUDeterminismMode = fake-completion</code> or <code>none</code> to enable and disable "Deterministic dual core" respectively.
*<code>GPUDeterminismMode = fake-completion</code> or <code>none</code> to enable and disable "Deterministic dual core" respectively. <code>GPUDeterminismMode = auto</code> will only enable "Deterministic dual core" during Netplay or movie recording/playback.


=== Memory Management Unit (MMU) ===
=== Memory Management Unit (MMU) ===
Line 87: Line 96:


=== 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.


Line 103: Line 113:
  4 = Italian
  4 = Italian
  5 = Dutch
  5 = Dutch
== [Controls] ==
See [[GameINI (Controller Settings)]]


== [Video_Settings] ==
== [Video_Settings] ==
The following entries go under [Video_Settings] section of the GameINI.
The following entries go under [Video_Settings] (or [Graphics.Settings]) section of the GameINI.


=== 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>InternalResolution = 0</code>
*<code>InternalResolution = 0</code>
=== Shader Compilation ===
*<code>ShaderCompilationMode = 0</code>
<pre>0 = Specialized (Default)
1 = Exclusive Ubershaders
2 = Hybrid Ubershaders
3 = Skip Drawing</pre>
=== 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 116: Line 139:
*<code>SafeTextureCacheColorSamples = 512</code> -> Texture Cache Accuracy "Middle", the middle 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.
*<code>SafeTextureCacheColorSamples = 128</code> -> Texture Cache Accuracy "Fast", the right most option on the slider.
=== GPU Texture Decoding ===
*<code>EnableGPUTextureDecoding = True</code> or <code>False</code> to enable and disable "GPU Texture Decoding" respectively.


=== Aspect Ratio ===
=== Aspect Ratio ===
Line 133: Line 159:


=== 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 147: Line 174:
=== Load Custom Textures ===
=== Load Custom Textures ===
*<code>HiresTextures = True</code> or <code>False</code> to enable and disable "Load Custom Textures" respectively.
*<code>HiresTextures = True</code> or <code>False</code> to enable and disable "Load Custom Textures" respectively.
=== Prefetch Custom Textures ===
*<code>CacheHiresTextures = True</code> or <code>False</code> to enable and disable "Caching custom textures to RAM on startup".


== [Video_Enhancements] ==
== [Video_Enhancements] ==
The following entries go under [Video_Enhancements] section of the GameINI.
The following entries go under [Video_Enhancements] (or [Graphics.Enhancements]) section of the GameINI.


=== Anisotropic Filtering ===
=== Anisotropic Filtering ===
Line 159: Line 189:


=== Post-processing Effects ===
=== 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.
This option will only work with the OpenGL and Vulkan backend on versions before {{revision|5.0-9638}}. 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] (or [Graphics.Hacks]) section of the GameINI.


=== EFB Copies ===
=== EFB Copies ===
Line 188: Line 227:
===Immediate XFB ===
===Immediate XFB ===
*<code>ImmediateXFBenable = True</code> or <code>False</code> to enable and disable "Immediate XFB" respectively.
*<code>ImmediateXFBenable = True</code> or <code>False</code> to enable and disable "Immediate XFB" respectively.
=== Skip Presenting Duplicate Frames ===
*<code>SkipDuplicateXFBs = True</code> or <code>False</code> to enable and disable "Skip Presenting Duplicate Frames" respectively.
=== Defer EFB copies to RAM ===
*<code>DeferEFBCopies = True</code> or <code>False</code> to enable and disable "Defer EFB Copies to RAM" respectively.
=== Defer EFB Cache Invalidation ===
*<code>EFBAccessDeferInvalidation = True</code> or <code>False</code> to enable and disable "Defer EFB Cache Invalidation" respectively.
=== Manual Texture Sampling ===
*<code>FastTextureSampling = True</code> or <code>False</code> to disable and enable "Manual Texture Sampling" respectively. Beware that it has the opposite behavior of the GUI option!


== [Video_Hardware] ==
== [Video_Hardware] ==
The following entries go under [Video_Hardware] section of the GameINI.
The following entries go under [Video_Hardware] (or [Graphics.Hardware]) section of the GameINI.


=== V-Sync ===
=== V-Sync ===
Line 196: Line 247:


== [Video_Stereoscopy] ==
== [Video_Stereoscopy] ==
The following entries go under [Video_Stereoscopy] section of the GameINI.
The following entries go under [Video_Stereoscopy] (or [Graphics.Stereoscopy] although that is currently bugged, see [https://bugs.dolphin-emu.org/issues/12510?next_issue_id=12509#note-1 here]) section of the GameINI.


=== Stereoscopic 3D Offset Settings ===
=== Stereoscopic 3D Offset Settings ===
Line 213: Line 264:


== [DSP] ==
== [DSP] ==
The following entries go under [DSP] section of the GameINI.
The following entries go under [DSP] (or [Dolphin.DSP]) section of the GameINI.


=== Audio Backend ===
=== Audio Backend ===
*<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 = XAudio2</code>
*<code>Backend = OpenSLES</code>
*<code>Backend = No audio output</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 225: Line 281:
=== Volume ===
=== Volume ===
*<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 287: Line 298:
  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]]
208

edits

Navigation menu