Simple Guide for the Installation and Configuration of RetroArch

Preamble

This guide assumes the use of the flatpak version of the software as found through flathub, and that you are using a Debian base (such as Ubuntu, Linux Mint, or ElementaryOS).

Part One - Installation

Configure and Installation of flatpak

NOTE: This can be skipped if flatpak is already installed and configured for use with flathub

First and foremost, run sudo apt install flatpak. After that, all that is left is configuring for operation with flathub. This can be done by running flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo.

Installation of RetroArch

From this point the installation is rather simple. Just run flatpak install org.libretro.RetroArch in your terminal

In some cases you may have to restart your session (logout and in again), in order for the application to show in your application menu.

Part Two - Configure Controls

Upon first launch of the application, the need to configure a controller is likely. To accomplish this, go to Settings > Input > Port'ControllerPortNumber'Controls. At this point, all that is needed is selecting SetAllControls. After doing this, press the buttons displayed on screen via the controller, ignoring any buttons the controller lacks. This can be repeated for any other controllers you want to add.

Part Three - Downloading Cores

From this point, cores (emulators) will need to be downloaded. To do this, go to MainMenu > OnlineUpdater > CoreDownloader in the menu system. From here download the cores you wish to install, this is done via left click or the enter key.

Part Four - Importing ROMs

Standard Import

Now, the need to import the ROMs (games) is imminent. First, go to ImportContent > ScanDirectory > 'Where/ever/you/keep/your/ROMs' > ScanThisDirectory. This should automatically import all of your ROMs into the program. If this does not work, it will be necessary to import the ROMs manually.

Manual Import

Manual import is useful for when more manual control is required. An example of this would be if the ROMs are stored in archive files. First, go to ImportContent > ManualScan. From here, select the directory the ROMs are stored in, the console those ROMs are for, a default core for their execution (not necessary), the file extensions those ROMs are stored as, and whether or not to scan inside archive files (such as zips).

Part Five - Adding BIOSes

NOTE: Only needed for newer consoles (a good rule of thumb is optical drive era and later).

All that is needed here is the downloading of the various BIOS files into the correct location. The location in question being ~/.var/app/org.libretro.RetroArch/config/retroarch/system. The prior link contains a zip file with the various BIOS files needed for every system (as of 2020).