iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
RetroArch is not an emulator by itself. It is a frontend that loads separately installed libretro cores—the emulator engines that run NES, SNES, PlayStation, arcade, and other systems. A working setup therefore has three parts: RetroArch, at least one compatible core, and legally obtained game content. Some systems also need BIOS files.
This guide uses the current stable desktop release, RetroArch 1.22.2. The menu names are based mainly on the Windows desktop edition, but the same setup principles apply to Linux, macOS, and Android.
Choose the right RetroArch edition
Download RetroArch from the official platforms page. Choose Stable unless you specifically need a recent fix or feature. Nightly builds contain daily GitHub changes and can be less reliable.
Recommended Free Tools
For a complete desktop installation, use the standalone edition rather than assuming every store version has the same features.
#1 Best Overall
- With broad game support, the Logitech Gamepad F310 works with old standbys to today's biggest titles, so it's easy to set up and use with your favorite games.
- Profiler software allows the gamepad to be programmed to perform keyboard and mouse commands for games without gamepad support.* * Requires software installation.
- A familiar control layout that doesn't require a learning curve to be able to use, with all the same buttons as on an Xbox 360.
- The unique floating D-pad rests on four switches-instead of a single pivot point-making it responsive to quick changes in direction.
- The six-foot cord lets you lean back and play a comfortable distance from your PC monitor.
| Edition | What to know |
|---|---|
| Standalone Windows/Linux/macOS | Best choice for the full feature set and built-in updater. |
| Steam | No Core Updater, no thumbnail scraping, and only selected cores are downloadable through Steam. |
| Google Play | The official site marks these versions as outdated and recommends the official APK or another app store. |
| Nightly | Contains newer daily builds, but may introduce bugs. |
Windows download choices
The official Windows page provides 64-bit and 32-bit installers, as well as portable downloads. Use the Installer (64bit) on almost every modern Windows 10 or Windows 11 PC. Choose 32-bit only when you know the computer requires it.
A Nightly download may instead contain RetroArch.7z or a file named like RetroArch-20XX-XX-XX-setup.exe. Extract the archive to a folder you control, such as C:RetroArch, rather than burying it in a temporary Downloads folder.
Install RetroArch and create a sensible folder layout
After installation, create separate folders for games, saves, states, BIOS files, and cores. For example:
C:RetroArchromsNES
C:RetroArchromsSNES
C:RetroArchsystem
C:RetroArchsaves
C:RetroArchstates
C:RetroArchcores
Your games can be stored elsewhere, including on another drive. Separating them from RetroArch’s program and configuration files makes upgrades and backups easier.
On first launch, RetroArch may create its configuration and support directories automatically. To change where it stores data, open:
Settings → Directories
Select a directory, such as System/BIOS, Savefile, Savestate, Cores, or File Browser, then navigate to the desired folder with the File Browser.
| Directory | Purpose |
|---|---|
| System/BIOS | BIOS and other system files required by some cores. |
| Savefile | Permanent in-game battery saves. |
| Savestate | Instant save-state files created by RetroArch. |
| File Browser | The starting location used by Main Menu → Load Content. |
| Cores | Installed libretro emulator cores. |
The Windows guide may call the browser setting Browser Directory, while the general directory menu calls it File Browser. They control the same general purpose: where content browsing begins.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsWhere is RetroArch’s configuration file?
Use Main Menu → Configuration File → Save Current Configuration. RetroArch displays the path it saved in an on-screen notification. This is more reliable than guessing, especially when using a portable installation, Flatpak, Steam, or a store package.
Inside the configuration file, the relevant variables are libretro_directory for cores and system_directory for BIOS files.
Install your first core
RetroArch needs a core before it can run a game. A core is selected for the original console or arcade platform, not simply because it accepts a particular file extension.
Rank #2
- 【Supported Operating System】The Game Controller is specifically designed for playing classic old school retro snes games on computer or laptop. Compatible with Windows 98 / ME / Vista / 2000/2003 / XP / 7 / 8 / 8.1 / 10/11, Mac OS X/ OS X 10.0 and beyond, Raspberry Pi, Raspberry PI 2 model B,Model A, Raspberry Pi 1 Model B+, Raspberry Pi 2,Raspberry Pi OS, Raspberry Pi 3 Model B+, Raspberry Pi 3, Raspberry Pi Zero.
- 【Simple USB Plug and Play】If your program or application accepts USB controller input, this classic game controller do not need install drivers or patches. 1.5 meter external cable(approx. 5 ft. Long). Notice: Please download the game emulator first before start the games, and then you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. If on the Steam platform, you need to first enable Steam's "Universal Controller Configuration Support" and then restart Steam. After entering the game, you also need to manually bind key positions in the game
- 【High Sensitivity without Delay】Super sensitive buttons for precision control: 6 fire buttons, a 'Start' button and a 'Select' button, motion control cross. Play your favorite old school games with classic retro feel. Fits perfectly in the hand and also perfect for two player action.Note: Not applicable to Switch/PS games. Not Compatible with TV/ TV Box, third Mini Games Box and Tesla Model 3
- 【Supported Game Emulators】The game controller works with most emulators. Download any emulator you wish to download and use from Google and do the same with ROMS. Notice:Third party controller, not original controller. But it works phenomenal with the Raspberry Pi game emulation and so on
- 【Product Service】If you have any problem during use, send message to us and we will help you to solve the problem soon
- Open Online Updater.
- Select Core Downloader.
- Choose a core, such as Nestopia or Mesen for NES, Snes9x for SNES, or a suitable PlayStation core.
If Core Downloader is not visible, enable it through:
Free tools Windows power users keep installed
One-click scans. No signup required.
Settings → User Interface → Menu Item Visibility → Show Core Downloader
Then return to Online Updater → Select Core Downloader.
On Ubuntu installations from the RetroArch PPA, the interface Core Downloader is disabled. Install cores through APT instead. For example:
sudo apt-get install libretro-nestopia
You can also start typing the documented package pattern and use shell completion:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutesudo apt-get install libretro-
PPA-managed cores may be installed in a location that is not writable by RetroArch. Changing the core directory only helps if you point it to a different writable directory; it does not override the package manager’s permissions.
After installing a core, its name and version appear in the lower-left corner of the Ozone, XMB, and RGUI interfaces. GLUI shows this information in its notification bar.
Add BIOS files when a core requires them
Many cartridge systems work without BIOS files. Some CD-based systems and handhelds do not. PlayStation and PSP cores are common examples where correctly named BIOS files may be required for reliable operation.
Put BIOS files in the configured System/BIOS directory—not in the ROM folder. BIOS requirements and filenames are core-specific, so check the documentation for the exact core. RetroArch does not provide copyrighted BIOS files or game content.
Launch a game manually
The most dependable first test is a manual launch:
- Open Main Menu → Load Core.
- Select the core that matches the game’s original system.
- Open Main Menu → Load Content.
- Browse to the ROM or disc image.
- When prompted, select Current Core.
If several cores can read the same extension, RetroArch asks you to choose one. Do not choose at random. A file extension alone does not identify the correct emulator; use the core intended for the platform and content type.
Rank #3
- ✅【Compatibility】Compatible with Raspberry Pi, Windows PC, Linux ,Mac. Specifically designed for playing classic old school retro snes games on computer or laptop.This is the USB controller what has a USB plug for PC, NOT compatible for Original SNES super Nintendo console
- ✅ 【Ergonomic Design】Super precise cross key and function buttons,the cross direction key adopts frosted concave design,anti-sweat and anti-slip.The shape of the controller is designed to fit the contour of your hands,easy and comfortable to hold.
- ✅ 【Advanced Game Experience】PC running operating system:Windows 98/2000/ ME/XP/Vista/Win7/8/8.1/11 or later,or Mac running OS X 10.0/Mac OS X or above.It works with most of emulators you wish to download and use,such as VirtuaNES(PC),sens9x,Zsens,sensgt,Uosnesw,RetroArch,OpenEmu(MAC),NESEmu and Jnes etc.
- ✅ 【Wired USB Connection】Standard USB 2.0 port with a 1.5 meters (5ft) cable, don't need to install any drivers, you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. Notice: please download the game emulator first before start the games, you can download the emulator “VirtuaNES” on PC and “OpenEmu”on MAC.
- ✅【Satisfaction】Third party controller(USB Version), not for original snes console and not support for switch. If there is an incompatibility on MAC or Raspberry Pi , please contact the seller for a support.
Every game you successfully launch is added to the History playlist, even if you never scan your entire collection.
Close a game safely
During gameplay, press the default desktop Quick Menu key, F1, and choose Close Content. This closes the game and its core and returns to the Main Menu.
On PC, pressing Esc twice quits RetroArch. That can close the program without saving configuration changes, so use Close Content when you only want to stop the game.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →ROMs, ZIP files, and disc images
ROMs may be stored anywhere RetroArch can access. System-named subfolders are optional but make a large collection easier to manage.
ZIP files are not automatically wrong. They are commonly used for cartridge and arcade workflows. RetroArch can handle an archive in two different ways:
- Browse archive opens the ZIP so you can select a file inside it.
- Load archive passes the archive to the core as an image or archive.
Disc-based content—such as CD images—should generally remain unzipped. Keep the image and any required cue, bin, chd, or related files arranged according to the core’s requirements. A missing cue sheet or incorrectly separated disc files can prevent an otherwise valid game from starting.
Import a collection into playlists
Playlists provide system menus, labels, core associations, and artwork. Before scanning, refresh RetroArch’s recognition data:
- Open Online Updater → Update Core Info Files.
- Choose Online Updater → Update Databases.
- Restart RetroArch.
Then use:
Playlists → Import Content
On some installations, Import Content appears directly on the Main Menu. You can change that location through Settings → User Interface → Menu Item Visibility → Show ‘Import Content’.
Automatic scan
- Open Import Content.
- Choose Scan Directory.
- Select the folder containing your games.
- Start the scan and wait for it to finish.
The scan is recursive, so selecting a parent folder also scans its subfolders. A large collection may take several minutes.
Automatic scanning is deliberately strict. RetroArch normally requires the ROM’s CRC checksum or the disc serial to match its libretro database. A game can run perfectly when loaded manually yet fail to appear in a playlist because of a different dump, filename, checksum, serial, or missing database entry. A compatible core should already be installed unless you enable Scan Without Core Match.
Rank #4
- ✔ Compatible with Windows98/ME/Vista/2000/2003/XP/7/8/8.1/10; Mac OS X and beyond ; Emulators ;Raspberry Pi ;Raspberry PI 2 model B ;Retro Pi OS; Retropi System.
- ✔ Simple USB plug and play, no drivers and software required. Note: If you have trouble with using this, make sure it is plugged in before starting your emulator. Also go into input settings and you may have to map the buttons.
- ✔ Work with any emulator you wish to download and use. Google S-N-E-S emulator and then the same for Roms. Way better than normal joypad and keyboard and mouse playing to really enjoy the emulator experience.
- ✔ Super sensitive buttons for precision control, Eight-way directional pad and six digital buttons. Play your favorite old school games with authentic retro feel. Arrowed D-pad, concave X and Y buttons, convex A and B buttons, rubber start and select buttons. Cord is approx. 5 ft. Long, providing a comfortable distance while playing.
- ✔ If you want to play S-N-E-S, N-E-S, PSX, Atari, Genesis, or any other types of this vintage of games... get this. You will not regret it. NOTE:Third party controller, not original S-N-E-S / N-E-S controller. But it works phenomenal with the Raspberry Pi game emulation and so on.
Loose or custom scanning
Use a loose/custom scan when database recognition is not important or your files are unusual. It can add unmatched content, but those entries may have no thumbnails and will not appear in the Explore menu. A successful scan does not necessarily mean RetroArch recognized the game against its database.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Download thumbnails without breaking custom artwork
For recognized playlists, open:
Online Updater → Playlist Thumbnails Updater
Select the console or system playlist. Thumbnail matching depends on the playlist and game names matching the names used by the thumbnail server. Manually scanned entries may launch normally but receive no artwork.
RetroArch can overwrite a custom thumbnail when the server has a thumbnail for the same game. If preserving custom artwork matters, back it up before running a full thumbnail update.
On-demand matching based on ROM filenames is disabled by default. Enable it through:
Settings → Playlist → Use filenames for thumbnail matching
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
RetroArch 1.17.0 and later can try an individual thumbnail up to three times using flexible matching. The same three-attempt behavior applies when browsing with the on-demand downloader. The old advice to download a complete thumbnail pack is no longer the documented workflow.
Understand playlist files before editing them
RetroArch 1.7.5 and later uses JSON playlists with the .lpl extension. The older six-line format still works for backward compatibility but is deprecated.
A current JSON playlist entry looks like this:
{
"version": "1.0",
"items": [
{
"path": "C:\retroarch\downloads\alienar.zip",
"label": "Alien Arena",
"core_path": "DETECT",
"core_name": "DETECT",
"crc32": "01ACE2AB|crc",
"db_name": "MAME 2003-Plus.lpl"
}
]
}
Path separators depend on the operating system:
- Use forward slashes,
/, on Linux, macOS, and Android. - Use backslashes,
, on Windows and DOS. - In Windows JSON strings, escape each backslash as
\.
Before manually editing a playlist, close RetroArch and make a backup. A malformed JSON file or incorrect path can make the playlist disappear.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Arcade games need a different approach
Arcade emulation is not interchangeable in the same way as console emulation. Arcade cores expect core-specific ROM sets. A game may fail because:
- the ROM set is incomplete;
- the set targets a different core version;
- a parent ROM or BIOS file is missing;
- the archive is a split or merged set being used incorrectly;
- the platform does not provide a compatible core.
Changing cores at random rarely fixes this. For beginners, a complete Full Non-Merged set is the simplest arrangement because each game’s archive contains the files it needs.
Best Value
- Wired Controller, USB cable: 1.8M.
- Compatible with Switch (version 3.0.0 or above), Windows, Raspberry Pi devices.
- Rumble vibration.
- Support turbo function.
For an arcade playlist, use a custom scan with the correct DAT file rather than relying on the normal automatic database scan. Be careful with scanner or rebuilder options such as Fix and Remove Matched Sourcefiles: they can rename or delete ROM files. Make a backup before using them.
Launch RetroArch from a command line
The basic Unix-style command is:
retroarch -L /path/to/libretro/core.so game.rom
For example, a Flatpak installation might use:
flatpak run org.libretro.RetroArch/x86_64/stable
-L /home/MYUSERNAME/.var/app/org.libretro.RetroArch/config/retroarch/cores/nestopia_libretro.so
Tetris.nes
On macOS, the executable inside the application bundle is:
/Applications/RetroArch.app/Contents/MacOS/RetroArch
The Steam command-line form is:
steam -applaunch 1118310
-L "/path/to/steamapps/common/RetroArch/cores/nestopia_libretro.so"
"/path/to/Tetris.nes"
Steam has a documented problem passing command-line arguments containing spaces. Keep the content filename free of spaces when launching this way.
Useful command-line options include:
retroarch --verbose
retroarch --help
retroarch --features
retroarch --config customconfig.cfg
retroarch --config baseconfig.cfg --appendconfig specialconfig.cfg
Use --verbose when troubleshooting or reporting a bug. If you start RetroArch without content and want it to remain open at the menu, add --menu; otherwise it may close immediately.
Common setup problems
| Problem | Likely cause and fix |
|---|---|
| Core Downloader is missing | Enable Show Core Downloader under Settings → User Interface → Menu Item Visibility. |
| Game loads to a black screen | Check that the core matches the platform, the dump is valid, and required BIOS files are in the configured System/BIOS folder. |
| Game runs manually but is absent from a playlist | The strict scanner did not match its checksum, serial, filename, or database entry. Try a loose/custom scan. |
| Playlist entries show no artwork | The entry name may not match the thumbnail server, especially after a manual scan. Enable filename matching if appropriate. |
| Arcade game reports missing files | Use the ROM set intended for that exact core and verify parent, BIOS, and set dependencies. |
| Cannot install an Ubuntu core | Use the package manager, for example sudo apt-get install libretro-nestopia, and check that the configured core directory is readable. |
| Configuration changes vanished | Exit through RetroArch’s menu and save the configuration. Pressing Esc twice may quit before changes are written. |
Back up the important folders
Once the setup works, back up the RetroArch configuration directory along with your saves, states, playlists, and custom thumbnails. Keep BIOS files separate and document which core version works with each arcade collection. This saves considerable time after a reinstall or when moving to another computer.
FAQ
Is RetroArch an emulator?
No. RetroArch is a frontend. It uses separately installed libretro cores, and each core provides the emulator or engine for a particular system.
Which RetroArch version should I install?
Use the current stable release, 1.22.2, unless you specifically need a Nightly feature or fix. Nightly builds receive daily changes and may be less stable.
Why does RetroArch say no core is available?
Install a compatible core through Online Updater → Core Downloader. If Core Downloader is hidden, enable Settings → User Interface → Menu Item Visibility → Show Core Downloader.
Do ROMs have to be unzipped?
No. ZIP files are valid for many cartridge and arcade workflows. Disc-based content such as CD images should generally not be zipped, and some cores require particular cue, bin, CHD, or related files.
Why did my game not appear after scanning?
The automatic scanner is strict and normally requires a checksum or disc serial match in the libretro database. A playable game can still fail that match. Use a loose/custom scan if necessary.
Where do BIOS files go in RetroArch?
Place them in the directory configured under Settings → Directories → System/BIOS. Do not put them in the ROM directory unless a particular core’s documentation explicitly requires a different arrangement.
Recommended Free Tools
Can RetroArch run arcade ROMs from any MAME set?
No. Arcade cores require core-specific ROM sets. Missing parent files, BIOS files, or dependencies, or using a set built for another core, can stop a game from launching.
The Bottom Line
A reliable RetroArch installation is straightforward when you treat it as a frontend rather than a single emulator: install the standalone version, configure its directories, install the correct core, add BIOS files only when required, and test one game manually before importing a full collection. Use strict scanning for recognized libraries, custom scanning for unmatched files, and core-specific ROM sets for arcade games.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

