Dolphin, the GameCube and Wii emulator - Forums

Full Version: [UNOFFICIAL] [Howto] Using gameini settings per game
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Syntax is very important when you use these, and even capitalization matters. This guide was made taking into account Dolphin versions starting from the official 5.0 revision. While most general settings can be set per game, not every setting can. It is highly recommended to edit the local gameini files and not the default for your settings to be kept even after updating Dolphin (right click your iso, select properties, click the edit config button and edit the empty text file that pops up).

Choosing video backend:
Put these lines in the gameini for D3D11:
[Core]
GFXBackend = D3D

For D3D12 (won't work after 5.0-3774 since the backend was removed):
[Core]
GFXBackend = D3D12

For Opengl:
[Core]
GFXBackend = OGL

If you use the latest development version for Vulkan:
[Core]
GFXBackend = Vulkan

Choosing audio backend:
Just copy paste the lines below in your local gameini depending on the backend you use:

[DSP]
Backend = OpenAL

[DSP]
Backend = XAudio2

or for no audio output:
[DSP]
Backend = No audio output

Choosing CPU engine:
[Core]
CPUCore = 0 =>will give Interpreter
CPUCore = 1 =>will give JIT
CPUCore = 2 =>will give JITIL
CPUCore = 5 =>will give Cached Interpreter

Choosing DSP engine:
To enforce HLE audio use:
[Core]
DSPHLE = True
To enforce LLE audio use:
[Core]
DSPHLE = False
If you enforce LLE audio with the lines above, LLE recompiler or LLE interpreter will be set according to what you have set it last at the general settings. To control it with the gameini use the lines below together with the lines above:
[DSP]
EnableJIT = True => for LLE recompiler
EnableJIT = False => for LLE interpreter

Volume:
[DSP]
Volume = 100 (values starting from 0 up to 100 max are valid).

Framelimit options:
Warning: These options will not override or disable vsync! Use the vsync gameini option to disable it.

[Core]
EmulationSpeed = 0.0 (will set it to "unlimited")
EmulationSpeed = 0.1 (will set it to "10%")
EmulationSpeed = 0.2 (will set it to "20%")
EmulationSpeed = 0.3 (will set it to "30%")
EmulationSpeed = 0.4 (will set it to "40%")
EmulationSpeed = 0.5 (will set it to "50%")
EmulationSpeed = 0.6 (will set it to "60%")
EmulationSpeed = 0.7 (will set it to "70%")
EmulationSpeed = 0.8 (will set it to "80%")
EmulationSpeed = 0.9 (will set it to "90%")
EmulationSpeed = 1.0 (will set it to "100%")
EmulationSpeed = 1.1 (will set it to "110%")
EmulationSpeed = 1.2 (will set it to "120%")
EmulationSpeed = 1.3 (will set it to "130%")
EmulationSpeed = 1.4 (will set it to "140%")
EmulationSpeed = 1.5 (will set it to "150%")
EmulationSpeed = 1.6 (will set it to "160%")
EmulationSpeed = 1.7 (will set it to "170%")
EmulationSpeed = 1.8 (will set it to "180%")
EmulationSpeed = 1.9 (will set it to "190%")
EmulationSpeed = 2.0 (will set it to "200%")

Again the options above won't override or disable vsync. Use the appropriate gameini option to disable it.

FrameSkip:
This option is removed in the latest dev version and won't work.
[Core]
FrameSkip = 0 (frameskip will be disabled, with values 1-9 the respective number of frames will be skipped)

Idle Skipping Sync:
[Core]
SyncOnSkipIdle = True (or False to disable "SyncOnSkipIdle").

PAL60 (EuRGB60):
[Core]
PAL60 = True (or False to disable "PAL60 (EuRGB60)").

Set CPU Overclock:
This option will work with dolphin 5.0 - 2302 or newer and won't work with the stable 5.0 release.
[Core]
Overclock = (value)
OverclockEnable = True (or False to disable Cpu Overclocking)
The value of Overclock can be any float, and it acts as a multiplier; 1.0 is 100%, 1.5 is 150%, 2.0 is 200%, etc.

Choosing Internal Resolution:
From Dolphin 5.0 up to 5.0-5757 you can use the settings below:

The line below is used to enforce an integral value closest to the general value you use, if 3x is used it will stay the same, if 2,5x is used it will drop to 2x, if auto fractional is used auto integral will be set:
[Video_Settings]
EFBScale = -1
Values starting from 0 represent the drop down order in the list that dolphin uses. Currently:
[Video_Settings]
EFBScale = 0 =>will give auto fractional
EFBScale = 1 =>will give auto integral
EFBScale = 2 =>will give 1x
EFBScale = 3 =>will give 1,5x
EFBScale = 4 =>will give 2x
EFBScale = 5 =>will give 2,5x
EFBScale = 6 =>will give 3x
EFBScale = 7 =>will give 4x
EFBScale = 8 =>will give 5x
EFBScale = 9 =>will give 6x
EFBScale = 10 =>will give 7x
EFBScale = 11 =>will give 8x

For versions after 5.0-5757 up to the latest dev version:

[Video_Settings]
InternalResolution=0 =>will give auto integral
InternalResolution=1 =>will give 1x
InternalResolution=2 =>will give 2x (3 for 3x, 4 for 4x etc.)

Efb Copies:
[Video_Hacks]
EFBToTextureEnable = True (or False to disable "Store Efb Copies to Texture Only" respectively).

Scaled EFB Copy:
[Video_Hacks]
EFBScaledCopy = True (or False to disable "Scaled EFB Copy").

Skip EFB Access From Cpu:
[Video_Hacks]
EFBAccessEnable = True (or False to enable "Skip EFB Access From Cpu"). Beware that it has the opposite behavior of the gui option!

Vertex Rounding:
This option was first introduced in dolphin 5.0 - 3251 and won't work with previous versions.
[Video_Hacks]
VertexRounding = True (or False to disable "VertexRounding").

Ignore Format Changes:
[Video_Hacks]
EFBEmulateFormatChanges = True (or False to enable "Ignore Format Changes"). Beware that it has the opposite behavior of the gui option!

Texture Cache:
[Video_Settings]
SafeTextureCacheColorSamples = 0 (this is the safe setting on the left)
SafeTextureCacheColorSamples = 512 (this is the normal setting in the middle)
SafeTextureCacheColorSamples = 128 (this is the fast setting on the right)

Choosing Aspect Ratio:
Values starting from 0 represent the drop down order in the list that dolphin uses. Currently:
[Video_Settings]
AspectRatio = 0 =>will give Auto
AspectRatio = 1 =>will give Force 16/9
AspectRatio = 2 =>will give Force 4/3
AspectRatio = 3 =>will give Stretch to window

Widescreen Hack:
You should also set aspect ratio to "Stretch to window" in order to work.
[Video_Settings]
wideScreenHack = True (or False to disable "Widescreen Hack").

VSync:
[Video_Hardware]
VSync = True (or False to disable "VSync").

Anti-Aliasing:
Both settings below should be used as they are both needed.
[Video_Settings]
MSAA = 0 (Will set it to the top of the list value which is Off, 2 is for "2x", 4 is for "4x" and 8 is for "8x" samples, the number of samples used here will also apply if SSAA anti aliasing is used below).
SSAA = True (or False, will determine whether SSAA or MSAA is used. The amount of samples used for SSAA will depend on the MSAA value above).

Anisotropic Filtering:
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:
[Video_Enhancements]
ForceFiltering = True (or False to disable "Force Texture Filtering").

Stereoscopy Settings:
[Video_Stereoscopy]
StereoDepthPercentage = 100 (Percentage of depth value set in the video configuration applied in-game.)
StereoConvergenceMinimum = 0 (Base convergence value that's added to the value set in the video configuration.)
StereoEFBMonoDepth = False (or True to enable "Monoscopic Shadows" respectively.)
[Video_Enhancements]
StereoMode = 0 (0 = Off, 1 = Side-by-Side, 2 = Top-and-Bottom, 3 = Anaglyph, 4 = Nvidia 3D Vision (D3D only).)
StereoDepth = 20 (1/10th percentage of window width used to separate the virtual cameras.)
StereoConvergence = 20 (Distance of the convergence plane.)
StereoSwapEyes = False (or True to enable "Swap Eyes" respectively.)

External Frame Buffer:
The settings below work from dolphin 5.0 until 5.0-5874 that were replaced by hybrid xfb settings:

[Video_Settings]
UseXFB = True (or False to disable "External Frame Buffer"). 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).

If you use any version from 5.0-5874 until the latest dev the settings below control the new hybrid xfb options:

[Video_Hacks]
ImmediateXFBEnable = True (or False to disable "Immediately Present XFB")
XFBToTextureEnable = True (or False to disable "Store XFB Copies To Texture Only")

Fast Depth Calculation:
[Video_Settings]
FastDepthCalc = True (or False to disable "Fast depth calculation").

Per-Pixel Lighting:
[Video_Settings]
EnablePixelLighting = True (or False to disable "Per-Pixel Lighting").

Disable Fog:
[Video_Settings]
DisableFog = True (or False to disable "Disable Fog").

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

Progressive Scan:
[Core]
ProgressiveScan = True (or False to disable "Progressive Scan").

Load Custom Textures:
[Video_Settings]
HiresTextures = True (or False to disable "Load Custom Textures").

Choosing Gamecube Port device per game (standard controller, gba, etc.):
[Controls]
PadType0 = 0 (will set port1 to "Nothing", 5 for "GBA", 6 for "Standard Controller", 7 for "Keyboard", 8 for "Steering Wheel", 9 for "Dance Mat", 10 for "TaruKonga Bongos" and 11 for "AM Baseboard")
PadType1 = 0 (will set port2 to "Nothing", 5 for "GBA", 6 for "Standard Controller", 7 for "Keyboard", 8 for "Steering Wheel", 9 for "Dance Mat" and 10 for "TaruKonga Bongos")
PadType2 = 0 (will set port3 to "Nothing", 5 for "GBA", 6 for "Standard Controller", 7 for "Keyboard", 8 for "Steering Wheel", 9 for "Dance Mat" and 10 for "TaruKonga Bongos")
PadType3 = 0 (will set port4 to "Nothing", 5 for "GBA", 6 for "Standard Controller", 7 for "Keyboard", 8 for "Steering Wheel", 9 for "Dance Mat" and 10 for "TaruKonga Bongos")

Choosing Wiimote source per game (emulated wiimote, real wiimote, etc.):
Wiimote source numbers start from 0 for wiimote 1, 1 for wiimote 2, etc.
[Controls]
WiimoteSource0 = 0 (will set wiimote1 to "None", 1 for "Emulated Wiimote", 2 for "Real Wiimote", 3 for "Hybrid Wiimote")
WiimoteSource1 = 0 (will set wiimote2 to "None", 1 for "Emulated Wiimote", 2 for "Real Wiimote", 3 for "Hybrid Wiimote")
WiimoteSource2 = 0 (will set wiimote3 to "None", 1 for "Emulated Wiimote", 2 for "Real Wiimote", 3 for "Hybrid Wiimote")
WiimoteSource3 = 0 (will set wiimote4 to "None", 1 for "Emulated Wiimote", 2 for "Real Wiimote", 3 for "Hybrid Wiimote")
WiimoteSourceBB = 0 (will set balance board to "None", 2 for "Real Balance Board")

Choosing Control Profiles per game:
First you should have a control profile saved for each gamecube controller or Wiimote. For example lets say you have created Wiimote profiles named "Sideways1" up to "Sideways4"  for Wii games that use the sideways wiimote handling(donkey kong, kirby games, etc.). In order to load those profiles per game you should put:
[Controls]
WiimoteProfile1 = Sideways1 => You can put any profile name you want to put here instead. This loads wiimote profile for player 1.
WiimoteProfile2 = Sideways2 => You can put any profile name you want to put here instead. This loads wiimote profile for player 2.
WiimoteProfile3 = Sideways3 => You can put any profile name you want to put here instead. This loads wiimote profile for player 3.
WiimoteProfile4 = Sideways4 => You can put any profile name you want to put here instead. This loads wiimote profile for player 4.

For gamecube controller profiles you should put:
[Controls]
PadProfile1 = Your profile name here. This loads gcpad profile for player 1.
PadProfile2 = Your profile name here. This loads gcpad profile for player 2.
PadProfile3 = Your profile name here. This loads gcpad profile for player 3.
PadProfile4 = Your profile name here. This loads gcpad profile for player 4.

Choosing the language of gamecube and wii games:
This option works since dolphin 5.0-2023 and won't work with the stable 5.0 release.

For gamecube games:
[Core]
GameCubeLanguage = (Choose a number and put it here for the language you want from the list below.)
0 (English or Japanese will be picked depending on the region of the console/game)
1 (German)
2 (French)
3 (Spanish)
4 (Italian)
5 (Dutch)

For Wii games:
[Wii]
Language = (Choose a number and put it here 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)

Settings that can also be set using the iso properties window:
[Core]
CPUThread = True (or False to disable "Dual Core").
SkipIdle = True (or False to disable "Idle Skipping"). => This option was removed in the latest dev version.
MMU = True (or False to disable "MMU").
DCBZ = True (or False to disable "Skip DCBZ Clearing").
SyncGPU = True (or False to disable "Synchronize GPU Thread").
FastDiscSpeed = True (or False to disable "Speed Up Disk Transfer Rate").
DSPHLE = True (or False to disable "DSP HLE Emulation").
Fwiw, I'd suggest putting this page on the wiki once it's finished, so that we can put it on our guides list.
Great idea Thanks! Wink
Wow! Since when Controller profiles can be specified in Game INI? I was wishing this for ages!!!

BTW, awesome idea. Tell us when you're done if you need help putting this to the wiki...
(10-15-2013, 04:17 AM)Jhonn Wrote: [ -> ]Wow! Since when Controller profiles can be specified in Game INI? I was wishing this for ages!!!

BTW, awesome idea. Tell us when you're done if you need help putting this to the wiki...
It's been a long time that is supported (about a year perhaps), but if you miss the commit that did it, it easily gets lost between all the other commits that follow to know about it. And that is the main reason that drove me to write this, there are a lot of personal customization options in Dolphin that people don't seem to know and usually pick the hard road of keeping various instances of dolphin or constantly change settings to run a game which could be done just once and forget about it.
Not really a new idea. RachelB fussed at me to do this a month ago, but with the 4.0 nonsense and all the other things I never go around to it >_<. Oh well, less work for me. Big Grin Let me know when you finish it and I'll get it ported over and onto the guide page.
Most settings have been done except those that can be set also with the dolphin gui iso properties (dual core, idleskipping, etc.).
(10-15-2013, 04:17 AM)Jhonn Wrote: [ -> ]Wow! Since when Controller profiles can be specified in Game INI? I was wishing this for ages!!!

BTW, awesome idea. Tell us when you're done if you need help putting this to the wiki...
Since Jan 9 22:33:51.

Thank you very much for posting this, Link_to_the_past!
Nice.

Cheers.
(10-18-2013, 04:47 PM)mranonymous Wrote: [ -> ]Hi,

I was wondering whether there is a way to toggle "Use EURGB60 Mode (PAL60)" on or off at all? For example, the game Mario Strikers Charged requires the option to be off to even be able to run. Would be nice if so purely for convenience, but I couldn't find the option anywhere within the Dolphin config files. Is it kept within the actual Wii "sys" file or could this be configured within a game ini?

Many thanks
Unfortunately it can't. Pal 60, progressive scan, frame limit are among the stuff that can't be set per game.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39