An All-in-One, Multi-platform Emulator frontend for the libretro API.
Unlike standalone emulators, RetroArch uses a library file called a ‘libretro core’ for each console. This allows all emulators to use one menu screen, as well as load custom shaders, filters, playlists, and many more advanced features.
sudo add-apt-repository ppa:libretro/testing
sudo apt-get update
sudo apt-get install retroarch
The official Linux distribution of RetroArch and the libretro ecosystem.
Transforms a small computer into a full blown game console.
You can download a zip file of all cores or individually through the RetroArch Online Updater Menu.
- Click the blue checkmark on the "latest" folder and click the download icon
- Create cores folder in the main directory
- Unzip cores to folder
You can launch games from GUI binary/shortcut or Terminal using the command-line.
retroarch -L "/Path/To/libretro/core.so" -c "/Path/To/Config.cfg" "/Path/To/Game.rom"
Enable RetroArch In Command Prompt
- Control Panel → System and Security → System → Advanced system settings
- Advanced Tab → Environment Variables → System variables → Path
- Add C:\Path\To\RetroArch (Separate multiple paths with semicolon ;)
retroarch -L "C:\Path\To\RetroArch\cores\core.dll" -c "C:\Path\To\Config.cfg" "C:\Path\To\Game.rom"
Place in \RetroArch\system\ directory.
Note: No roms, bios or copyrighted game files are hosted or linked on this site.
Core Compatibility List
Video Thread: Off
Correct BIOS zip in ROM folder
Press Right Arrow for OK
|Neo Geo||FB Alpha|
|Nintendo||Nestopia UE||NSTC Filter, Palette|
|Nintendo 64||Mupen64Plus||GFX Plugin: glide64
CPU Core: dynamic_recompiler
Texture Filtering: N64 3-Point
|Game Boy||Gambatte||GB Colorization: auto
Internal Palette: Blue
Color correction: on
|Game Boy Color||TGB Dual||Default|
|Game Boy Advance||mGBA||Skip BIOS intro: On|
|Nintendo DS||DeSmuMe||CPU cores: 1-4
CPU mode: JIT
PCSX ReARMed (Pi/Mobile)
|CPU Overclock: On
Skip BIOS: On
Texture Filtering: bilinear
GTE Pixel Accuracy
|PSP||PPSSPP||Rendering Mode: buffered
Texture Scaling: hybrid_bicubic
Anisotropic Filtering: 16x
Internal Shader (Optional)
|Master System||Genesis Plus GX||NSTC Filter|
- Main Menu → Add Content
- Scan Directory → Scan This Directory (Checksums must match or games won't appear)
- Go back to Home Screen
- Settings → Playlists → Set each Playlist's Default Core
- In the Main Menu you will now see a Playlist for each console.
First set up the Default configuration retroarch.cfg to use as a template for each Core. Configuration files are saved to \config\.
- Load Core
- Save New Config
- It will save it as snes9x_libretro.cfg, for example.
- Use Load Configuration to select the cfg.
Creates a config file that will load automatically and override the default retroarch.cfg when launching a game.
Useful for different Keyboard, Controller, Video & Audio settings per Core.
- Create a New Folder with the same name as the Core, such as \config\Snes9X\.
- Create a cfg file with the same name as the folder, Snes9X.cfg.
- It should now look like this \config\Snes9X\Snes9X.cfg.
- Using a text editor, add only the lines you want to override.
- Follow the Configuration and Simple instructions above.
- Create a config file, such as snes9x_libretro.cfg, and copy the entire contents to \config\Snes9X\Snes9X.cfg
- To make future changes you will need to Load Configuration and then Save Current Configuration, or use a text editor.
|Windowed Fullscreen Mode||Off (Decrease input lag), On (Faster window switching)|
|Aspect Ratio||Custom (Uses Viewport) or Choose a preset such as 4:3|
|Custom Viewport||Set desired width/height and aspect ratio|
|Windowed Scale||Adjust to fit Windowed size|
|Integer Scale||On (Prevents warped pixels keeping 1:1 ratio)|
|HW Biliner Filtering||Off|
|Threaded Video||Off (Turn On to reduce stuttering)|
|Hard GPU Sync||On|
|Hard GPU Sync Frames||0 (Increase to 1 to reduce audio crackling)|
|Video Filter||N/A or a Filter such as NTSC|
G-Sync / FreeSync
|In your cfg file, set:||audio_rate_control = "false"|
|Audio Latency (ms)||64 (Increase to reduce stutter)|
|Menu Toggle Gamepad Combo||Start + Select (This will bring up the Quick Menu during gameplay)|
|Input User 1 Binds||User 1 Bind All
(Set your gamepad buttons. Let time out for missing buttons.)
|History List Enable||On|
Set each Console Playlists default cores.
Set the default folders to be loaded at startup.
Automatic: Main Menu → Online Updater → Thumbnails Updater
Manually: from https://github.com/libretro/libretro-thumbnails (Large download). You can save individual ones for just the games you have.
Place in \RetroArch\thumbnails\ directory using the exact folder paths and names as in the download.
Thumbnail filename must match the ROM's in-game Title. If that doesn't work, try the ROM's filename.
RetroArch Playlists only recognize game filenames from Redump.
If your game will not start, download the proper cue sheets and dat files here.
You can access this menu after loading a Core or during gameplay by pressing Start + Select on gamepad or Enter + Shift on keyboard.
If using a gamepad you will need to set the button combo. Go to Settings → Input → Menu Toggle Gamepad Combo.
Core-specific options can be set here, such as overclocking and rendering effects
Config file is located at \RetroArch\config\retroarch-core-options.cfg
Load and Apply Shader Presets here in the Quick Menu.
Save Files are located in \RetroArch\saves\ and can be transferred between cores.
Save State files are located in \RetroArch\states\ and can only be used with the core that created the save.
Project64 - pj64tosrm Tool. Drag and drop into the exe to convert sra/eep/mpk/fla saves to srm.
PS1 to PSP - PSX-PSP Memcard Tool. Converts PS1 .mcr to PSP/PS1 .vmp and back.
Game Boy .srm to .sav
Drag and drop the .srm save file onto the .exe.
Rename the .srm file to .sav.
Caution: Shaders may cause your PC or Laptop to run hot. Use a temperature monitor such as Speccy.
These are included in common-shaders-master.zip
Highly configurable with Aperture Grille, Slot Mask, EDP Shadow mask options.
Kurozumi Edition - Configured to look like Sony's PVM/BVM monitors.
|Hyllian||Goal is picture quality. Another version CRT-Hyllian Fast, twice as fast and smoother. Runs well on low end systems.|
|Glow||By Maister, similar to CRT-Hyllian Glow.|
|Caligari||Older shader, by xythen, for 3x scaling or higher. Dark scanlines with phospher bloom.|
|Geom||Aperture Grille with dot mask. Standard/Sharpness/Halation.|
|Lottes||Along the style of a really good CGA arcade monitor. Shadow mask rotated 90 degrees for less chromatic aberration.|
|Easymode||Lightweight, works well on low end graphics cards and laptops.|
|GTU||Highly configurable. No phosphor or shadow masks. Sharp, blur, contrast, gamma, and scanline settings. GTUv050 Cg, GTUv040 Quark, GTU-Famicom Cg, GTUv50 Test program.|
RF, Composite, S-Video, RGB
Can be applied in Settings → Video → Video Filter, and sometimes in Core Options under Quick Menu → Options.
Crash after changing Menu/Video Driver
Using a text editor, open the cfg or dll.cfg file located in \RetroArch\config\ that is having problems.
Manually change the line menu_driver = or video_driver = back to it's original value, usually "xmb" or "rgui".
Scan Directory/File won't add to Playlist
You can try manually editing the Playlist's file, located in the \RetroArch\playlists\ directory and add the game's Path and CRC32 number.
Search on http://superfamicom.org for the number.
C:\Path\To\Final Fantasy V (Japan).sfc
Final Fantasy V (Japan)
Nintendo - Super Nintendo Entertainment System.lpl
Online Updater Not Working
Try running RetroArch as Administrator.
PS1 Game won't launch
If the game is in CCD+IMG format, download it's CUE file from http://redump.org.
Open the CUE file with a text editor. Match the filename and change .bin to .img.