How to Install and Use RetroArch for Emulation on Arch Linux
Categories:
5 minute read
Emulation allows users to experience old-school games from platforms like NES, SNES, PlayStation, and many others directly on modern machines. On Linux, RetroArch stands out as one of the most comprehensive frontends for emulators, game engines, and media players. It provides a unified interface to manage multiple emulation cores, input configurations, shaders, and more.
In this guide, we’ll walk through how to install and use RetroArch on Arch Linux, covering everything from installation, configuration, core management, controller setup, and game launching.
What is RetroArch?
RetroArch is an open-source project developed by Libretro. It acts as a frontend to the Libretro API, which standardizes emulator cores for different gaming systems. Instead of installing individual standalone emulators, RetroArch allows you to load cores dynamically and manage them from a single interface.
Key Features of RetroArch
- Unified GUI for multiple systems.
- Support for a wide range of emulation cores.
- Save states, rewind, fast forward, and netplay features.
- Support for shaders and overlays.
- Configurable input with hotkeys.
- Cross-platform and actively maintained.
Prerequisites
Before installing RetroArch on Arch Linux, make sure your system is up to date:
sudo pacman -Syu
You should also have basic terminal experience and optionally a controller ready if you plan to play with one.
Installing RetroArch on Arch Linux
RetroArch is available directly from the official Arch repositories, so installation is straightforward.
1. Install RetroArch
sudo pacman -S retroarch
This installs the core application. However, RetroArch doesn’t include emulator cores by default.
2. Install Libretro Cores
You can install cores individually or as a group. Each core emulates a specific system.
To install popular cores individually:
sudo pacman -S libretro-snes9x # SNES
sudo pacman -S libretro-gambatte # Game Boy/Color
sudo pacman -S libretro-genesis-plus-gx # Sega Genesis
sudo pacman -S libretro-pcsx2 # PlayStation 2
sudo pacman -S libretro-pcsx-rearmed # PlayStation 1 (low-end)
To install a bundle of cores:
sudo pacman -S libretro-core-info
Or to see all available cores:
pacman -Ss libretro
This will list all cores available for installation.
Launching RetroArch
Once installed, you can start RetroArch using:
retroarch
Or from your desktop environment’s application menu.
Configuring RetroArch
The RetroArch interface might seem a bit overwhelming at first, especially with its console-like UI. But once you get used to it, it becomes very powerful.
1. Navigation Tips
- Use the arrow keys to navigate.
- Use Enter to select.
- Use Backspace to go back.
- Press Esc to quit.
You can also navigate using a game controller if it’s connected and recognized.
2. Setting Up a Controller
RetroArch has excellent support for controllers. Most modern controllers (Xbox, PS, Logitech, etc.) are detected automatically.
To configure manually:
- Go to Settings > Input > Port 1 Controls
- Map each button as per your preference.
RetroArch also supports hotkeys such as:
- Save State:
F2
- Load State:
F4
- Fast Forward:
Space
- Exit Game:
Escape
(or a button combo if using a controller)
3. Downloading and Managing Cores Within RetroArch
If you’d rather download cores from within the GUI:
- Go to Main Menu > Online Updater > Core Downloader
- Select the core(s) you want. For example:
- SNES:
Snes9x
- NES:
Nestopia
- Genesis:
Genesis Plus GX
- PSX:
PCSX ReARMed
orBeetle PSX
- SNES:
Downloaded cores will be stored in ~/.config/retroarch/cores/
.
Loading Games (ROMs)
1. ROM Preparation
- RetroArch supports standard ROM formats (e.g.,
.nes
,.sfc
,.gba
,.bin
,.iso
, etc.). - Ensure your ROMs are legally obtained and placed in an accessible directory (e.g.,
~/Games/ROMs/
).
2. Load a Game
From the Main Menu:
- Go to Load Content
- Navigate to the ROM location
- Select the ROM
- Then choose the corresponding core to launch it
You can also use the “Scan Directory” option to build a playlist of games with box art and metadata (if available).
Enabling Shaders and Overlays
RetroArch supports various visual enhancements:
1. Shaders
- Go to Main Menu > Quick Menu > Shaders > Load Shader Preset
- Choose from options like CRT, scanlines, LCD grid, etc.
- Shaders can replicate the feel of old displays.
2. Overlays
Overlays simulate bezels or additional UI elements.
- Go to Settings > On-Screen Display > On-Screen Overlay
- Enable and select an overlay preset
Save States and Game Progress
RetroArch supports two primary save methods:
1. Native Game Saves
These are handled by the emulator core and saved in the same directory as your ROMs or in the configured save folder.
2. Save States
- Press
F2
to save a state - Press
F4
to load a state - Multiple state slots can be configured under Settings > Saving
Updating RetroArch and Cores
Since you’re on Arch Linux, updates are managed through pacman
:
sudo pacman -Syu
For cores installed via the GUI:
- Go to Main Menu > Online Updater > Update Installed Cores
- You can also update assets, databases, cheats, and thumbnails
Using Playlists and Game Thumbnails
1. Scan Directory
To automatically organize games:
- Go to Main Menu > Import Content > Scan Directory
- Select your ROM folder
RetroArch will create a system-specific playlist with artwork if available.
2. Download Thumbnails
- Go to Main Menu > Online Updater > Thumbnails Updater
- Choose the platform (e.g., Nintendo - NES)
Artwork will be associated with scanned games.
RetroArch Configuration Files
- Main config:
~/.config/retroarch/retroarch.cfg
- Cores:
~/.config/retroarch/cores/
- Saves:
~/.config/retroarch/saves/
- States:
~/.config/retroarch/states/
You can manually edit these if needed or reset them from the GUI.
Optional: Installing RetroArch from Flatpak
If you prefer sandboxing or want to try the Flatpak version:
flatpak install flathub org.libretro.RetroArch
Run it with:
flatpak run org.libretro.RetroArch
Flatpak versions include additional configuration overhead but may be more consistent across systems.
Troubleshooting Tips
- Game won’t load: Ensure the correct core is selected. Some ROMs only work with specific cores.
- Controller not recognized: Try mapping manually under Settings > Input.
- No audio: Check your system audio settings and RetroArch’s audio configuration.
- Performance issues: Use lighter cores or enable frame skipping under Settings > Frame Throttle.
Final Thoughts
RetroArch turns Arch Linux into a powerful and unified retro gaming platform. With support for dozens of platforms, highly configurable input and video settings, and an active development community, it’s one of the best tools for emulation on Linux.
While the initial interface might seem complex, RetroArch rewards users who spend time learning its powerful features. Whether you’re revisiting your childhood classics or exploring gaming history, RetroArch is the key to unlocking an entire world of games.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.