Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
advanced_retroarch_settings [2022/01/02 10:10] – actually 'global' key is required atariadvanced_retroarch_settings [2025/07/22 08:13] (current) – [Core options] The information about the location of the system.opt files was outdated for v41 hankerde
Line 2: Line 2:
  
 <WRAP center round tip> <WRAP center round tip>
-You might want to check if the option you want to change has already been implemented into EmulationStation! Most game-related settings are in **GAME SETTINGS**, but some RetroArch specific options may be in the **DEVELOPER** menu.+You might want to check if the option you want to change has already been implemented into EmulationStation! Most game-related settings are in **GAME SETTINGS**, but some RetroArch-specific options may be in the **DEVELOPER** menu.
 </WRAP> </WRAP>
  
 With ordinary distributions (such as installing RetroArch on Windows), RetroArch is configured by adding/editing lines in ''retroarch.cfg''. Batocera generates and replaces the lines in this file with every emulator launch, so the better option is to let Batocera know which RetroArch options you would like to use. Most of these settings can instead be changed within EmulationStation. Exceptions will be noted. With ordinary distributions (such as installing RetroArch on Windows), RetroArch is configured by adding/editing lines in ''retroarch.cfg''. Batocera generates and replaces the lines in this file with every emulator launch, so the better option is to let Batocera know which RetroArch options you would like to use. Most of these settings can instead be changed within EmulationStation. Exceptions will be noted.
  
-For options not already implemented into ES, you can change the file ''/userdata/system/batocera.conf'' and add the following keys if needed. Most RetroArch settings not mentioned in the default ''batocera.conf'' can be edited and saved from within RetroArch itself (accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} while in-game in a Libretro core), these will be saved to ''/userdata/configs/retroarch/retroarchcustom.cfg'' (with core options being saved to ''retroarch/cores/retroarch-core-options.cfg'' instead), however the vast majority of RetroArch settings will be overridden by Batocera at emulator launch.+For options not already implemented into ES, you can change the file ''/userdata/system/batocera.conf'' and add the following keys if needed. Most RetroArch settings not mentioned in the default ''batocera.conf'' can be edited and saved from within RetroArch itself (accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} while in-game in a Libretro core), these will be saved to ''/userdata/system/configs/retroarch/retroarchcustom.cfg'' (with core options being saved to ''retroarch/cores/retroarch-core-options.cfg'' instead), however the vast majority of RetroArch settings will be overridden by Batocera at emulator launch.
  
-In order to use the configuration generator to create a RetroArch setting (letting Batocera know which value is being used, avoiding it being overwritten), follow the ''global.retroarch.retroarch_setting=value'' syntax. Batocera supports the massive majority of RetroArch's settings, but for the few that it doesn't (such as bleeding edge new features or obscure/forgotten ones), those settings can still be adjusted by editing them directly into ''/userdata/configs/retroarch/retroarchcustom.cfg'' as they will not be overwritten (at least, until Batocera supports them as well).+In order to use the configuration generator to create a RetroArch setting (letting Batocera know which value is being used, avoiding it being overwritten), follow the ''global.retroarch.retroarch_setting=value'' [[:batocera_conf_syntax|syntax]]. Batocera supports the massive majority of RetroArch's settings, but for the few that it doesn't (such as bleeding edge new features or obscure/forgotten ones), those settings can still be adjusted by editing them directly into ''/userdata/system/configs/retroarch/retroarchcustom.cfg'' as they will not be overwritten (at least, until Batocera supports them as well).
  
-===== RetroArchievements =====+===== Examples =====
  
-[[http://retroachievements.org/|RetroAchievements]] is a website to log your achievements on several console games. It's built into RetroArch and is only supported by a selection of cores. Available from **GAMES SETTINGS** -> **RETROACHIEVEMENTS SETTINGS**. +==== A.I. Translation ====
- +
-You first need a valid account there and then add your credentials inside the configuration file. Get more detailed information from the [[:retroachievements_settings|RetroAchievements Settings]] page. +
- +
-<code> +
-## Enable retroarchievements (0,1) +
-## Set your www.retroachievements.org username/password +
-## Escape your special chars (# ; $) with a backslash : $ => \$ +
-global.retroachievements=0 +
-global.retroachievements.hardcore=0 +
-global.retroachievements.leaderboards=0 +
-global.retroachievements.verbose=0 +
-global.retroachievements.screenshot=0 +
-global.retroachievements.username= +
-global.retroachievements.password= +
-## Show badges in Retroarch cheevos list and color them when they're win like on the web site +
-global.retroarch.cheevos_badges_enable=true +
-</code> +
- +
-===== A.I. Translation =====+
  
 The following section enables an automatic translation of in-game dialogs in your language. So it's possible to play Japanese game titles without hassle. Available from **GAMES SETTINGS** -> **AI GAME TRANSLATION** The following section enables an automatic translation of in-game dialogs in your language. So it's possible to play Japanese game titles without hassle. Available from **GAMES SETTINGS** -> **AI GAME TRANSLATION**
Line 43: Line 24:
 </code> </code>
  
-===== Cheats =====+==== Cheats ====
  
 Auto apply cheats selected by the user. Auto apply cheats selected by the user.
Line 53: Line 34:
 </code> </code>
  
-===== Savestate Screenshots =====+==== Savestate Screenshots ====
  
-Take a screenshot of the savestate. For when you have many savestates and don't remember which is which... now in RetroArch its thumbnail will be a screenshot of the moment you saved! Not available as an ES option.+Take a screenshot of the savestate. For when you have many savestates and don't remember which is which... now in RetroArch its thumbnail will be a screenshot of the moment you saved! This has become the default setting in Batocera. Not available as an ES option.
  
 <code> <code>
Line 62: Line 43:
 </code> </code>
  
-===== Start Screen Message =====+==== Start Screen Message ====
  
 Hide the welcome message in Retroarch. Having to wait for 3 secs before the message goes away is really boring. This has become the default setting in Batocera. Not available as an ES option. Hide the welcome message in Retroarch. Having to wait for 3 secs before the message goes away is really boring. This has become the default setting in Batocera. Not available as an ES option.
Line 71: Line 52:
 </code> </code>
  
-===== All Users Control Menu =====+==== All Users Control Menu ====
  
 Allow any RetroPad to control the menu. This changes nothing in 1 player mode, but it's a dream to disable when you have friends who don't know the emulators or young children... Only Player 1 (YOU) can use RetroArch options like savestate, change slot, rewind, etc. A much better gaming experience. Not available as an ES option. Allow any RetroPad to control the menu. This changes nothing in 1 player mode, but it's a dream to disable when you have friends who don't know the emulators or young children... Only Player 1 (YOU) can use RetroArch options like savestate, change slot, rewind, etc. A much better gaming experience. Not available as an ES option.
Line 80: Line 61:
 </code> </code>
  
-===== Swap OK and Cancel buttons =====+==== Swap OK and Cancel buttons ====
  
 Swap the **OK** and **CANCEL** buttons on Retroarch menu. Many users have SNES gamepads and in EmulationStation, B is **OK** and A is **NO**. And in RetroArch, buttons are inverted, and not really convenient. Not available as a menu option. Swap the **OK** and **CANCEL** buttons on Retroarch menu. Many users have SNES gamepads and in EmulationStation, B is **OK** and A is **NO**. And in RetroArch, buttons are inverted, and not really convenient. Not available as a menu option.
Line 89: Line 70:
 </code> </code>
  
-===== OSD Badges =====+==== OSD Badges ====
  
 Enable OSD (on-screen display) messages. Retroarch shows users some important messages, like Savestate, Screenshot, RetroAchievements, etc. They look beautiful on badges. But sometimes, it shows other less important messages, like your name when you connect to RetroAchievements. Those messages look like crappy yellow text lines, not like the badges. This option hides these messages but not the badges. This has become the default option in Batocera. Not available as an ES option. Enable OSD (on-screen display) messages. Retroarch shows users some important messages, like Savestate, Screenshot, RetroAchievements, etc. They look beautiful on badges. But sometimes, it shows other less important messages, like your name when you connect to RetroAchievements. Those messages look like crappy yellow text lines, not like the badges. This option hides these messages but not the badges. This has become the default option in Batocera. Not available as an ES option.
Line 98: Line 79:
 </code> </code>
  
-===== Sync to Exact Content Framerate (G-Sync, FreeSync) =====+==== Sync to Exact Content Framerate (G-Sync, FreeSync) ====
  
-This will enable variable refresh rate for compatible displays. This sync your display's refresh rate to the emulated console's display rate (unlike traditional v-sync that will simply delay the frames until the display is ready). Only compatible on displays that explicitly have support for "variable refresh rate" (most of them don't). Not available as an ES option.+This will enable variable refresh rate for compatible displays. This sync your display's refresh rate to the emulated console's display rate (unlike traditional v-sync that will simply delay the frames until the display is ready). Only compatible on displays that explicitly have support for "variable refresh rate" (most of them don't). Now available as an ES option.
  
 <code> <code>
 ## Enables syncing to exact content framerate (variable refresh rate, G-sync, Freesync, etc.) ## Enables syncing to exact content framerate (variable refresh rate, G-sync, Freesync, etc.)
 global.retroarch.vrr_runloop_enable=true global.retroarch.vrr_runloop_enable=true
 +</code>
 +
 +==== Adjust per-game volume ====
 +
 +Not all games are created equal... in terms of decibels they produce. Use the following to adjust the volume output by a particular game (use negative numbers to reduce its volume instead):
 +
 +<code>
 +## Adjusts the volume for the game SydMead's TerraForming (USA).chd in the pcenginecd folder to be 10 decibels louder than usual.
 +pcenginecd["SydMead's TerraForming (USA).chd"].retroarch.audio_volume = "10.000000"
 +</code>
 +
 +==== Alter FPS update interval ====
 +
 +When you turn on the **SYSTEM SETTINGS** -> **FRONTEND DEVELOPER SETTINGS** -> **SHOW FPS**, you may notice in RetroArch specifically the FPS counter is very unresponsive... this is because the default interval is set to update once every two and a half seconds. To change this to update every 10 ms:
 +
 +<code>
 +global.retroarch.fps_update_interval=10
 </code> </code>
  
Line 113: Line 111:
 </WRAP> </WRAP>
  
-In order to set specific core options (ones that are saved to ''userdata/system/configs/retroarch/cores/retroarch-core-options.cfg'' (may cause conflicting issues, advanced users only) use the ''global.retroarchcore.<core name>_<core option>=value'' syntax (takes priority over other settings, even settings that are normally required to be adjusted to run games, be warned). For example: ''global.retroarchcore.genesis_plus_gx_region_detect=pal'' would set the region to PAL for games run with GenesisPlusGX.+In order to set specific core options (ones that are saved to ''/userdata/system/configs/retroarch/cores/retroarch-core-options.cfg'' (may cause conflicting issues, advanced users only) use the ''global.retroarchcore.<core name>_<core option>=value'' syntax (takes priority over other settings, even settings that are normally required to be adjusted to run games, be warned). For example: ''global.retroarchcore.genesis_plus_gx_region_detect=pal'' would set the region to PAL for games run with GenesisPlusGX.
  
 <WRAP center round tip> <WRAP center round tip>
Line 120: Line 118:
  
 Each core option is (usually) unique to the core, you can see what terminology it uses with the following: Each core option is (usually) unique to the core, you can see what terminology it uses with the following:
-  - Launch a game and go into the RetroArch **Quick Menu** and navigate to the core's options ( ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Options**).+  - Launch a game and go into the RetroArch **Quick Menu** and navigate to the core's options ( ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Core Options** <wrap lo>(this used to be labelled simply **Options** in older versions of RetroArch)</wrap>).
   - Edit your options if you want to, and then go to **Manage Core Options** -> **Save Content Directory Options**.   - Edit your options if you want to, and then go to **Manage Core Options** -> **Save Content Directory Options**.
-  - Check the newly created file at ''system/.config/retroarch/config/<core name>/<system>.opt''+  - Check the newly created file at ''/userdata/system/configs/retroarch/config/<core name>/<system>.opt''<WRAP center round important> 
 +For earlier versions of Batocera, these files were located at ''/userdata/system/.config/retroarch/config/<core name>/<system>.opt''. You may need to turn on "Show hidden folders" in your file manager to see this folder.</WRAP>
   - Transplant those options to ''batocera.conf'' by appending them with ''global.retroarchcore.'' first. It's okay to enclose the values in double-quotes like RetroArch does (eg. ''%%= "value"%%'') or not include any double-quotes like Batocera does (eg. ''= value'').   - Transplant those options to ''batocera.conf'' by appending them with ''global.retroarchcore.'' first. It's okay to enclose the values in double-quotes like RetroArch does (eg. ''%%= "value"%%'') or not include any double-quotes like Batocera does (eg. ''= value'').
-  - Delete the ''system/.config/retroarch/config/<core name>/<system>.opt'' file (or just **Delete Content Directory Options** (which has replaced **Save Content Directory Options** from earlier)).+  - Delete the ''/userdata/system/configs/retroarch/config/<core name>/<system>.opt'' file (or just **Delete Content Directory Options** (which has replaced **Save Content Directory Options** from earlier)).
  
 To run with our previous example, I would: To run with our previous example, I would:
-  - Launch "Shaq Fu" for the Sega Megadrive, mash ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} and then go into the **Options** menu. {{ :screenshot-2021.10.07-17h46.34.jpg?direct&600 |Shaq Fu is the penultimate fighting game.}}{{ :screenshot-2021.10.07-17h47.30.jpg?direct&600 |RetroArch's core options menu.}} +  - Launch "Shaq Fu" for the Sega Megadrive, mash ''[HOTKEY]''+{{:wiki:south.png?nolink&20|South button (B SNES)}} and then go into the **Options** menu.\\ {{:screenshot-2021.10.07-17h46.34.jpg?direct&600|Shaq Fu is the penultimate fighting game.}} {{:screenshot-2021.10.07-17h47.30.jpg?direct&600|RetroArch's core options menu.}} 
-  - Change the **System region** option from "auto" to "pal". {{ :screenshot-2021.10.07-17h58.20.jpg?direct&600 |Adjusting various options in the core option menu. You can also use left/right to change options quickly.}} +  - Change the **System region** option from "auto" to "pal".\\ {{:screenshot-2021.10.07-17h58.20.jpg?direct&600|Adjusting various options in the core option menu. You can also use left/right to change options quickly.}} 
-  - Go into **Manage Core Options** and then **Save Content Directory Options**. {{ :screenshot-2021.10.07-17h48.35.jpg?direct&600 |Saving the option file in the manage core options menu.}}{{ :screenshot-2021.10.07-17h48.42.jpg?direct&600 |This button changes to allow you to delete the option file later.}} +  - Go into **Manage Core Options** and then **Save Content Directory Options**.\\ {{:screenshot-2021.10.07-17h48.35.jpg?direct&600|Saving the option file in the manage core options menu.}} {{:screenshot-2021.10.07-17h48.42.jpg?direct&600|This button changes to allow you to delete the option file later.}} 
-  - Check the option file that was created at ''system/.config/retroarch/config/Genesis Plus GX/megadrive.opt'' {{ :option_file.png?direct&500 |There he is!}} +  - Check the option file that was created at ''/userdata/system/configs/retroarch/config/Genesis Plus GX/megadrive.opt''\\ {{:option_file.png?direct&500|There he is!}} 
-  - Take a gander at the option I set, and note that it is ''%%genesis_plus_gx_region_detect = "pal"%%''. {{ :option_strings.png?direct&500 |Excellent.}}+  - Take a gander at the option I set, and note that it is ''%%genesis_plus_gx_region_detect = "pal"%%''.\\ {{:option_strings.png?direct&500|Excellent.}}
   - Open up ''batocera.conf'' and add ''%%global.retroarchcore.genesis_plus_gx_region_detect = "pal"%%'' to it.   - Open up ''batocera.conf'' and add ''%%global.retroarchcore.genesis_plus_gx_region_detect = "pal"%%'' to it.
   - Delete the ''megadrive.opt'' file.   - Delete the ''megadrive.opt'' file.
  
-All my Mega Drive games now run at PAL speeds, as they should be. ;-) {{ :screenshot-2021.10.07-18h03.17.jpg?direct&600 |But unfortunately PAL isn't considered "hardcore" :(}}+All my Mega Drive games now run at PAL speeds, as they should be. ;-) 
 + 
 +{{ :screenshot-2021.10.07-18h03.17.jpg?direct&600 |But unfortunately PAL isn't considered "hardcore" :(}} 
 + 
 +===== All other non-core RetroArch settings ===== 
 + 
 +<WRAP center round alert> 
 +This will break Batocera's ability to alter configuration files for RetroArch. This can cause issues such as losing the ability to change any settings from EmulationStation's menus, a future update resulting in failure to launch the system, no ability to change which controller is being used, etc. 
 + 
 +The better option is to [[#advanced_retroarch_settings|configure these settings from batocera.conf as written above]], as that allows Batocera to acknowledge the changed settings and then continue functioning normally. 
 + 
 +Only continue with this if you understand that the burden of configuration maintenance will now fall onto you. 
 +</WRAP> 
 + 
 +If the settings are not in the core options, you will notice these are not persisted by saving a core options config. Settings outside of core options must be saved with an override instead. 
 + 
 +Once you have set the settings as you want them to, in RetroArch's menu navigate to **Quick menu** -> **Overrides** and then select the type of override you want to make. Although making an override at all is not recommended, you can reduce interruption by keeping the override as small as possible, so try to aim for "game", then "content directory" if that's not expansive enough, and finally "core" if needed for every game ran by that system's core. 
 + 
 +{{:screenshot-2024.09.27-12h42.08.png?700|}} 
 +{{:screenshot-2024.09.27-12h43.21.png?700|}}
  
 ===== Reconfiguring the Keyboard for RetroArch ===== ===== Reconfiguring the Keyboard for RetroArch =====
Line 145: Line 163:
 </WRAP> </WRAP>
  
-Open your ''/system/batocera.conf'' file and add the following lines as appropriate to it. Here is an example of the default bindings:+Open your ''/userdata/system/batocera.conf'' file and add the following lines as appropriate to it. Here is an example of the default bindings:
  
 <file> <file>
Line 202: Line 220:
 The hotkey combos that Batocera offers are nice, but what if you wanted to bind a hotkey action directly to an unused button (such as putting fast-forward on the unused ''[R2]'' button for GBA games)? This is for that. Once again, keep in mind this will only affect libretro cores, not standalone emulators. The hotkey combos that Batocera offers are nice, but what if you wanted to bind a hotkey action directly to an unused button (such as putting fast-forward on the unused ''[R2]'' button for GBA games)? This is for that. Once again, keep in mind this will only affect libretro cores, not standalone emulators.
  
-Open your ''/system/batocera.conf'' file and add the following lines:+Open your ''/userdata/system/batocera.conf'' file and add the following lines:
  
 <file> <file>
Line 338: Line 356:
 global.retroarch.input_menu_toggle_gamepad_combo=10 global.retroarch.input_menu_toggle_gamepad_combo=10
 </file> </file>
 +
 +===== Open the Quick Menu via Shift + F1 =====
 +
 +By default, Batocera will have the ''[Esc]'' key on the keyboard bound to immediately exiting RetroArch. In order to revert this to behave similarly to RetroArch's default behavior, modify the following lines in ''system/configs/retroarch/retroarchcustom.cfg'' to the following:
 +
 +<code>
 +input_enable_hotkey = "shift"
 +input_menu_toggle = "f1"
 +</code>
 +
 +Using this, you can now access the Quick Menu even if you only have a keyboard! How neat.
 +
 +<WRAP center round info>
 +Batocera will not change these specific variables. So as long as you don't do a factory reset, this setting will persist.
 +</WRAP>
  
  • advanced_retroarch_settings.1641118209.txt.gz
  • Last modified: 4 years ago
  • by atari