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
emulationstation:customize_systems [2022/02/04 00:24] – clarification on how adding a new system can conflict with the old named one atariemulationstation:customize_systems [2022/06/05 14:44] (current) – [Customize ES Systems] clarify + future proof explanation of updating es_systems atari
Line 1: Line 1:
 ====== Customize ES Systems ====== ====== Customize ES Systems ======
  
-EmulationStation displays systems based on a file called ''es_systems.cfg'', located at ''/usr/share/emulationstation''. In the past, you had to edit this file and use the command ''batocera-save-overlay''This had issues when updating as all overlays have to be removed, meaning you'd have to redo these steps every update.+EmulationStation displays systems based on a file called ''es_systems.cfg''. In other distributionsthis is typically the only file. However, in Batocera FIXME and higher, the ''/userdata/system/configs/emulationstation/es_systems_<custom_name>.cfg'' can be used as an overlay to the original ''/usr/share/emulationstation/es_systems.cfg'' file.
  
-Batocera FIXME introduced the ability to copy the file to ''/userdata/system/configs/emulationstation/es_system.cfg'' and edit it therehowever this meant you would have to compare and copy the file every update, as well as appending your changes and working out if something had broken (as Batocera adds new systems nearly every major release and changes the launch methods for other systems too)+<WRAP center round info> 
- +If preferred, the entire file can be overridden by instead using ''/userdata/system/configs/emulationstation/es_systems.cfg''. Be careful if doing thisas the entire notion of maintaining this file as Batocera upgrades its internals (namely Pythonthus rely on you. This is really only suitable if you never intend on updating Batocera again. 
-Batocera FIXME and higher now treats extra ''/userdata/system/configs/emulationstation/es_systems_<custom_name>.cfg'' as overlays to the original ''/usr/share/emulationstation/es_systems.cfg'' file. This has the benefit of only requiring you to maintain the list of //your// personally added system entries/changes to particular attributes, as opposed to needing to scour through the entire document every update.+</WRAP>
  
 <WRAP center round important> <WRAP center round important>
-If you upgrade from a previous Batocera version to **v31** or higher, you **need to update** your ''es_systems*.cfg'' files to reflect the change of Python version. As you can see below, starting with Batocera **v31**, the location for the emulator launcher is ''/usr/lib/python3.9/site-packages/configgen/emulatorlauncher.py'' and not ''/usr/lib/python2.7/site-packages/configgen/emulatorlauncher.py'' as it used to be in previous versionsThere is no Python 2.7 on Batocera **v31** or higher.+Whenever Batocera is upgraded, its version of Python used may also change. This means if you are using an ''es_systems.cfg'' which manually defines the ''<command>'' (for example: ''<command>/usr/lib/python2.7/site-packages/configgen/emulatorlauncher.py</command>'' which is calling an older Python version), it will need to be updated accordingly. 
 + 
 +In general, it is recommended to avoid using a custom ''<command>'' and to just use the default one.
 </WRAP> </WRAP>
  
Line 52: Line 54:
 </file> </file>
  
-would only affect the 3DO system on your Batocera, with the rest of the systems still referring to ''/usr/share/emulationstation/es_systems.cfg'' for their system CFG. When both files contain the same FIXME (is it the name? or fullname?), ''es_systems_<custom_name>.cfg'' will take priority.+would only affect the 3DO system on your Batocera, with the rest of the systems still referring to ''/usr/share/emulationstation/es_systems.cfg'' for their system CFG. When both files contain the same ''<name>'', ''es_systems_<custom_name>.cfg'' will take priority.
  
 In case you'd like to have complete control over ES systems CFG, you can still use the two previous methods to completely override it (ie. using overlays or copying the entirety of ''es_systems.cfg'' to ''/userdata/system/configs/emulationstation/es_systems.cfg'' without appending a custom system name to its filename). In case you'd like to have complete control over ES systems CFG, you can still use the two previous methods to completely override it (ie. using overlays or copying the entirety of ''es_systems.cfg'' to ''/userdata/system/configs/emulationstation/es_systems.cfg'' without appending a custom system name to its filename).
Line 110: Line 112:
 </file> </file>
  
-The ''<name>'' and ''<platform>'' paths in this example are kept the same such that they can still use the defaults as specified by Batocera. If you really want to use a unique ''<name>'', you'll have to manually specify your emulator in the ''/usr/share/batocera/configgen/configgen-defaults.yml'' and/or ''/usr/share/batocera/configgen/configgen-defaults-arch.yml'' system defaults file.+The ''<name>'' and ''<platform>'' paths in this example are kept the same such that they can still use the defaults as specified by Batocera. If you really want to use a unique ''<name>'', you'll have to manually specify your default emulator in ''batocera.conf''. For instance if you were defining a new system with ''<name>cps1</name>'' then the following would be added to ''batocera.conf'': 
 + 
 +<code> 
 +cps1.emulator=libretro 
 +cps1.core=fbneo 
 +</code> 
 + 
 +These default emulators can also be defined in the ''/usr/share/batocera/configgen/configgen-defaults.yml'' and/or ''/usr/share/batocera/configgen/configgen-defaults-arch.yml'' system defaults file.
  
 <WRAP center round tip> <WRAP center round tip>
Line 121: Line 130:
  
 In case you're making a brand new system with brand new emulators/parameters, refer to [[:coding_rules#how_to_add_an_emulator|the developer documentation]] instead. In case you're making a brand new system with brand new emulators/parameters, refer to [[:coding_rules#how_to_add_an_emulator|the developer documentation]] instead.
 +
 +===== Older Batocera versions =====
 +
 +--> Click to reveal#
 +
 +EmulationStation displays systems based on a file called ''es_systems.cfg'', located at ''/usr/share/emulationstation''. In the past, you had to edit this file and use the command ''batocera-save-overlay''. This had issues when updating as all overlays have to be removed, meaning you'd have to redo these steps every update.
 +
 +Batocera FIXME introduced the ability to copy the file to ''/userdata/system/configs/emulationstation/es_system.cfg'' and edit it there, however this meant you would have to compare and copy the file every update, as well as appending your changes and working out if something had broken (as Batocera adds new systems nearly every major release and changes the launch methods for other systems too).
 +
 +<--
  
  • emulationstation/customize_systems.1643930672.txt.gz
  • Last modified: 2 years ago
  • by atari