GameINI: Difference between revisions

m
→‎Texture Cache Accuracy: General maintenance with AutoWikiBrowser
(Changed the formatting in the [DSP] section and [Controls] Sections to make it more readable and consistent with the rest of the document.)
m (→‎Texture Cache Accuracy: General maintenance with AutoWikiBrowser)
(100 intermediate revisions by 16 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 [[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.
The following entires go under [Core] section of the GameINI.


For controller settings, go to [[GameINI (Controller Settings)]].


=== 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] (or [Dolphin.Core]) section of the GameINI.


=== Dual Core ===
*<code>CPUThread = True</code> or <code>False</code> to enable and disable "Dual Core" mode respectively.


=== GFXBackend ===
=== Graphics Backend ===
Sets the video backend the game will use.
*<code>GFXBackend = D3D</code> to set the video backend to Direct3D 11.
*<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 = 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 = Null</code> to set the video backend to Null(no output).


*'''GFXBackend = D3D''' –> Sets the video backend to D3D (previously called D3D11 prior to {{revision|4.0-155}})
=== CPU Emulator Engine ===
*'''GFXBackend = OGL''' –> Sets the video backend to OpenGL
*<code>CPUCore = 0</code> to set the CPU emulator engine to "Interpreter".
*<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 = 4</code> to set the CPU emulator engine to "JIT ARM64".
*<code>CPUCore = 5</code> to set the CPU emulator engine to "Cached Interpreter".


=== Floating-point Result Flag ===
*<code>FPRF = True</code> or <code>False</code> to enable and disable "Floating-point Result Flag" calculation respectively.


D3D9 was removed in {{revision|4.0-155}}. On builds prior to {{revision|4.0-155}}, the following three options are available.
=== DSP HLE ===
*<code>DSPHLE = True</code> or <code>False</code> to enable and disable "DSP HLE" respectively.


*'''GFXBackend = DX11''' -> Sets the video backend to D3D11 (now called D3D in the emulator as of {{revision|4.0-155}})
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]].
*'''GFXBackend = OGL''' -> Sets the video backend to OpenGL
*'''GFXBackend = DX9''' -> Sets the video backend to D3D9. For {{revision|4.0-155}} and later setting the graphics backend to DX9 will do nothing.


=== Emulation Speed (formerly Framelimit) ===
*<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%".


=== CPUCore ===
=== CPU Overclock ===
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.
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. 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.


*'''CPUCore = 0''' -> Sets the CPU engine to Interpreter
=== Memory Override ===
*'''CPUCore = 1''' -> Sets the CPU engine to JIT
*<code>RAMOverrideEnable = True</code> or <code>False</code> to enable and disable "Emulate Memory Size Override" respectively.
*'''CPUCore = 2''' -> Sets the CPU engine to JITIL
*<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 ===
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. 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"


=== DSPHLE ===
=== GPU Overclock ===
Chooses the audio engine. Can also be set in the ISO properties window.
*<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 -->


*'''DSPHLE = True''' -> Forces DSP HLE for the game.
=== Speed Up Disc Transfer Rate ===
*'''DSPHLE = False''' -> Disables DSP HLE, forcing DSP LLE.
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.


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]].
=== Dualcore Determinism ===
*<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) ===
*<code>MMU = True</code> or <code>False</code> to enable and disable the "Memory Management Unit" respectively.


=== DSPThread ===
=== DCBZ ===
Controls "DSP LLE on Dedicated Thread".
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.


*'''DSPThread = True''' - Enables DSP LLE on Dedicated Thread
=== Progressive Scan ===
*'''DSPThread = False''' - Disables DSP LLE on Dedicated Thread
*<code>ProgressiveScan = True</code> or <code>False</code> to enable and disable "Progressive Scan" respectively.


=== GameCube Language ===
Implemented in {{revision|5.0-2023}} and later.
*<code>GameCubeLanguage = 0</code> for English or Japanese, depending on the region of the console/game.


=== FrameLimit ===
Choose a number for the language you want from the list below:
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.
0 = English/Japanese
1 = German
2 = French
3 = Spanish
4 = Italian
5 = Dutch


*'''FrameLimit = 0x00000000''' -> "Off"
=== GameCube Slots ===
*'''FrameLimit = 0x00000001''' -> "Auto"
Implemented in {{revision|5.0-15842}}
*'''FrameLimit = 0x00000002''' -> "Audio"
*<code>SlotA = 8</code> for GCI Folder. Choose a number from below list to change what is in Slot A.
*'''FrameLimit = 0x00000003''' -> "10"
*<code>SlotB = 255</code> for Nothing. Choose a number from below list to change what is in Slot B.
Continues up to
0 = Dummy
*'''FrameLimit = 0x00000019''' -> "120"
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>


=== UseFPS ===
Set the full path to the GCI Folder (since {{revision|5.0-17900}}).
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.


*'''UseFPS = True''' -> Sets the FrameLimiter to be based on FPS instead of the VPS.
*<code>GCIFolderAPath = gcifolderApath</code>
*'''UseFPS = False''' -> Sets the FrameLimiter to be based on VPS instead of the FPS. This is the normal behavior for the emulator.
*<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)


=== VBeam ===
*<code>BBA_MAC = MAC</code> to set the Ethernet MAC address.
Controls the "VBeam Speed Hack" setting. Can also be set in the ISO properties window.


*'''VBeam = True''' -> Enables the VBeam Speed Hack
*<code>BBA_XLINK_IP = 127.0.0.1</code> to set the IP address of the PC/device where XLink Kai is running.
*'''VBeam = False''' -> Disables the VBeam Speed Hack


*<code>BBA_BUILTIN_DNS = IPADDRESS</code> the DNS server to use for the builtin adapter


=== SyncGPU ===
=== Wii Configuration ===
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.
*<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.


*'''SyncGPU = True'''
== [Controls] ==
*'''SyncGPU = False'''
See [[GameINI (Controller Settings)]]


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


=== FastDiscSpeed ===
=== Internal Resolution ===
Accelerates the emulated disc speed, removing any loading emulation. 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>InternalResolution = 0</code>


*'''FastDiscSpeed = True'''
To increase the maximum available resolutions in the UI, you can set:
*'''FastDiscSpeed = False'''
*<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>


=== BlockMerging ===
=== Compile Shaders Before Starting ===
Can also be set in the ISO properties window.
*<code>WaitForShadersBeforeStarting = True</code> or <code>False</code> to enable and disable "Compile Shaders Before Starting" respectively.


*'''BlockMerging = True'''
=== Texture Cache Accuracy ===
*'''BlockMerging = False'''
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.


=== GPU Texture Decoding ===
*<code>EnableGPUTextureDecoding = True</code> or <code>False</code> to enable and disable "GPU Texture Decoding" respectively.


=== SkipIdle ===
=== Aspect Ratio ===
Controls the "Idle Skipping" 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>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".


*'''SkipIdle = True''' -> Enables Idle Skipping. This is the default setting for the emulator.
=== Widescreen Hack ===
*'''SkipIdle = False''' -> Disables Idle Skipping.
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.


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


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


*'''MMU = True''' -> Enables "MMU"
=== Fast Depth Calculation ===
*'''MMU = False''' -> Disables "MMU"
*<code>FastDepthCalc = True</code> or <code>False</code> to enable and disable "Fast depth calculation" respectively.


=== Per-Pixel Lighting ===
*<code>EnablePixelLighting = True</code> or <code>False</code> to enable and disable "Per-Pixel Lighting" respectively.


=== TLBHack ===
=== Disable Fog ===
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>DisableFog = True</code> or <code>False</code> to enable and disable "Disable Fog" respectively.


*'''TLBHack = True''' -> Enables the MMU Speed Hack
=== Load Custom Textures ===
*'''TLBHack = False''' -> Disables the MMU Speed Hack
*<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".


=== DCBZ ===
=== Crop to 4:3 or 16:9 ===
Controls the "Skip DCBZ Clearing" setting. Can also be set in the ISO properties window.
*<code>Crop = False</code> or <code>True</code> to crop the picture from native aspect ration to 4:3 or 16:9.


*'''DCBZ = True''' -> Enables "Skip DCBZ Clearing"
=== Cull Vertices on the CPU ===
*'''DCBZ = False''' -> Disables "Skip DCBZ Clearing"
*<code>CPUCull = True</code> or <code>False</code> to enable and disable "Cull Vertices on the CPU" respectively.


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


== [Video_Settings] ==
=== Anisotropic Filtering ===
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.


=== EFBScale ===
=== Force Texture Filtering ===
Sets the internal resolution. Values starting from 0 represent the drop down order in the list that dolphin uses. Currently:
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.


*'''EFBScale = 0''' -> Sets the Internal Resolution to "Auto (Multiple of 640x528)"
For older builds, which at the time of writing includes beta 5.0-17995, use the following.
*'''EFBScale = 1''' -> Sets the Internal Resolution to "Auto (Window Size)"
*<code>ForceFiltering = True</code> or <code>False</code> to enable and disable "Force Texture Filtering" 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 ===
=== Post-processing Effects ===
Controls the "Texture Cache Accuracy" setting, shown as a slider in the GUI.
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.


*'''SafeTextureCacheColorSamples = 0''' -> Texture Cache Accuracy "Safe", the left most option on the slider
=== Force 24-Bit Color ===
*'''SafeTextureCacheColorSamples = 512''' -> Texture Cache Accuracy "Middle", the middle option on the slider
*<code>ForceTrueColor = True</code> or <code>False</code> to enable and disable "Force 24-Bit Color" respectively.
*'''SafeTextureCacheColorSamples = 128''' -> Texture Cache Accuracy "Fast", the right most option on the slider


=== Disable Copy Filter ===
*<code>DisableCopyFilter = True</code> or <code>False</code> to enable and disable "Disable Copy Filter" respectively.


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


*'''AspectRatio = 0''' -> Auto Aspect Ratio, assigned based on what the emulated console indicates
=== OutputResamplingMode ===
*'''AspectRatio = 1''' -> Force 16:9
  Default = 0,
*'''AspectRatio = 2''' -> Force 4:3
  Bilinear = 1,
*'''AspectRatio = 3''' -> Sets the aspect ratio to "Stretch to window"
  BSpline = 2,
  MitchellNetravali = 3,
  CatmullRom = 4,
  SharpBilinear = 5,
  AreaSampling = 6,


=== wideScreenHack ===
== [Video_Hacks] ==
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.
The following entries go under [Video_Hacks] (or [Graphics.Hacks]) section of the GameINI.


*'''wideScreenHack = True'''
=== EFB Copies ===
*'''wideScreenHack = False'''
*<code>EFBToTextureEnable = True</code> or <code>False</code> to enable "EFB to Texture" and "EFB to Ram" respectively.


=== MSAA ===
=== Scaled EFB Copy ===
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.
*<code>EFBScaledCopy = True</code> or <code>False</code> to enable and disable "Scaled EFB Copy" respectively.
[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).


=== Skip EFB Access From CPU ===
*<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!


External Frame Buffer:
=== Ignore Format Changes ===
[Video_Settings]
*<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!
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:
=== Bounding Box ===
[Video_Settings]
*<code>BBoxEnable = True</code> or <code>False</code> to enable and disable "Bounding Box" calculation respectively.
FastDepthCalc = True (or False to enable and disable "Fast depth calculation" respectively).


Per-Pixel Lighting:
=== Vertex Rounding ===
[Video_Settings]
*<code>VertexRounding = True</code> or <code>False</code> to enable and disable "Vertex Rounding" respectively.
EnablePixelLighting = True (or False to enable and disable "Per-Pixel Lighting" respectively).


OpenMP Texture Decoder:
===XFB copies ===
[Video_Settings]
*<code>XFBToTextureEnable = True</code> or <code>False</code> to enable "XFB to Texture" and "XFB to Ram" respectively.
OMPDecoder = True (or False to enable and disable "OpenMP Texture Decoder" respectively).


OpenCL Texture Decoder:
===Immediate XFB ===
[Video_Settings]
*<code>ImmediateXFBEnable = True</code> or <code>False</code> to enable and disable "Immediate XFB" respectively.
EnableOpenCL = True (or False to enable and disable "OpenCL Texture Decoder" respectively).


Disable Fog:
=== Skip Presenting Duplicate Frames ===
[Video_Settings]
*<code>SkipDuplicateXFBs = True</code> or <code>False</code> to enable and disable "Skip Presenting Duplicate Frames" respectively.
DisableFog = True (or False to enable and disable "Disable Fog" respectively).


Disable Destination Alpha:
=== Defer EFB copies to RAM ===
[Video_Settings]
*<code>DeferEFBCopies = True</code> or <code>False</code> to enable and disable "Defer EFB Copies to RAM" respectively.
DstAlphaPass = True (or False to enable and disable "Disable Destination Alpha" respectively).


== [Video_Enhancements] ==
=== Defer EFB Cache Invalidation ===
Anisotropic Filtering:
*<code>EFBAccessDeferInvalidation = True</code> or <code>False</code> to enable and disable "Defer EFB Cache Invalidation" respectively.
Values starting from 0 represent the drop down order in the list that dolphin uses.
[Video_Enhancements]
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:
=== Manual Texture Sampling ===
[Video_Enhancements]
*<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!
ForceFiltering = True (or False to enable and disable "Force Texture Filtering" respectively).


Post - Processing Effects:
== [Video_Hardware] ==
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.
The following entries go under [Video_Hardware] (or [Graphics.Hardware]) section of the GameINI.
[Video_Enhancements]
PostProcessingShader = sepia (you can put the name of your preferred shader here).


== [Video_Hacks] ==
=== V-Sync ===
Cache Display Lists:
*<code>VSync = True</code> or <code>False</code> to enable and disable "V-Sync" respectively.
[Video_Hacks]
DlistCachingEnable = True (or False to enable and disable "Cache Display Lists" respectively).


Efb Copies:
== [Video_Stereoscopy] ==
[Video_Hacks]
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.
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:
=== Stereoscopic 3D Offset Settings ===
[Video_Hacks]
*<code>StereoDepthPercentage = 100</code> Percentage to multiply with the depth value of StereoDepth in [[#Stereoscopic 3D Settings]].
EFBScaledCopy = True (or False to enable and disable "Scaled EFB Copy" 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.


Skip EFB Access From Cpu:
=== Stereoscopic 3D Mode ===
[Video_Hacks]
Values starting from 0 represent the drop down order in the list that dolphin uses.
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!
*<code>StereoMode = 0</code>
 
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] ==
UseBBox = True (or False to enable and disable "Bounding Box Calculation" respectively).
ZTPSpeedupHack = True (or False to enable and disable "ZTP Hack" respectively).
ProjectionHack = 1 (or 0 to enable and disable "Custom Projection Hack" respectively).


== [Video_Hardware] ==
=== Stereoscopic 3D Settings ===
VSync:
*<code>StereoDepth = 20</code> Separation distance between the virtual cameras.
[Video_Hardware]
*<code>StereoConvergencePercentage = 100</code> Distance of the convergence plane.
VSync = True (or False to enable and disable "VSync" respectively).
*<code>StereoSwapEyes = True</code> or <code>False</code> to enable and disable "Swap Eyes" respectively.


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


=== Backend ===
=== Audio Backend ===
 
*<code>Backend = No audio output</code>
The audio backend that will be used.
*<code>Backend = ALSA</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 = Pulse</code>
 
*<code>Backend = OpenAL</code>
* '''Backend = OpenAL'''
*<code>Backend = OpenSLES</code>
* '''Backend = DSound'''
*<code>Backend = WASAPI (Exclusive Mode)</code>
* '''Backend = XAudio2'''
*<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.
 
=== 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.''
== [Wii] ==
 
=== Wii System Language ===
* '''Volume = 100''' (values starting from 0 up to 100 max are valid).
Implemented in {{revision|5.0-2023}} and later.
 
*<code>Language = 1</code> for English
== [Controls] ==
 
=== WiimoteProfile''N'' ===
 
The Wiimote profile that should be used for player ''N''.
 
* '''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.
 
=== PadProfile''N'' ===


The gamecube controller profile that should be used for player ''N''.
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


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


=== Example: Choosing Control Profiles per game ===
== [Dolphin.BluetoothPassthrough] ==
===Enable===
*<code>Enabled = True</code> or <code>False</code> to Enable or Disable bluetooth passthrough.


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:
== See also ==
*[https://forums.dolphin-emu.org/Thread-unofficial-howto-using-gameini-settings-per-game Forum Thread]


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