GameINI: Difference between revisions

m
→‎Texture Cache Accuracy: General maintenance with AutoWikiBrowser
(→‎[Video_Enhancements]: Arbitrary Mipmap Detection)
m (→‎Texture Cache Accuracy: General maintenance with AutoWikiBrowser)
(59 intermediate revisions by 13 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 = Metal</code> to set the video backend to Metal (macOS only).
*<code>GFXBackend = Software Renderer</code> to set the video backend to Software.
*<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).
*<code>GFXBackend = Null</code> to set the video backend to Null(no output).
Line 31: Line 34:
=== 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 42: Line 46:


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. Will do nothing in {{revision|4.0-4488}} and later.


=== Emulation Speed (formerly Framelimit) ===
=== Emulation Speed (formerly Framelimit) ===
Line 72: Line 73:
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.
 
=== Memory Override ===
*<code>RAMOverrideEnable = True</code> or <code>False</code> to enable and disable "Emulate Memory Size Override" respectively.
*<code>MEM1Size = 0x01800000</code> size in bytes in hex or decimal.
*<code>MEM2Size = 0x04000000</code> size in bytes in hex or decimal.


=== 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, since {{revision|5.0-683}}, if Dual Core is disabled. <!-- Deterministic dual core might work too -->


=== Speed Up Disc Transfer Rate ===
=== Speed Up Disc Transfer Rate ===
Line 83: Line 96:


=== 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 89: Line 102:


=== 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 105: Line 119:
  4 = Italian
  4 = Italian
  5 = Dutch
  5 = Dutch
=== GameCube Slots ===
Implemented in {{revision|5.0-15842}}
*<code>SlotA = 8</code> for GCI Folder. Choose a number from below list to change what is in Slot A.
*<code>SlotB = 255</code> for Nothing. Choose a number from below list to change what is in Slot B.
0 = Dummy
1 = MemoryCard
4 = Microphone
7 = Gecko
8 = GCI Folder
9 = Advance Game Port
255 = Nothing
Set the full path to the memory card file.
*<code>MemcardAPath = pathtoslotAfile</code>
*<code>MemcardAPath = pathtoslotBfile</code>
Set the full path to the GCI Folder (since {{revision|5.0-17900}}).
*<code>GCIFolderAPath = gcifolderApath</code>
*<code>GCIFolderBPath = gcifolderBpath</code>
=== GameCube Serial Port ===
Implemented in {{revision|5.0-15842}}
*<code>SerialPort1 = 255</code> for nothing. Choose a number below which type of Broadband Adapter you are using.
5  = Broadband Adapter (TAP)
10 = Broadband Adapter (XLink Kai)
12 = Broadband Adapter (Built In)
*<code>BBA_MAC = MAC</code> to set the Ethernet MAC address.
*<code>BBA_XLINK_IP = 127.0.0.1</code> to set the IP address of the PC/device where XLink Kai is running.
*<code>BBA_BUILTIN_DNS = IPADDRESS</code> the DNS server to use for the builtin adapter
=== Wii Configuration ===
*<code>PAL60 = True</code> to enable EuRGB60 or <code>False</code> to disable.
*<code>WiiSDCard = True</code> to enable Wii SD/SDHC Card or <code>False</code> to disable.
*<code>WiiSDCardAllowWrites = True</code> to allow SDCard writes or <code>False</code> to disable.
== [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>
To increase the maximum available resolutions in the UI, you can set:
*<code>MaxInternalResolution  = 9</code>
(the default is 8)
=== 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 ===
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
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 = 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 = 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 135: Line 208:


=== External Frame Buffer ===
=== External Frame Buffer ===
Will do nothing in {{revision|5.0-5874}} and later.
Will do nothing in {{revision|5.0-5874}} and later. Use [[#XFB copies]] and [[#Immediate XFB]] instead.
*<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 223:
=== 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".
=== Crop to 4:3 or 16:9 ===
*<code>Crop = False</code> or <code>True</code> to crop the picture from native aspect ration to 4:3 or 16:9.
=== Cull Vertices on the CPU ===
*<code>CPUCull = True</code> or <code>False</code> to enable and disable "Cull Vertices on the CPU" respectively.


== [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 241:


=== Force Texture Filtering ===
=== Force Texture Filtering ===
As of {{revision|5.0-18025}} the option changed. Valid values are: <code>2</code> for linear, <code>1</code> for nearest and <code>0</code> for no filtering.
*<code>ForceTextureFiltering = 2</code> will set forced linear filtering.
For older builds, which at the time of writing includes beta 5.0-17995, use the following.
*<code>ForceFiltering = True</code> or <code>False</code> to enable and disable "Force Texture Filtering" respectively.
*<code>ForceFiltering = True</code> or <code>False</code> to enable and disable "Force Texture Filtering" respectively.


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


Line 173: Line 259:
=== Arbitrary Mipmap Detection ===
=== Arbitrary Mipmap Detection ===
*<code>ArbitraryMipmapDetection = True</code> or <code>False</code> to enable and disable "Arbitrary Mipmap Detection" respectively.
*<code>ArbitraryMipmapDetection = True</code> or <code>False</code> to enable and disable "Arbitrary Mipmap Detection" respectively.
=== OutputResamplingMode ===
  Default = 0,
  Bilinear = 1,
  BSpline = 2,
  MitchellNetravali = 3,
  CatmullRom = 4,
  SharpBilinear = 5,
  AreaSampling = 6,


== [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 199: Line 294:


===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 208: Line 315:


== [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 225: Line 332:


== [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 = Cubeb</code>
*<code>Backend = WASAPI (Exclusive Mode)</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.
*<code>Backend = No audio output</code>


=== DSP Emulator Engine ===
=== DSP Emulator Engine ===
Line 239: Line 349:
=== 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 301: Line 366:
  8 = Traditional Chinese
  8 = Traditional Chinese
  9 = Korean
  9 = Korean
=== Wii Aspect Ratio ===
Set the Wii Aspect Ratio to 4:3 or 16:9
*<code>Widescreen = True</code> for 16:9 or <code>False</code> for 4:3
== [Dolphin.BluetoothPassthrough] ==
===Enable===
*<code>Enabled = True</code> or <code>False</code> to Enable or Disable bluetooth passthrough.
== See also ==
*[https://forums.dolphin-emu.org/Thread-unofficial-howto-using-gameini-settings-per-game Forum Thread]


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