RetroArch can turn an Android handheld, phone, tablet or Windows PC into one organised system for playing games from dozens of classic consoles and computers. However, RetroArch is not a single emulator and it does not arrive ready to play every system automatically.
RetroArch is a frontend that loads separate emulator modules called cores. Each core has its own supported file formats, firmware requirements, controller options, graphics settings and compatibility limitations. A reliable setup therefore depends on more than installing RetroArch and pointing it towards a folder full of games.
This guide covers:
- Installing the official RetroArch build on Android.
- Installing RetroArch on a Windows 10 or Windows 11 PC.
- Creating an organised ROM, BIOS, save and backup structure.
- Installing suitable emulator cores.
- Configuring controllers, hotkeys, video, audio and touchscreen overlays.
- Adding games to RetroArch playlists.
- Using core, folder and game-specific overrides.
- Setting up shaders without affecting every system.
- Managing normal saves and save states.
- Moving or synchronising saves between Android and PC.
- Backing up and recovering a RetroArch installation.
RetroArch does not include commercial games or console BIOS files. Use game backups and firmware dumped from hardware and software you own.
In This Article
- What RetroArch Actually Is
- The Correct Setup Order
- Create The Folder Structure
- Install RetroArch On Android
- Install RetroArch On Windows PC
- Complete The First Launch
- Update RetroArch Support Files
- Configure Directories On Android
- Configure Directories On Windows
- Install Emulator Cores
- Recommended Starting Cores
- Configure BIOS & Firmware Files
- Configure Android Controls
- Configure Windows Controllers
- Configure Local Multiplayer
- Configure RetroArch Hotkeys
- Configure Video Settings
- Configure Audio Settings
- Launch The First Game Manually
- Create RetroArch Playlists
- Use Manual Scan For Missing Games
- Download Cover Artwork
- Configure Core Options
- Create Core & Game Control Remaps
- Create Core, Folder & Game Overrides
- Configure Android Touchscreen Overlays
- Configure Shaders
- Configure Normal Saves & Save States
- Synchronise Saves Between Android & PC
- Configure Multi-Disc Games
- Update RetroArch Safely
- Back Up The Complete Setup
- Detailed Troubleshooting
- Final Setup Checklist
- Official Downloads & Documentation
What RetroArch Actually Is
RetroArch is a frontend for software built around the Libretro interface. The individual programs loaded inside RetroArch are called cores.
For example:
- RetroArch is the main application and menu system.
- Gambatte is a core for Game Boy and Game Boy Color.
- mGBA is a core for Game Boy Advance.
- Snes9x is a core for Super Nintendo.
- Genesis Plus GX is a core for several Sega systems.
- FinalBurn Neo is a core for supported arcade and Neo Geo games.
RetroArch handles shared features such as controller input, hotkeys, playlists, shaders, screenshots, save directories and frontend menus. The core performs the actual emulation.
One system can have several different cores. A more accurate core may require more processing power, while a lighter core may perform better on a slower Android device. Installing every available core makes the setup harder to manage. Start with one core per system and add alternatives only when a particular game requires one.
The Correct Setup Order
Complete the setup in this order:
- Create the ROM, BIOS, save, state and backup folders.
- Install the official RetroArch build.
- Run the Online Updater.
- Configure the System/BIOS, Save Files, Save States and File Browser directories.
- Install one core for each required system.
- Add and verify any required BIOS files.
- Configure and test the controller.
- Create safe hotkey combinations.
- Launch one game manually.
- Create playlists one system at a time.
- Test a normal in-game save.
- Configure core options, remaps, overrides and shaders only after basic emulation works.
- Back up the working setup.
Do not begin by scanning a complete multi-system library. Test one or two games for each core first. This makes it much easier to identify whether a problem is caused by the core, BIOS, game format, controller, directory or playlist.
Create The Folder Structure
Create the following structure before configuring RetroArch:
RetroArch ├── BIOS ├── ROMs │ ├── Arcade │ ├── Atari 2600 │ ├── Dreamcast │ ├── Game Boy │ ├── Game Boy Advance │ ├── Game Boy Color │ ├── Game Gear │ ├── Mega Drive │ ├── Neo Geo │ ├── NES │ ├── Nintendo 64 │ ├── PC Engine │ ├── PC Engine CD │ ├── PlayStation │ ├── Sega CD │ └── SNES ├── Saves ├── States ├── Screenshots ├── Controller Profiles └── Backups
Android Folder Location
On Android, open the Files application and create the main RetroArch folder in shared internal storage:
Internal Storage/RetroArch
A removable microSD card can also be used:
microSD Card/RetroArch
Using shared storage makes ROMs, BIOS files, saves and backups easier to access from a computer.
Windows Folder Location
On Windows, create the folder somewhere that does not require administrator permission. Suitable examples include:
C:\Users\YourName\Games\RetroArch
or:
D:\RetroArch
Avoid placing a portable RetroArch installation inside:
C:\Program Files
Windows can restrict writing to protected folders, preventing RetroArch from updating cores, saving configurations or creating playlists correctly.
Undoing A Folder Change
Renaming or moving a folder after RetroArch has been configured breaks its stored path. Before moving anything, record the existing directory shown under RetroArch’s Directory settings.
After moving a folder, return to the relevant Directory option and select its new location. Do not delete the original folder until the new path has been tested with a game and a normal save.
Install RetroArch On Android
Open a web browser on the Android device and visit the official RetroArch download page.
Select the current Stable Android build. On a modern 64-bit Android handheld, phone or tablet, choose the AArch64 or 64-bit APK. The universal build can be used when the device architecture is uncertain.
Do not use the old Google Play versions for a new setup. The official Libretro documentation states that these builds have not been updated for years because of Play Store policy changes.
Once the APK has downloaded, open the Android Files application, select Downloads and press the RetroArch APK.
If Android reports that the Files application or browser is not allowed to install unknown applications, press Settings on the warning screen and enable Allow From This Source. Press Back to return to the installer and select Install.
If Google Play Protect displays a warning, verify that the APK came directly from the official RetroArch website and select Install Anyway where that option is available.
When installation finishes, select Open.
RetroArch should display its main menu. The default interface is normally the Ozone menu, with a vertical list of sections and icons.
Remove The Temporary Installation Permission
After RetroArch has installed, open:
Android Settings > Apps > Special App Access > Install Unknown AppsSelect the browser or Files application used to open the APK and disable Allow From This Source.
On Android versions where that exact path is not shown, use the Settings search box and search for:
install unknown apps
Uninstall RetroArch
Back up saves, states, BIOS files and controller profiles before uninstalling.
Open:
Android Settings > Apps > See All Apps > RetroArchSelect Uninstall and confirm the warning.
Files stored in the shared RetroArch folder should remain, but application-owned files and private configuration data can be removed during an uninstall.
Install RetroArch On Windows PC
Download the current Stable 64-bit Windows release from the official RetroArch download page.
Windows users can choose between the installer and the portable 7z archive.
Portable Installation
The portable archive is the easiest version to move and back up.
Download the 64-bit RetroArch.7z package, then right-click the downloaded archive and extract it using Windows, 7-Zip or another archive utility.
Extract it to a writable location such as:
C:\Users\YourName\Games\RetroArch
or:
D:\RetroArch
Open the extracted folder and double-click:
retroarch.exe
The main RetroArch menu should appear.
To remove a portable installation, back up the folder and then delete it. Because the configuration, cores and playlists are normally stored inside the portable directory, deleting the folder removes the complete installation.
Installer Version
Alternatively, download the Windows setup package and run it.
Follow the installation wizard, keep the default installation options unless there is a reason to change them and allow the installer to finish.
Open RetroArch from the Start menu. The main menu should appear.
The installer can later be removed through:
Windows Settings > Apps > Installed Apps > RetroArchBack up the RetroArch directories before uninstalling.
Create A Desktop Shortcut For A Portable Installation
Right-click retroarch.exe, select Show More Options where required, then select:
Double-click the new shortcut and confirm that RetroArch opens.
Deleting the shortcut later does not delete RetroArch itself.
Complete The First Launch
Do not change the video driver, audio driver or menu driver immediately.
First confirm that the default interface works, the controls can navigate the menu and RetroArch can connect to its update servers.
On Windows, the keyboard can be used to navigate:
- Arrow keys: move through the menu.
- Enter: select.
- Backspace: return to the previous menu.
- Escape: quit RetroArch.
On Android, use the touchscreen or the device’s physical controller.
Before changing anything else, open:
Main Menu > Configuration File > Save Current ConfigurationA message should briefly appear confirming the location of retroarch.cfg.
On Android, return to the Main Menu and select Quit RetroArch. Reopen the application and confirm that the menu loads normally.
Using RetroArch’s own Quit command is particularly important on Android because force-closing the application can prevent recent configuration changes from being written.
Update RetroArch Support Files
Connect the Android device or PC to the internet and open:
Main Menu > Online UpdaterSelect the following items one at a time, waiting for each one to finish before starting the next:
- Update Core Info Files.
- Update Assets.
- Update Controller Profiles.
- Update Databases.
- Update Overlays.
- Update Cheats.
- Update Shaders for the shader format shown by the current build.
A completion notification should appear after each download.
Updating Core Info Files allows RetroArch to display current information about installed cores. Updating Databases improves automatic content scanning. Updating Controller Profiles refreshes the controller autoconfiguration files.
If Core Downloader Is Missing
Open:
Settings > User Interface > Menu Item VisibilityEnable Show Core Downloader.
Return to the Online Updater. Core Downloader should now be visible.
To hide it again, return to Menu Item Visibility and disable the same option.
If The Updater Fails
Confirm that another application can access the internet.
On Android, check that the device’s date and time are correct. On Windows, confirm that security software has not blocked retroarch.exe.
Restart RetroArch and try one update at a time.
If only core downloads fail, check:
Settings > Directory > CoresThe selected Cores directory must be writable. Restore the original Cores directory if the problem began after changing it.
Configure Directories On Android
Open:
Settings > DirectorySet The BIOS Directory
Select System/BIOS.
Browse to:
Internal Storage/RetroArch/BIOS
or the equivalent RetroArch/BIOS folder on the microSD card.
Open the folder and select Use This Directory where shown.
Return to the Directory menu. The System/BIOS entry should display the selected path.
Set The Save Files Directory
Select Save Files and choose:
Internal Storage/RetroArch/Saves
The Save Files entry should now display the new directory.
Set The Save States Directory
Select Save States and choose:
Internal Storage/RetroArch/States
The Save States entry should display the new directory.
Set The Screenshot Directory
Select Screenshots and choose:
Internal Storage/RetroArch/Screenshots
Set The File Browser Start Directory
Select File Browser and choose:
Internal Storage/RetroArch/ROMs
The next time Load Content is opened, RetroArch should begin inside the ROM folder or provide it as the starting location.
Save The New Paths
Open:
Main Menu > Configuration File > Save Current ConfigurationThen select:
Main Menu > Quit RetroArchReopen RetroArch and return to Settings > Directory. The selected paths should still be present.
Undo Or Recover
Changing a directory does not move files already stored in the previous location.
To restore an old path, return to Settings > Directory and select the original folder again.
Copy existing saves into the replacement folder before launching games. Keep the old save folder until a normal in-game save has loaded successfully from the new location.
Configure Directories On Windows
A portable Windows installation can keep most files inside the main RetroArch folder. Alternatively, separate data folders can be used on another drive.
Open:
Settings > DirectorySet the following paths:
| RetroArch Directory | Example Windows Location |
|---|---|
| System/BIOS | D:\RetroArch\BIOS |
| File Browser | D:\RetroArch\ROMs |
| Save Files | D:\RetroArch\Saves |
| Save States | D:\RetroArch\States |
| Screenshots | D:\RetroArch\Screenshots |
Select each entry, browse to the required folder and choose Use This Directory.
Save the configuration through:
Main Menu > Configuration File > Save Current ConfigurationClose and reopen RetroArch. Return to Settings > Directory and confirm that the selected paths remain.
If a path returns to its old value, confirm that the RetroArch folder is not read-only and is not inside a protected Windows directory.
To reverse a change, select the original directory again. Move existing saves before launching a game from the restored path.
Install Emulator Cores
Open:
Main Menu > Online Updater > Core DownloaderScroll to the required core and select it once.
A download notification should appear. When it finishes, return to:
Main Menu > Load CoreThe installed core should appear in the list.
Install only one starting core for each system. Alternative cores can be added later without removing the original.
Remove A Core
Open:
Settings > Core > Manage CoresSelect the unwanted core and choose Delete Core.
Confirm that the core disappears from Load Core.
Deleting a core does not normally delete ROMs or normal saves, but save-state compatibility depends on the exact core. Keep normal in-game saves before removing or replacing a core.
Recommended Starting Cores
| System | Recommended Starting Core | Android Note | Windows PC Note |
|---|---|---|---|
| Atari 2600 | Stella 2014 | Suitable for a broad range of Android hardware. | Stella is also available for more powerful systems, but Stella 2014 is a simple starting point. |
| Game Boy & Game Boy Color | Gambatte | Accurate and suitable for modern 64-bit Android devices. | Accurate and lightweight on a modern PC. |
| Game Boy Advance | mGBA | Use gpSP only when mGBA is too demanding on an older device. | mGBA is the preferred general starting point. |
| NES | Mesen | Use Nestopia UE on slower Android hardware if required. | Mesen is accurate and performs well on a modern PC. |
| SNES | Snes9x Current | Use Snes9x 2010 only on hardware that cannot run the current core properly. | Snes9x Current is the straightforward starting choice. |
| Master System, Game Gear & Mega Drive | Genesis Plus GX | Handles several Sega systems through one core. | Also supports Sega CD when the required regional BIOS is present. |
| Sega 32X | PicoDrive | Generally lighter than more demanding alternatives. | Can also be used for Mega Drive and Sega CD where required. |
| PC Engine & PC Engine CD | Beetle PCE Fast | Suitable for Android and supports CD games with the correct system card BIOS. | Suitable for Windows PC. |
| Arcade & Neo Geo | FinalBurn Neo | The ROM archive and BIOS archive must match the installed FinalBurn Neo set. | Do not mix files from unrelated MAME or FinalBurn sets. |
| Nintendo 64 | Mupen64Plus-Next | Use the GLES3 version on a GLES3-compatible Android device. | Start with the standard Mupen64Plus-Next core. |
| PlayStation | PCSX ReARMed on Android | Optimised for ARM processors and suitable for handhelds and phones. | Use Beetle PSX or Beetle PSX HW on a capable PC. |
| Dreamcast | Flycast | More demanding than older systems; configure one game at a time. | Supports Dreamcast, NAOMI and related hardware with the correct files. |
| Nintendo DS | melonDS DS | The newer melonDS DS core should be preferred over the older melonDS core. | Suitable for a modern PC and supports DSi configuration when the required files are supplied. |
| DOS | DOSBox Pure | Provides a controller-friendly start menu and can load supported ZIP files directly. | Also supports keyboard, mouse and disc-image workflows. |
GameCube, Wii, PlayStation 2, PSP and Nintendo 3DS are available through some Libretro cores, but standalone emulators are often easier to configure and update for these demanding systems. Complete the older systems first before adding high-end cores.
Configure BIOS & Firmware Files
BIOS files normally belong in the folder selected under:
Settings > Directory > System/BIOSThree things must be correct:
- The BIOS must contain the correct firmware data.
- The filename and extension must match what the core expects.
- The file must be inside the correct system directory or required subfolder.
Renaming an incorrect file does not convert it into a valid BIOS.
Check What A Core Requires
Open:
Main Menu > Load CoreSelect the core being configured, then open:
Main Menu > Information > Core InformationScroll to the Firmware section.
Required or optional files should be displayed with their expected filenames. Correctly detected firmware is marked Present. Missing firmware is marked Missing.
If a file remains missing:
- Check the System/BIOS path.
- Check the exact filename and extension.
- Check whether the core requires a subfolder.
- Verify the file’s hash against the core’s official documentation.
- Fully close and reopen RetroArch.
Common Examples
| System | Example File | Requirement |
|---|---|---|
| Game Boy Advance | gba_bios.bin |
Optional for mGBA, but useful for original boot behaviour and specific compatibility cases. |
| Sega CD Europe | bios_CD_E.bin |
Required for European Sega CD or Mega CD games in Genesis Plus GX. |
| Sega CD USA | bios_CD_U.bin |
Required for North American Sega CD games. |
| Sega CD Japan | bios_CD_J.bin |
Required for Japanese Mega CD games. |
| PC Engine CD | syscard3.pce |
Recommended system card BIOS for Super CD-ROM² games. |
| Neo Geo | neogeo.zip |
Must remain zipped and match the FinalBurn Neo ROM set. |
| PlayStation | Core-specific PlayStation BIOS filename | Check Core Information because supported filenames differ between PlayStation cores. |
Undo Or Recover
Keep a copy of the previous working BIOS before replacing it.
If a new file causes games to stop loading, remove it, restore the previous BIOS and restart RetroArch.
Do not overwrite a verified BIOS with an unverified file simply because both use the same filename.
Configure Android Controls
Connect the Bluetooth or USB controller before opening RetroArch, or use the controls built into the Android handheld.
When RetroArch detects a supported controller, a notification should briefly appear stating that the device has been configured.
Open:
Settings > Input > RetroPad Binds > Port 1 ControlsCheck the Device Index. It should display the built-in controller or connected gamepad.
Move through the listed RetroPad controls and confirm that each physical input is assigned correctly.
If the controller is not mapped correctly, select Set All Controls and press each requested button in order.
When the sequence finishes, test the D-pad, face buttons, shoulder buttons, triggers, analogue sticks, Start and Select.
Save A Custom Android Controller Profile
Android’s default controller-profile directory may be inside RetroArch’s private application storage. To make a custom profile accessible, create:
Internal Storage/RetroArch/Controller Profiles/android
Open:
Settings > Directory > Controller ProfilesSelect:
Internal Storage/RetroArch/Controller Profiles
Return to:
Settings > Input > RetroPad Binds > Port 1 ControlsSelect Save Controller Profile.
A confirmation notification should appear. Close RetroArch through Main Menu > Quit RetroArch, reopen it and confirm that the controller is detected with the saved mapping.
Undo Or Recover
To reset one binding, highlight it and press the control shown at the bottom of the menu for Reset To Default. This is normally the Start button on a controller.
To remove a binding completely, use the control shown for Remove Binding. This is normally the left face button corresponding to RetroPad Y.
If the complete mapping becomes unusable, connect a second working controller or use the touchscreen to return to Port 1 Controls and select Set All Controls again.
Configure Windows Controllers
Connect the controller before opening RetroArch.
XInput controllers, including most modern Xbox-style controllers, should normally work automatically. A notification should appear when the controller is detected.
Open:
Settings > Input > RetroPad Binds > Port 1 ControlsConfirm that Device Index shows the correct controller.
If the automatic mapping is incorrect, select Set All Controls and press each requested control.
After mapping, select Save Controller Profile.
Close and reopen RetroArch. The controller should be recognised automatically.
If Windows Detects The Controller But RetroArch Does Not
Press the Windows key, type:
Set up USB game controllers
Open the matching Control Panel result.
Select the controller and press Properties. Press each button and move both analogue sticks.
If Windows does not register the inputs, reconnect the controller, change the USB port or repair the Bluetooth pairing before changing RetroArch.
If Windows registers the controller correctly, reopen RetroArch and reselect it under Device Index.
Keyboard Controls
RetroArch can map keyboard keys to the virtual RetroPad through:
Settings > Input > RetroPad Binds > Port 1 ControlsSelect a control and press the keyboard key that should represent it.
For computer and arcade cores that need direct keyboard input, use Game Focus mode. The default Game Focus hotkey is normally Scroll Lock.
When Game Focus is enabled, RetroArch’s normal keyboard-to-RetroPad bindings and most hotkeys are temporarily disabled so the core can receive the keys directly.
Press Scroll Lock again to leave Game Focus mode.
Configure Local Multiplayer
Connect every controller before opening RetroArch.
Open:
Settings > Input > RetroPad BindsSelect Port 1 Controls and set Device Index to the first controller.
Return to RetroPad Binds, open Port 2 Controls and set Device Index to the second controller.
Repeat for additional players supported by the core and game.
Launch a multiplayer game and open its player-selection or controller-test screen. Each physical controller should operate only its assigned player.
If two controllers control Player 1, return to the Port settings and select different Device Index entries.
To restore automatic assignment, set each port back to its original Device Index or disconnect the extra controllers and restart RetroArch.
Configure RetroArch Hotkeys
Open:
Settings > Input > HotkeysThe Enable Hotkeys control acts as a modifier. When it is assigned, the other controller hotkeys only activate while that button is held.
Recommended Android Controller Hotkeys
- Enable Hotkeys: Select.
- Menu Toggle: X or L3.
- Save State: R1.
- Load State: L1.
- Fast-Forward Toggle: R2.
- Close Content: Start.
With this layout, Save State is activated by pressing Select + R1, not R1 by itself.
Launch a test game and press Select + X or Select + L3. The Quick Menu should appear.
Return to the game and press Select + R1. A save-state notification should appear. Press Select + L1 and confirm that the state reloads.
Default Windows Keyboard Hotkeys
- F1: open or close the RetroArch menu.
- F2: save state.
- F4: load state.
- Space: toggle fast-forward.
- F8: take a screenshot.
- Escape: quit RetroArch.
These can be changed under Settings > Input > Hotkeys.
Remove Or Reset A Hotkey
Highlight the hotkey.
On a Windows keyboard, press Delete to remove it or Space to restore its default.
On a controller, use the button shown by RetroArch for Remove Binding or Reset To Default.
Do not assign Quit RetroArch to a single frequently used controller button. Use Close Content for returning from a game and leave full application exit inside the Main Menu. This reduces the chance of losing an unsaved configuration change.
Configure Video Settings
Leave the default video driver unchanged until a basic 2D game works.
Set The Aspect Ratio
Open:
Settings > Video > ScalingSet Aspect Ratio to Core Provided.
Launch a game. A Game Boy game should appear close to its intended square display shape, while most home-console games should appear close to 4:3.
If the image is stretched, return to Scaling and confirm that a forced 16:9 ratio is not active.
Integer Scaling
Under Settings > Video > Scaling, enable Integer Scale for sharp, evenly sized pixels.
Launch a game. The image may become slightly smaller with black borders because RetroArch is using whole-number scaling.
If the borders are too large, disable Integer Scale. The game will return to filling more of the available screen.
Bilinear Filtering
Open:
Settings > VideoDisable Bilinear Filtering for a sharper pixel image, or enable it for a softer image.
The change should be visible immediately in a running game.
This setting can be saved globally or through an override for a specific core.
Changing The Video Driver
Open:
Settings > Drivers > VideoCommon options include:
- Vulkan: useful for supported hardware-rendered cores on Android and Windows.
- D3D11: a reliable Windows option, particularly on some integrated graphics systems.
- gl or glcore: useful for OpenGL cores and compatibility testing.
Select the driver, then use:
Main Menu > Restart RetroArchAfter restarting, return to Settings > Drivers and confirm that the selected driver remains active.
If a core displays a black screen, restore the previous video driver and restart RetroArch.
Recover A Windows Installation From A Broken Video Driver
Fully close RetroArch.
Open the RetroArch folder and rename:
retroarch.cfg
to:
retroarch-broken.cfg
Reopen RetroArch. A new default configuration should be created.
If the menu works again, the problem was inside the old configuration. Reapply the required settings manually rather than immediately copying the broken file back.
To undo the reset, close RetroArch, delete the newly created retroarch.cfg and rename retroarch-broken.cfg back to retroarch.cfg.
Configure Audio Settings
Leave the default audio driver, output rate and latency unchanged during initial setup.
Launch a game and listen for:
- Repeating crackling.
- Audio slowing down with the game.
- Long pauses or dropouts.
- Sound continuing after the game has frozen.
Repeating crackle often indicates that the core cannot maintain full speed rather than a faulty speaker.
Adjust Audio Latency
Open:
Settings > Audio > Output > Audio LatencyIncrease the value slightly if audio repeatedly breaks up while the game otherwise appears close to full speed.
Restart the game and test the same section.
Do not reduce audio latency aggressively. A buffer that is too small can create more stuttering rather than less.
If the change makes the audio worse, restore the previous value.
Check Game Speed Before Changing Audio
Open:
Settings > On-Screen Display > On-Screen Notifications > Notification VisibilityEnable Display Framerate or Display Statistics where available.
Return to the game and check whether the core is maintaining its expected speed.
If speed is consistently low, reduce demanding core options or use a lighter core before changing the audio configuration.
Launch The First Game Manually
Before creating playlists, test one game directly.
Open:
Main Menu > Load ContentBrowse to the appropriate system folder, select the game and choose the installed core when RetroArch asks which core to use.
The game should start.
Test:
- D-pad or analogue movement.
- Face buttons.
- Start and Select.
- Audio.
- Aspect ratio.
- Menu hotkey.
- Normal in-game saving.
Open the Quick Menu with the configured hotkey and select Close Content.
RetroArch should return to its Main Menu without closing the application.
If RetroArch Chooses The Wrong Core
Open Load Content again, select the game and choose Set Core Association or select the correct core when prompted.
For a playlist entry, highlight the game, open its information or management options and reset its core association.
Changing the core does not change the game file. However, normal save formats and save states may differ between cores.
Create RetroArch Playlists
Before scanning, open:
Main Menu > Online UpdaterSelect Update Databases and Update Core Info Files.
Then open:
Playlists > Import Content > Scan DirectoryOn builds where Import Content is displayed on the Main Menu, open it there instead.
Browse to one system folder, such as:
RetroArch/ROMs/Game Boy Advance
Select Scan This Directory.
A progress indicator should appear. When scanning finishes, return to the main interface.
A new system playlist should appear. Open it and confirm that the test games are listed.
Launch one entry from the playlist and confirm that it opens with the correct core.
Why Automatic Scan Can Miss Games
The normal scanner checks files against RetroArch’s game databases. Modified, translated, patched, renamed or unusually dumped files may not match the database even when the core can run them.
Use Manual Scan for files that work through Load Content but do not appear after a normal directory scan.
Use Manual Scan For Missing Games
Open:
Playlists > Import Content > Manual ScanConfigure the following:
- Content Directory: select the ROM folder for one system.
- System Name: select the correct system playlist name.
- Default Core: select the core that has already launched the test game successfully.
- File Extensions: enter only the extensions that should be included.
- Scan Recursively: enable this when games are stored inside subfolders.
- Scan Inside Archives: leave disabled unless the chosen core supports content inside the archive format.
For a Game Boy Advance folder, the File Extensions field might contain:
gba
For a PlayStation CHD and M3U folder, use:
chd m3u cue
Do not include bin for a CUE/BIN PlayStation library or each track can appear as a separate game.
Select Start Scan.
The playlist should appear with every file matching the selected extensions.
Launch a test entry. It should use the selected Default Core.
Undo A Manual Scan
Open the playlist, use its Manage or Delete Playlist option and confirm the deletion.
Deleting the playlist does not delete the ROM files.
Alternatively, run Manual Scan again with corrected settings and enable the option to overwrite the existing playlist where available.
Download Cover Artwork
Open:
Main Menu > Online Updater > Playlist Thumbnails UpdaterSelect the playlist that needs artwork.
RetroArch should download available box art, title screens and screenshots.
Return to the playlist and highlight several games. Matching images should appear in the interface.
The Playlist Thumbnails Updater can overwrite custom thumbnails when an official image exists for the same entry. Back up custom artwork before running a full playlist thumbnail update.
Enable On-Demand Thumbnails
Open:
Settings > Network > On-Demand Thumbnail DownloadsEnable the option where available.
Browse a playlist while connected to the internet. RetroArch should attempt to download artwork as entries are highlighted.
Disable the option from the same menu to stop automatic downloads.
Fix Missing Artwork
Artwork matching normally depends on the visible playlist title.
Rename the playlist entry to match the title used by the Libretro thumbnail repository, then run the Playlist Thumbnails Updater again.
For manually scanned playlists, clean filenames improve matching. Remove unnecessary website names, release tags and duplicate numbering.
Configure Core Options
Launch a game using the core being configured.
Open:
Quick Menu > Core OptionsDepending on the core, this menu can include:
- Emulated hardware model.
- Region.
- Internal resolution.
- Colour correction.
- CPU emulation mode.
- Audio emulation.
- Crop or overscan settings.
- Controller type.
Change one setting at a time and return to the game.
If the option states that a restart is required, select Close Content and reopen the game.
Save A Game-Specific Core Options File
After changing a core option for one game, open:
Quick Menu > Core Options > Manage Core OptionsSelect Save Game Options or the game-options command shown by the core.
Close and reopen the game. The special setting should apply only to that title.
To remove it, return to Manage Core Options and delete the game-options file or reset the game to the core’s global options.
Create Core & Game Control Remaps
A remap changes how a core receives the RetroPad controls without changing how the controller navigates the main RetroArch menu.
Launch a game and open:
Quick Menu > ControlsChange the required buttons.
Then open:
Quick Menu > Controls > Manage Remap FilesSelect:
- Save Core Remap File to apply the mapping to every game using that core.
- Save Content Directory Remap File to apply it to games in the current folder.
- Save Game Remap File to apply it only to the current game.
Close and reopen the game. The remap should load automatically.
To undo it, return to Manage Remap Files and delete the relevant remap file.
Use remaps for game controls, not the global Port 1 mapping. Changing Port 1 Controls affects the RetroArch menu and every core, while a remap affects only the selected core, folder or game.
Create Core, Folder & Game Overrides
Overrides store frontend settings such as aspect ratio, integer scaling, overlays and video filters for a specific core, folder or game.
Launch a game and change the required RetroArch setting.
Open:
Quick Menu > OverridesSelect:
- Save Core Overrides for every game using the current core.
- Save Content Directory Overrides for games inside the current ROM folder.
- Save Game Overrides for the current game only.
Close and reopen the game. The override should load automatically.
Override Priority
RetroArch applies the most specific matching configuration:
- Game override.
- Content-directory override.
- Core override.
- Global configuration.
A game override therefore takes priority over a core override.
Remove An Override
Open Quick Menu > Overrides and select the command to remove the active game, directory or core override.
If the removal command is not shown, restore the correct global setting and save a replacement override at the same level.
Configure Android Touchscreen Overlays
Touchscreen controls are useful on an Android phone or tablet but are usually unnecessary on a handheld with physical controls.
Open:
Settings > On-Screen Display > On-Screen OverlayUse Display Overlay to enable or disable the touchscreen controls.
Launch a game. When Display Overlay is disabled, the virtual controls should disappear.
Choose A Different Overlay
Open the same On-Screen Overlay menu and select Overlay Preset.
Browse to the required overlay file and select it.
Return to the game. The new control layout should appear.
If it does not fit correctly, enable Auto-Scale Overlay.
Use Different Overlays For Different Systems
Launch a game, select the required overlay and then open:
Quick Menu > Overrides > Save Core OverridesThe overlay should now load whenever that core is used.
To remove it, delete the core override or disable Display Overlay and save a replacement core override.
Configure Shaders
Shaders can reproduce CRT scanlines, LCD grids, colour blending, smoothing and other display effects.
First update the available shader files through:
Main Menu > Online Updater > Update ShadersThe exact label can include Slang, GLSL or another shader format depending on the active video driver.
Launch a game and open:
Quick Menu > ShadersEnable Video Shaders, then select Load Shader Preset.
Choose a lightweight preset first.
Return to the game. The visual effect should appear immediately.
Save The Shader
Return to:
Quick Menu > Shaders > SaveSelect:
- Save Core Preset for every game using the core.
- Save Content Directory Preset for the current ROM folder.
- Save Game Preset for the current game.
Close and reopen the game. The shader should load automatically.
Remove A Shader
Open Quick Menu > Shaders and disable Video Shaders.
Return to the Save menu and remove the active automatic preset where the command is available.
If the game becomes too slow, disable the shader and test again. Multi-pass CRT presets can be demanding on lower-powered Android hardware.
Configure Normal Saves & Save States
Normal Saves
Normal saves are created through the game’s own save system and are stored in the directory selected under:
Settings > Directory > Save FilesAfter configuring a core:
- Launch a game.
- Create a normal save through the game’s own menu.
- Open the RetroArch menu.
- Select Close Content.
- Quit RetroArch normally.
- Reopen RetroArch and launch the same game with the same core.
- Load the save through the game’s menu.
Do not rely on save states until the normal save works.
Save States
Save states record the complete running condition of a core.
They are stored in the directory selected under:
Settings > Directory > Save StatesSave states can become incompatible after:
- A core update.
- Changing to another core.
- A major core-options change.
- Moving between different RetroArch architectures or platforms.
Use normal saves as the main progress record.
Organise Saves Into Core Folders
Open:
Settings > SavingReview:
- Sort Saves Into Folders By Core Name.
- Sort Save States Into Folders By Core Name.
- Sort Saves Into Folders By Content Directory.
- Sort Save States Into Folders By Content Directory.
Choose one organisation method and keep it consistent.
Changing these options does not move existing saves. Copy the old files into the new folder structure before launching games.
Android and PC must use the same saving-folder options when their saves are being synchronised. Otherwise each device can write the same game’s save into a different subfolder.
Synchronise Saves Between Android & PC
The safest basic method is to copy the Save Files folder manually between devices.
For a save to load reliably on both devices:
- Use the same core on Android and PC.
- Use the same game filename.
- Use matching region and revision game files.
- Use identical save-folder sorting settings.
- Close content before copying or synchronising the save.
Manual Save Transfer
Close the game and quit RetroArch on the source device.
Copy the relevant .srm or save file from the configured Save Files directory.
Place it in the matching Save Files directory on the destination device.
Open RetroArch on the destination device and launch the same game using the same core.
The game’s Continue or Load menu should display the save.
If it does not, compare the filenames and folder structure exactly.
RetroArch Cloud Sync
RetroArch includes cloud synchronisation with WebDAV and supported Apple backends. WebDAV is the relevant cross-platform option for Android and Windows.
Begin on the primary device and open:
Settings > Saving > Cloud SyncConfigure:
- Enable Cloud Sync: On.
- Destructive Cloud Sync: Off.
- Cloud Sync Backend: WebDAV.
- Sync Saves: On.
- Sync Configs: Off for the first test.
- Sync Thumbnails: Off initially.
- Sync System: Off initially.
- Sync Mode: Manual while testing.
Enter the WebDAV server URL, username and password. Include the trailing slash in the server URL where required by the provider.
Save the current configuration and restart RetroArch.
Return to Cloud Sync and select Sync Now.
The status line should report Cloud Sync In Progress, followed by Cloud Sync Finished.
Configure the second device with the same backend details and identical save-folder sorting settings. Run Sync Now before launching a game.
After playing, create a normal save, select Close Content and return to the RetroArch Main Menu. Run Sync Now again before closing the application.
Avoid Cloud Conflicts
Do not play the same game on both devices before the previous device has completed its upload.
Always synchronise before starting a session and after closing content.
If RetroArch reports a conflict, do not repeatedly run Sync Now. Back up both local save folders and decide which version should be retained.
Disable Cloud Sync
Return to Settings > Saving > Cloud Sync and disable Enable Cloud Sync.
This stops future synchronisation but does not delete the local saves.
With Destructive Cloud Sync disabled, files that would otherwise be overwritten or deleted are backed up inside RetroArch’s cloud-backup directory.
Configure Multi-Disc Games
Multi-disc games should use an M3U playlist file.
Place every disc in one folder:
Final Fantasy VII (Europe) (Disc 1).chd Final Fantasy VII (Europe) (Disc 2).chd Final Fantasy VII (Europe) (Disc 3).chd
Create a plain text file containing one disc filename per line:
Final Fantasy VII (Europe) (Disc 1).chd Final Fantasy VII (Europe) (Disc 2).chd Final Fantasy VII (Europe) (Disc 3).chd
Save it as:
Final Fantasy VII (Europe).m3u
Confirm that the file is not accidentally named:
Final Fantasy VII (Europe).m3u.txt
Launch the M3U file rather than an individual disc.
Change Disc
When the game asks for the next disc, open:
Quick Menu > Disc ControlSelect Eject Disc.
Change Current Disc Index to the next disc.
Select Insert Disc.
Return to the game and wait a few seconds. The next disc should be recognised.
If the wrong disc was selected, eject it again, restore the previous Current Disc Index and insert it.
CUE/BIN Games
When an M3U references CUE/BIN games, list only the CUE files:
Game Name (Disc 1).cue Game Name (Disc 2).cue
Do not list the individual BIN tracks.
Update RetroArch Safely
Before Any Update
Back up:
- Normal saves.
- Save states.
- BIOS files.
-
retroarch.cfgwhere accessible. - Core option files.
- Overrides.
- Controller remaps and profiles.
- Playlists.
- Custom shaders and thumbnails.
Create and reload a normal in-game save before updating.
Update Android RetroArch
Download the newer APK from the official RetroArch website.
Open the APK and install it over the existing application.
Do not uninstall the old version first unless the official release instructions specifically require it.
Open RetroArch, run the Online Updater and confirm that the existing directories, cores and controller settings remain.
Launch a test game and load a normal save.
If the update causes a problem, reinstall the previously working APK without clearing application storage.
Update A Portable Windows Installation
Close RetroArch and copy the complete portable RetroArch folder to a backup location.
Download the latest Stable 7z package.
Extract it into a temporary folder.
Copy the updated application files into the existing RetroArch directory, allowing Windows to replace the program files.
Open RetroArch and test the configuration.
If it fails, close RetroArch and restore the complete backup folder.
Update The Windows Installer Version
Download the latest installer and run it over the current installation.
After installation, open RetroArch, update its support files and test a normal save.
Update Installed Cores
Open:
Main Menu > Online UpdaterSelect Update Installed Cores where available.
After updating, launch one game with each important core.
Do not assume that existing save states will remain compatible. Test normal saves first.
Back Up The Complete Setup
Android Backup
At minimum, copy these shared folders to a computer or separate drive:
- BIOS.
- Saves.
- States.
- Controller Profiles.
- Screenshots.
- Custom thumbnails.
- Custom shaders.
Use Main Menu > Configuration File > Save New Configuration if a separate accessible configuration copy is required.
Store the backup outside the Android device. A backup on the same microSD card does not protect against card failure.
Portable Windows Backup
Close RetroArch.
Copy the complete RetroArch installation folder to another drive.
This preserves the program, cores, configuration, playlists, saves, remaps, shaders and thumbnails when they are stored inside the portable folder.
Open the copied version and launch a test game to confirm that the backup works.
Restore A Backup Safely
Do not immediately overwrite the current installation.
Rename the current folder by adding:
-current-backup
Copy the older backup into the original location.
Open RetroArch and test:
- The main menu.
- One installed core.
- One playlist.
- A normal in-game save.
If the restored setup fails, delete it and rename the safety copy back to its original name.
Detailed Troubleshooting
Core Downloader Is Missing
Open:
Settings > User Interface > Menu Item VisibilityEnable Show Core Downloader.
If it is still missing, confirm that the installed RetroArch package supports core downloading and that the Cores directory is writable.
A Game Works Through Load Content But Is Missing From The Playlist
Run Manual Scan instead of the database scan.
Select the correct Content Directory, System Name, Default Core and file extensions.
Start the scan and confirm that the game appears.
RetroArch Reports Missing Firmware
Load the affected core, then open:
Main Menu > Information > Core InformationWrite down the exact missing filename.
Check the System/BIOS path, filename, extension, required subfolder and hash.
Restart RetroArch after correcting the file.
A PlayStation Game Appears Several Times
The scanner may have added the CUE file and every BIN track.
Delete the incorrect playlist and create a Manual Scan using:
chd cue m3u
Do not include:
bin
FinalBurn Neo Reports Missing Files
The arcade ZIP, parent set or neogeo.zip does not match the installed FinalBurn Neo database.
Do not extract the archives or combine files from different sets.
Restore the original matching archives and test again.
The Controller Works In The Menu But Not In The Game
Open the Quick Menu while the game is running and select Controls.
Check the Port 1 Device Type and remapped controls.
Delete an incorrect game remap before changing the global controller profile.
If every core is affected, return to Settings > Input > RetroPad Binds > Port 1 Controls and remap the physical controller.
Two Controllers Both Control Player 1
Open Settings > Input > RetroPad Binds.
Set a different Device Index for Port 1 and Port 2.
Restart the game and test its multiplayer menu.
Android Settings Do Not Save
Use:
Main Menu > Configuration File > Save Current ConfigurationThen use:
Main Menu > Quit RetroArchDo not swipe RetroArch away from Recent Apps immediately after changing settings.
If settings still reset, check that custom directories are writable and restore the default Config directory.
Windows Settings Do Not Save
Confirm that RetroArch is not installed inside Program Files or another protected directory.
Right-click the RetroArch folder, select Properties and confirm that it is not marked read-only.
Use Save Current Configuration and look for the on-screen confirmation showing the location of retroarch.cfg.
A New Video Driver Causes A Black Screen
On Windows, close RetroArch and rename retroarch.cfg so the application creates a default configuration.
On Android, reopen RetroArch and attempt to restore the previous driver through the touchscreen. Clearing Android application storage should be treated as a final recovery method because it resets the complete application configuration.
Audio Crackles Repeatedly
Disable demanding shaders and return core resolution options to their default values.
Confirm that the game is running at full speed.
Increase Audio Latency slightly only after performance settings have been checked.
A Save Disappears After Changing Core
Different cores can use different filenames, formats or subfolders.
Return to the original core and confirm that the save still loads.
Do not rename or convert the only copy of a save. Work from a duplicate and check the destination core’s official save-format documentation.
A Save Does Not Synchronise Between Android & PC
Confirm that both devices use:
- The same core.
- The same game filename.
- The same save-folder sorting options.
- The same region and revision of the game.
Close content on both devices before copying or synchronising.
Thumbnails Are Missing
Update Databases and run Playlist Thumbnails Updater.
Check that the visible playlist title matches the official game title.
For manually scanned content, remove unnecessary text from the playlist entry or filename and try again.
A Shader Makes The Game Slow
Open Quick Menu > Shaders and disable Video Shaders.
Delete the active core or game shader preset if it continues to load automatically.
Use a lighter single-pass shader on lower-powered Android devices.
RetroArch Crashes While Loading One Core
Launch a different core and game to confirm that RetroArch itself still works.
Open Settings > Core > Manage Cores, select the failing core and review its information.
Delete and redownload that core.
If the crash continues, restore default core options and remove its game or core override.
Generate A Diagnostic Log
Open:
Settings > LoggingEnable Log To File and set Logging Level to Debug.
Reproduce the problem once, then close content and quit RetroArch normally.
Open the configured Logs directory and inspect the latest log file.
Disable Debug logging after troubleshooting because it creates larger log files.
Final Setup Checklist
- The official current RetroArch build is installed.
- The Android build came from RetroArch or another officially recommended source.
- The Windows installation is outside protected system folders.
- Core info files, assets, controller profiles and databases have been updated.
- The System/BIOS path points to the correct folder.
- The Save Files and Save States paths are correct.
- The File Browser starts inside the ROM folder.
- One tested core is installed for each required system.
- Required firmware is marked Present under Core Information.
- Port 1 controls are mapped and tested.
- Additional controllers use separate Device Index assignments.
- Hotkeys require a modifier on the controller.
- The menu hotkey, save state, load state and Close Content commands work.
- Aspect Ratio is set to Core Provided.
- One game has been launched manually before scanning.
- Each system has its own playlist.
- Manual Scan is used for working games missed by the database scanner.
- CUE/BIN track files are not listed as separate games.
- A normal in-game save has been closed and reloaded.
- Save states are treated as secondary to normal saves.
- Core options are changed one setting at a time.
- Control remaps are saved at the correct core, folder or game level.
- Frontend settings use the correct override level.
- Shaders are saved only after performance has been tested.
- Android and PC use matching save-folder options before synchronisation.
- Multi-disc games use M3U playlists.
- The complete working setup has been backed up away from the original device.
Official Downloads & Documentation
- RetroArch Official Downloads
- Official RetroArch Android Installation Guide
- Official RetroArch Windows Installation Guide
- Installing RetroArch Cores
- RetroArch Directory Configuration
- RetroArch BIOS Information Hub
- RetroArch Input & Controls
- Controller Autoconfiguration
- Importing Content
- ROMs, Playlists & Thumbnails
- Core, Folder & Game Overrides
- RetroArch Shaders
- Multi-Disc Games & Disc Swapping
- RetroArch Cloud Sync
The Bottom Line
A reliable RetroArch setup is built in stages. Install the correct official version, update its support files, configure the directories, install one suitable core per system and test games manually before creating large playlists.
Keep global settings conservative. Use core options for emulator-specific changes, remap files for game controls, overrides for frontend settings and shader presets for display effects. Saving each adjustment at the correct level prevents one unusual game from changing the rest of the library.
Normal in-game saves should remain the main record of progress. Save states are useful, but they are more vulnerable to core updates and platform changes. Back up the complete setup before updating RetroArch, replacing a core or synchronising data between Android and PC.
Retrolize provides a set configuration service for the Android handheld consoles we sell, giving customers an organised and tested starting point without requiring them to configure every emulator from a blank installation.