RetroArch Cores on Android: Which Core for Each System, and How to Install Them
Which RetroArch core to use for each console on Android, how to download and update cores, where they are stored, which need BIOS files, and why some don’t show up.
RetroArch on its own plays nothing. libretro’s documentation: “RetroArch is a frontend for emulators, game engines and media players. … It runs programs converted into dynamic libraries called libretro cores.” Each console is handled by one or more cores, and you download the ones you need. This guide covers how to get them on Android, where they end up, which one to pick for each system, and what to do when a core is missing or complains about files.
Games and BIOS files are never included. In libretro’s words, RetroArch “is not a service that allows you to download copyrighted games or content”; you use your own.
Downloading cores
The RetroArch we host is F-Droid’s build, which contains no cores but has the core downloader. Two places lead to it:
- Main Menu › Load Core › Download a Core
- Main Menu › Online Updater › Core Downloader
Pick a core and it downloads from libretro’s build server, matching the processor RetroArch runs on: 64-bit ARM cores on most current phones, 32-bit ARM ones on older devices and some TV boxes. To get new versions later, use Online Updater › Update Installed Cores; by default RetroArch keeps a backup of each core before updating it. A core file you have downloaded yourself can be installed with Load Core › Install or Restore a Core, from RetroArch’s Downloads folder.
The Google Play versions work differently. Play’s policies don’t allow the core downloader, so RetroArch on Play offers up to 50 selected cores and RetroArch Plus, for Android 8.0 and later, up to 127, delivered and updated through Google Play.
When a core doesn’t show up
From the code of RetroArch 1.22.2, the version we host:
- Experimental cores are hidden by default. Turn on Show Experimental Cores under Settings › Core › Updater Settings.
- A core without a description file counts as experimental. RetroArch ships a set of core information files, and cores added since then stay hidden until you run Online Updater › Update Core Info Files. By our count of libretro’s server list on 13 October 2026, that takes the cores shown on a 64-bit phone from 179 to 219 of 243; among those that appear only afterwards are PlayStation 2 cores.
- Some cores exist only for 64-bit ARM, among them the Nintendo 3DS cores, Vita3K for the PS Vita, and the two PlayStation 2 cores based on PCSX2, LRPS2 and PCEE2. They don’t appear when RetroArch runs as a 32-bit app. Play!, an experimental PlayStation 2 core, is offered for 32-bit ARM as well. LRPS2’s page in libretro’s docs still says it doesn’t run on Android, while the build server lists it for 64-bit ARM.
- “Failed to retrieve core list!” means RetroArch couldn’t reach libretro’s server; check the connection or the server address under Updater Settings.
- No Download a Core entry? It can be hidden: Settings › User Interface › Menu Item Visibility › Show Core Downloader.
- “No Cores Available” when you open a game means no installed core handles that file type; RetroArch then offers to download one.
Searches for “RetroArch cores pack” or “cores zip” lead to collections put together by others. libretro’s server has no such pack; the downloader is the official route.
Where cores and files are stored
- Cores live in RetroArch’s private app folder. RetroArch resets that location every time it starts, so changing the Cores directory in the settings doesn’t stick. You can still look at the folder without root: Android’s file picker lists RetroArch as a location.
- BIOS and system files go in the folder set under Settings › Directory › System/BIOS, normally
RetroArch/systemon your phone’s internal storage once RetroArch has storage access. - Saves and save states go in
RetroArch/savesandRetroArch/states.
Which core for which system
Where libretro’s documentation recommends a core, the table quotes it; other choices are common starting points, not official advice.
| System | Start with | Alternatives and notes |
|---|---|---|
| NES / Famicom | Nestopia or FCEUmm | Mesen for high accuracy; QuickNES is lighter |
| Super Nintendo | Snes9x | libretro: the Snes9x 2010, 2005 and 2002 cores are only for when “the mainline Snes9x core … aren’t fast enough”; bsnes “is best suited to desktop-class systems” |
| Game Boy / Color | Gambatte or SameBoy | SameBoy includes its own open-source boot ROMs |
| Game Boy Advance | mGBA | gpSP and VBA Next are lighter |
| Nintendo 64 | Mupen64Plus-Next GLES3 | libretro: on Android, the GLES 2.0 version “will have graphical issues on a GLES 3.0-compatible system”; ParaLLEl N64 if Mupen64Plus-Next is too slow |
| PlayStation | PCSX ReARMed | made with “special optimizations for systems that have an ARM architecture-based CPU”; Beetle PSX and SwanStation are heavier |
| PSP | PPSSPP | needs no BIOS; also available as the standalone PPSSPP app |
| Nintendo DS | melonDS DS | libretro: “Use this one unless you’re not ready to migrate”; the older melonDS core is “obsolete and unmaintained”; standalone melonDS |
| Genesis / Mega Drive, Master System, Game Gear, Sega CD | Genesis Plus GX | no 32X games: use PicoDrive for those |
| Sega Saturn | Beetle Saturn | heavy; libretro warns that YabaSanshiro is “outdated, known for having many issues, and unmaintained” |
| Dreamcast, NAOMI, Atomiswave | Flycast | also the standalone Flycast app |
| Arcade | FinalBurn Neo or MAME 2003-Plus | libretro: “There is no “best arcade core””; current MAME is “usually the slowest core” and the most accurate |
| DOS | DOSBox Pure | built “specifically for RetroArch/Libretro” |
| GameCube / Wii | Dolphin | needs Dolphin’s system files; the standalone Dolphin app is the usual choice on phones |
Each game has to match the core: an arcade game, for instance, has to be the romset version the core expects. The core’s page on docs.libretro.com lists the details.
BIOS and system files
libretro: “A BIOS file is a copy of the operating system used by the hardware that a Core is emulating. … RetroArch and LibRetro do not share any copyrighted system files or game content.” Those files come from your own console.
To see what a core wants, load it and open Information › Core Information. Its firmware list marks each file as Missing, Required, Missing, Optional or Present, with the folder RetroArch looked in. RetroArch itself checks for missing files before loading only if you turn on Check for Missing Firmware Before Loading under Settings › Core, which is off by default. With it off, the game goes to the core anyway, and the core can still fail without a file it needs: libretro’s page for Opera, the 3DO core, says “One of the following system BIOSes is required to run software.” File names must match exactly, apart from the PlayStation 2 BIOS described below, and libretro’s docs list the expected checksums.
Common cases, from libretro’s core pages:
- PlayStation: PCSX ReARMed runs without a BIOS, using a built-in replacement, but libretro recommends a real one for compatibility. Beetle PSX’s page says a BIOS is supported but not required, while RetroArch’s firmware list marks it as required.
- Sega Saturn with Beetle Saturn, 3DO with Opera and Atari Lynx need BIOS files.
- Sega CD with Genesis Plus GX or PicoDrive and PC Engine CD games need the matching CD BIOS; cartridge games don’t.
- Nintendo DS cores run without the DS files; DSi mode needs them.
- PlayStation 2: LRPS2 and PCEE2 need a BIOS dumped from a PS2 in
system/pcsx2/bios, under any file name but not zipped. Play! lists no firmware in its core information, and libretro’s page for it names only graphics requirements.
“Core system files missing, expect bugs”
That message comes from the PPSSPP core when its support files are missing. They are not a BIOS: get them with Online Updater › Core System Files Downloader › PPSSPP.zip. The same menu has the system folder the Dolphin core needs. That downloader offers support files only, no console BIOS.
Core options and overrides
While a game runs, the Quick Menu has Core Options, settings of the core itself such as resolution or region. Manage Core Options saves them for this game only or for every game in the same folder; otherwise they apply to the whole core. Overrides in the same menu save RetroArch’s own settings, such as video or controls, for one core, one folder or one game. If a game runs slowly, libretro’s troubleshooting list starts with checking that the core suits your device, lowering core options and turning off shaders.
Licences of some cores
Several popular cores are free for personal use but not commercial use. libretro lists them with the warning that they “MAY NOT BE SOLD, NOR MAY THEY BE USED IN A COMMERCIAL PRODUCT OR ACTIVITY WITHOUT COPYRIGHT HOLDERS’ APPROVAL”: among them Snes9x, Genesis Plus GX, PicoDrive, MAME 2000, 2003, 2003-Plus and 2010, FB Alpha 2012 and Opera. FinalBurn Neo’s own page calls its licence non-commercial too.
A simpler option
If you would rather not choose cores at all, Lemuroid uses the same libretro cores behind a simpler interface for about 20 systems and downloads them itself. For PS Vita games there is the standalone Vita3K; its RetroArch core is hidden as experimental.
Apps in this guide
-
RetroArch One frontend for many emulators: RetroArch runs emulator cores for many consoles and computers under a single interface, with its core downloader built in. Games are not included.Download -
Lemuroid One app for many retro consoles, built on libretro: it finds the games on your phone, saves your progress automatically and works with touch controls or a gamepad. Games are not included.Download -
PPSSPP A PSP emulator that needs no BIOS file, adds sharper graphics and save states, and works with touch controls, gamepads or a keyboard. Games are not included.Download -
Dolphin Emulator The open-source GameCube and Wii emulator, on Android. It needs a 64-bit phone and a GPU with OpenGL ES 3.0 or Vulkan, and you bring your own games.Download -
melonDS An emulator for Nintendo DS and DSi games. DS games need no BIOS files, thanks to a built-in open-source replacement; the games themselves are not included.Download -
Flycast Play Dreamcast discs and Naomi and Atomiswave arcade games you own on Android, with upscaling, controller support and the online modes of some Dreamcast games. A Dreamcast BIOS is optional.Download
Sources
- libretro docs: Understanding RetroArch checked Oct 13, 2026
- libretro docs: How to download cores checked Oct 13, 2026
- libretro docs: Installing RetroArch on Android checked Oct 13, 2026
- libretro docs: BIOS files checked Oct 13, 2026
- libretro docs: Arcade getting started checked Oct 13, 2026
- libretro docs: Licences of cores checked Oct 13, 2026
- libretro docs: core pages (Snes9x, Mupen64Plus-Next, melonDS DS, Genesis Plus GX, YabaSanshiro and others) checked Oct 13, 2026
- RetroArch source, version 1.22.2 (F-Droid build commit a609b709) checked Oct 13, 2026
- libretro docs: PlayStation 2 cores Play!, PCEE2 and LRPS2, and the 3DO core Opera checked Oct 14, 2026
- libretro core information files (firmware lists) checked Oct 14, 2026
- libretro buildbot: Android cores for 64-bit ARM checked Oct 14, 2026
- libretro buildbot: Android cores for 32-bit ARM checked Oct 14, 2026
- RetroArch and RetroArch Plus on Google Play checked Oct 13, 2026