Adding Emulators
How to add and manage emulators in RetroVoid.
RetroVoid doesn't emulate games itself. It acts as a launcher that connects to the emulators you already have installed. Emulators are entirely user-configured; there is no auto-detection. This guide covers how to add, configure, and manage emulators.
Adding an Emulator
To add an emulator to RetroVoid:
- Open Settings (press F1 twice).
- Navigate to the emulators section and click Add Emulator.
- Fill in the details:
- Name: a display name (e.g., "Dolphin", "PCSX2")
- Executable Path: browse to the emulator's binary using the file picker
- Launch Arguments: command-line arguments passed when launching a game (default:
{rom}) - Platforms: select which platforms this emulator handles
Launch Arguments
RetroVoid passes information to the emulator via placeholder tokens in the launch arguments string. Two placeholders are available:
| Placeholder | Description |
|---|---|
{rom} | Full path to the game's ROM file |
{title} | The game's display title |
Common Launch Argument Examples
Here are the recommended launch arguments for popular emulators:
| Emulator | Platforms | Launch Arguments |
|---|---|---|
| PCSX2 | PS2 | -batch "{rom}" |
| DuckStation | PS1 | -batch -- "{rom}" |
| RPCS3 | PS3 | --no-gui "{rom}" |
| PPSSPP | PSP | "{rom}" |
| Dolphin | GameCube, Wii | -b -e "{rom}" |
| Cemu | Wii U | -g "{rom}" |
| Ryujinx | Switch | "{rom}" |
| Citra | 3DS | "{rom}" |
| melonDS | NDS | "{rom}" |
| mGBA | GBA, GBC, GB | -f "{rom}" |
| Xemu | Xbox | -dvd_path "{rom}" |
| RetroArch | Multi | -L /path/to/core "{rom}" |
Note: For RetroArch, you must include the full path to the core in the launch arguments. There is no
{core}placeholder. The core path must be hardcoded in the argument string.
Default Emulator per Platform
When multiple emulators support the same platform, you can set a default emulator for each platform. The default is used when launching a game unless a per-game override is set.
Per-Game Emulator Overrides
You can override the default emulator for a specific game:
- Right-click a game in your library.
- Select the option to change its preferred emulator.
- Choose a different emulator from the list.
This is useful when a specific game runs better on a particular emulator.
When launching a game, RetroVoid checks in this order:
- The game's preferred emulator (if set)
- The platform's default emulator (if set)
- Special handling for Windows games (direct launch) and Steam games (
steam://URL) - Error if no emulator is configured
RetroArch Integration
RetroVoid has special integration with RetroArch for managing cores.
Setting Up RetroArch
- Install RetroArch on your system.
- In RetroVoid Settings, set the RetroArch path (path to the RetroArch executable).
- Set the RetroArch cores path (path to RetroArch's
cores/directory).
If you don't set a cores path, RetroVoid checks these default locations:
| OS | Default Core Paths |
|---|---|
| macOS | ~/Library/Application Support/RetroArch/cores |
| Windows | %APPCONFIG%/RetroArch/cores, %APPDATA%/RetroArch/cores, C:/RetroArch/cores |
| Linux | ~/.config/retroarch/cores |
Core Scanning
RetroVoid scans the cores directory for libretro core files:
- macOS:
*_libretro.dylib - Windows:
*_libretro.dll - Linux:
*_libretro.so
Display names are derived from the filename (e.g., snes9x_libretro.so → "Snes9x").
Important: Core scanning helps you see which cores are available, but you must still manually include the core path in your RetroArch launch arguments (e.g.,
-L /path/to/snes9x_libretro.so "{rom}"). Cores are not automatically assigned to platforms.
Special Platform Handling
Some platforms have unique launch behavior in RetroVoid:
| Platform | Behavior |
|---|---|
| Windows | Native .exe games launch directly, no emulator needed |
| Steam | Launches via steam:// URL protocol |
| PS3 | Automatically converts PS3_DISC.SFB path to PS3_GAME/USRDIR/EBOOT.BIN for RPCS3 |
| Wii U | Converts meta.xml path to the .rpx file in the code/ folder for Cemu |
| ScummVM | Launches via scummvm [game-id] command |
Emulator Working Directory
When RetroVoid launches an emulator, it sets the working directory to the emulator's own directory. This ensures emulators can find their configuration files and dependencies, important for emulators like ShadPS4 that require relative paths.
Removing an Emulator
To remove an emulator from RetroVoid:
- Open Settings and navigate to the emulators section.
- Select the emulator.
- Click Remove.
Note: This only removes the emulator from RetroVoid's configuration. It does not uninstall the emulator itself.
Supported Emulators
RetroVoid works with any emulator that accepts a ROM path as a command-line argument. For a reference list of tested emulators and their launch arguments, see Supported Emulators.