diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index e2e4ed0ba..97e5d66da 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -542,24 +542,19 @@ Installation and configuration of RetroArch and other emulators is beyond the sc A general recommendation regarding installation on Linux though is to try to avoid the versions included in the OS repositories as they're usually quite limited with regards to the number of available cores, and they're usually older versions. Instead go for either the Snap or Flatpak distributions or build from source. -In order to use the default es_systems.xml file, you need to make sure that the emulator binary is in the operating system's path. On Unix systems this is normally not an issue (unless Flatpak is used) as a package manager has typically been used to install the emulator, and even if compiled from source there is a standardized directory structure which should have you covered. Likewise on macOS, it's assumed that the emulator is installed under the Applications folder so everything should just work. But for Windows you may need to add the emulator directory to your %PATH% variable manually (tip: open Settings from the Start menu and search for _path_). +The default es_systems.xml file is paired with a file named es_find_rules.xml which tries to find the emulators and cores using some predefined rules. For Unix/Linux this should normally just work, and for macOS it will work as long as RetroArch is installed at the default location /Applications/RetroArch.app. For Windows it's a bit more complicated as there is really no standard location where applications are installed on this operating system, and RetroArch does not add itself to the Path environment variable during installation. In general it's therefore recommended to manually add the RetroArch directory to your Path variable (tip: open Settings from the Start menu and search for _path_). -If installing RetroArch as Flatpak on Linux you have to work around an incredibly annoying deficiency of this type of software distribution which is that there will be no RetroArch executable directly available to run. To run RetroArch you would instead need to execute `flatpak run org.libretro.RetroArch` and to get ES-DE to work properly with this you either need to use a customized es_systems.xml file, or create a shell script somewhere in your path that executes the Flatpak command. -Here's an example of such a script: -``` -#!/bin/sh -flatpak run org.libretro.RetroArch "$@" -``` +However the following directories are defined in es_find_rules.xml for Windows, so if you've installed RetroArch to any of these, ES-DE will be able to find it: -For instance on Fedora you could place the shell script in `~/bin` and name it `retroarch` and then everything will work fine. - -There is also a Flatpak-specific es_systems.xml template shipped with ES-DE, but you need to manually install it if you would like to use it: ``` -cp /usr/share/emulationstation/resources/systems/unix/es_systems.xml_flatpak ~/.emulationstation/custom_systems/es_systems.xml +C:\RetroArch-Win64\retroarch.exe +C:\RetroArch\retroarch.exe +C:\Program Files\RetroArch-Win64\retroarch.exe +C:\Program Files\RetroArch\retroarch.exe +C:\Program Files (x86)\RetroArch-Win64\retroarch.exe +C:\Program Files (x86)\RetroArch\retroarch.exe ``` -The source path may differ from this example depending on which prefix was used when building ES-DE. - As an alternative, if the emulator is not in your search path, you can either hardcode an absolute path in es_systems.xml or use the %ESPATH% variable to set the emulator relative to the ES-DE binary location. Again, please refer to [INSTALL-DEV.md](INSTALL-DEV.md#es_systemsxml) for details regarding this. In any instance, ES-DE will display an error notification if attempting to launch a game where the emulator binary is not found. Likewise it will notify if the defined emulator core is not installed. The es_log.txt file will also provide additional details.