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/system on your phone’s internal storage once RetroArch has storage access.
  • Saves and save states go in RetroArch/saves and RetroArch/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

Sources