RetroArch on iOS for Pokémon: 12 Steps, v1.22.2 [2026]

Apple spent more than a decade keeping console emulators off the iPhone. That changed on April 5, 2024, when Apple quietly rewrote App Store guideline 4.7 to explicitly permit “retro game console emulator apps,” including ones that let users download games from outside the App Store. RetroArch, the do-everything emulation frontend from Libretro, walked through that door within weeks. As of September 2026, the iOS build sits at version 1.22.2, listed directly on the App Store under the developer name Libretro, requiring iOS 12.0 or later — matching the same stable build listed on RetroArch’s own downloads page across every platform it supports.

For Pokémon players specifically, that’s a bigger deal than it sounds. Every mainline generation from Red and Blue through Black and White runs on a different console architecture: Game Boy, Game Boy Color, Game Boy Advance, and Nintendo DS. Installing four separate single-purpose emulators on a phone means four separate control schemes and four sets of save files to track. RetroArch collapses all of it into one app, one settings menu, and one library screen using the Gambatte, mGBA, and melonDS cores. This tutorial walks through the entire setup on iPhone and iPad, from the App Store install through core downloads, BIOS configuration, controller pairing, and the specific quirks of running Pokémon Stadium and Pokémon Snap through an N64 core on mobile hardware.

Google · Preferred Sources

Don't miss new tech stories on Google

Add Tech Insider once in the Google app and our stories appear in your news suggestions.

Add Now

Why RetroArch on iOS Instead of Delta or a Single-System App

Delta, built by developer Riley Testut, is the emulator most iPhone owners have already heard of. It’s polished, it handles Game Boy through Nintendo 64 games, and it has been on the App Store since mid-2024. If Delta already covers every Pokémon generation, why bother with RetroArch at all?

The answer comes down to scope and control. Delta is a single-purpose Nintendo emulator: it picks the core for you and exposes a simplified settings panel. RetroArch is a multi-system frontend built around Libretro’s core architecture, with more than 40 cores available across arcade, console, and computer platforms. For Pokémon specifically that means access to Gambatte for the Game Boy/Game Boy Color originals, mGBA for the GBA trilogy, melonDS for the DS-era games, and Mupen64Plus or ParaLLEl N64 for the Nintendo 64 spin-offs (Pokémon Stadium 1 and 2, Pokémon Snap) — all inside one app, with per-core shader, run-ahead, and input-latency settings that Delta simply doesn’t expose.

The trade-off is setup complexity. Delta is closer to plug-and-play. RetroArch asks you to understand cores, BIOS directories, and its dense XMB-style menu before it clicks. If you already have a RetroArch setup on a desktop or a Steam Deck and want the same muscle memory on your phone, or you specifically need N64 support that Delta doesn’t handle as deeply, RetroArch is the better long-term choice. If you just want Pokémon Emerald running in five minutes, Delta remains faster to get going, and our Delta setup guide covers that path.

There’s a practical reason this matters beyond personal preference, too. Anyone who plays Pokémon across a phone, a laptop, and a handheld like a Steam Deck ends up maintaining separate configurations for each device if every platform runs a different emulator. RetroArch’s whole design philosophy is a single frontend with the same hotkeys, the same shader pipeline, and the same Netplay protocol everywhere it runs. Learn the menu once on iOS and the exact same knowledge carries over to a Windows desktop, a Raspberry Pi, or a Steam Deck running the same Libretro cores. Delta, useful as it is, only exists on Apple platforms, so that portability argument doesn’t apply to it at all.

How Libretro Cores Actually Work

It helps to understand the architecture before diving into the setup, because half the pitfalls later in this guide come from misunderstanding what a “core” actually is. Libretro, the project behind RetroArch, defines a standard API that any emulator can be compiled against. Gambatte, mGBA, melonDS, and Mupen64Plus all started life as independent, standalone emulator projects with their own developers and release cycles. Each one has a “libretro core” build — a stripped-down version compiled specifically to plug into that shared API, without its own window, menu, or input handling. RetroArch supplies all of that shared scaffolding once, and every core just plugs into it.

That’s why accuracy inside RetroArch generally matches the standalone version of the same emulator. The mGBA core inside RetroArch uses the same underlying emulation code as the standalone mGBA app, so a Pokémon Emerald save that behaves correctly in one behaves correctly in the other. What changes is the wrapper: standalone mGBA has its own cheat database browser and rewind UI built specifically for GBA games, while the RetroArch core relies on RetroArch’s generic cheat and rewind systems, which work identically no matter which core is loaded. You lose a bit of per-system polish in exchange for one consistent interface across every Pokémon generation.

Prerequisites and Version Requirements

Before starting, confirm your hardware and software meet these minimums. RetroArch’s iOS build is lightweight, but the cores you’ll add — particularly the N64 core — benefit from a recent chipset.

RequirementMinimumRecommended for N64/DS
iOS/iPadOS versioniOS 12.0iOS 17 or later
DeviceiPhone 8 or neweriPhone 13 or newer (A15 Bionic+)
RetroArch version1.20.0 (first App Store build)1.22.2 (current, September 2026)
Free storage500 MB2 GB or more (cores, BIOS, save states, shaders)
Controller (optional)None — touch overlay worksMFi/Bluetooth controller (Backbone, Xbox, DualSense)
Apple ID regionAny App Store region supporting 4.7 emulatorsSame — global since April 2024

You’ll also need your own Pokémon ROM files, dumped from cartridges you legally own, and — for the Nintendo DS core specifically — a set of DS BIOS and firmware files (bios7.bin, bios9.bin, firmware.bin). Apple’s guideline change permits the emulator app itself; it does not grant a license to download copyrighted ROMs, and RetroArch’s own documentation places that responsibility on the user, not the software. Budget roughly 90 minutes for the full walkthrough below, most of it spent sourcing and organizing your own ROM files rather than configuring RetroArch itself.

Step 1: Confirm Apple’s Emulator Policy Actually Applies to You

Apple’s April 2024 update to App Store guideline 4.7 explicitly added “games from retro game console emulator apps” to the list of permitted software and clarified that such apps may offer downloadable games, so long as the developer is responsible for legal compliance. TechCrunch reported at the time that the change applied globally, not just in the EU, which is why RetroArch, Delta, PPSSPP, and several other emulators reached the US, UK, and Asian App Store storefronts within the same month rather than staying limited to the EU’s alternative marketplaces. Apple later told MacRumors that emulators on the App Store are permitted to load ROMs downloaded from the web, so long as the app is emulating retro console games only — which is the operative rule for everything that follows in this guide.

Step 2: Install RetroArch From the App Store

Open the App Store listing for RetroArch on your iPhone or iPad. The listing is published by Libretro and, as of September 2026, shows version 1.22.2. There is no sideloading, no AltStore, and no computer required for this step — it installs exactly like any other free app.

  • Search “RetroArch” in the App Store (not “RetroArch Plus” or third-party clones with similar names)
  • Verify the developer field reads “Libretro” before installing
  • Tap Get, authenticate with Face ID/Touch ID, and wait for the download (the base app is large, over 650 MB)
  • Launch the app once to let it generate its default directory structure

As How-To Geek noted when the app first reached Apple’s platforms, RetroArch’s arrival on iPhone, iPad, and Apple TV marked one of the more significant emulator launches to come out of the April 2024 policy shift, given how many systems it covers in one install. On first launch, RetroArch drops you into its XMB-style menu — a horizontal row of icons (Main Menu, Settings, Favorites, and so on) that will feel unfamiliar if you’ve only used single-purpose emulators before. Don’t worry about most of it yet; the next several steps only touch three or four menus.

Step 3: Download the Gambatte Core for Game Boy and Game Boy Color Pokémon

Cores in RetroArch are the actual emulation engines; the base app is just a shell that loads them. On iOS, cores come through RetroArch’s built-in Core Downloader rather than a separate file manager step, which is the same mechanism Apple’s 4.7 guideline covers for “software not embedded in the binary.”

  1. From the main menu, navigate to Load Core
  2. Select Download a Core
  3. Scroll to Nintendo – Game Boy / Color (Gambatte) and select it
  4. Wait for the download to complete — Gambatte is one of the smallest cores, typically under 5 MB

Gambatte handles Pokémon Red, Blue, Yellow, Gold, Silver, and Crystal at full native speed on essentially any iPhone released in the last five years. It’s a cycle-accurate core, meaning link cable timing and palette quirks behave the way they did on original hardware.

Step 4: Download mGBA for the GBA Trilogy

Repeat the same Core Downloader process, this time selecting Nintendo – Game Boy Advance (mGBA). mGBA is the Libretro core version of the standalone mGBA emulator already covered in our mGBA setup guide — inside RetroArch it retains the same accuracy but loses the standalone app’s dedicated cheat-code UI, which you’ll instead manage through RetroArch’s Cheats menu.

This core covers Pokémon Ruby, Sapphire, Emerald, FireRed, and LeafGreen. Performance is a non-issue: GBA emulation has run at full speed on phones for close to a decade, so even an older iPhone SE handles it without frame drops.

Step 5: Download melonDS for the Nintendo DS Generation

The DS core is where Pokémon Diamond, Pearl, Platinum, HeartGold, SoulSilver, Black, and White live, and it’s also the core with the most setup overhead because the Nintendo DS requires BIOS and firmware files to boot accurately — unlike the Game Boy and GBA cores, which can run BIOS-free in most configurations.

  1. In the Core Downloader, select Nintendo – DS (melonDS)
  2. Open the Files app on your device and navigate to RetroArch’s on-device folder, then to system
  3. Copy your own dumped bios7.bin, bios9.bin, and firmware.bin files into that system directory (these must come from a DS console you own — RetroArch does not provide them)
  4. Restart RetroArch so the melonDS core detects the new files

If you’ve already built a melonDS BIOS set for a desktop setup — see our melonDS for Pokémon guide — you can reuse the exact same three files here; there’s nothing iOS-specific about the BIOS dump itself, only about where RetroArch expects to find it.

Step 6: Download an N64 Core for Pokémon Stadium and Snap

RetroArch’s N64 support runs through either the Mupen64Plus-Next core or the newer ParaLLEl core, both available from the same Core Downloader. This is one area where RetroArch has a genuine feature edge over Delta on iOS: N64 emulation is inherently harder to get right than 2D systems, and RetroArch’s ability to swap cores and tune the RDP/RSP (graphics and signal processing) plugins independently gives you more recovery options when a specific title misbehaves.

  • Select Nintendo – Nintendo 64 (Mupen64Plus-Next) as your starting point — it’s the more actively maintained of the two on iOS
  • If you hit graphical glitches on Pokémon Stadium’s 3D battle models, try switching the video plugin between GLideN64 and Angrylion inside the core options
  • Expect some inaccuracy: N64 emulation performance and fidelity still varies by core on iOS in 2026, and Pokémon Stadium in particular can show minor rendering glitches depending on which plugin combination you land on

N64 is more demanding than the earlier three cores, but on an A15 Bionic chip or newer (iPhone 13 and up), both Pokémon Stadium and Pokémon Snap run close to full speed once you’ve picked a stable plugin combination.

Expected Performance by iPhone Generation

Performance scales predictably with chip generation, and it’s worth setting expectations before you spend time troubleshooting a phone that’s simply too old for a given core. Game Boy, Game Boy Color, and GBA emulation via Gambatte and mGBA are effectively solved problems on mobile hardware at this point — even a five-year-old A13 chip clears those cores without effort. The Nintendo DS and N64 cores are where chip generation starts to matter.

iPhone ChipGB/GBC (Gambatte)GBA (mGBA)DS (melonDS)N64 (Mupen64Plus-Next)
A13 Bionic (iPhone 11)Full speedFull speedMostly full speed, occasional dips in busy 3D areasPlayable, frequent frame drops in battles
A14 Bionic (iPhone 12)Full speedFull speedFull speedPlayable, minor drops in demanding scenes
A15 Bionic (iPhone 13/14)Full speedFull speedFull speedFull speed for Stadium; Snap mostly stable
A17 Pro / A18 (iPhone 15 Pro+/16)Full speedFull speedFull speedFull speed across both titles

These figures assume default core settings with threaded rendering enabled where the option exists. If you’re on an older device and N64 performance is unacceptable, the pragmatic move is skipping the N64 core entirely rather than fighting settings for marginal gains — the GB, GBC, GBA, and DS generations alone already cover the vast majority of mainline Pokémon games.

Where Your ROM Files Actually Need to Come From

RetroArch doesn’t ship with any games, and it doesn’t provide a way to acquire them either — the app is only the emulator. Apple’s own clarification to MacRumors on the 4.7 guideline change specifically framed permitted emulators as ones “emulating retro console games only,” with the legal weight of ROM acquisition sitting on the user, not the app. In practice that means dumping the ROM data directly off cartridges you already own, using a device like a GBxCart RW for Game Boy and GBA carts (our GBxCart RW guide covers that hardware in detail) or a DS flash cart reader for Nintendo DS titles.

Downloading pre-made ROM files from the open web, even for games you technically own on physical media, sits in a legal gray area that varies by jurisdiction and is generally treated as copyright infringement in the US regardless of ownership of the original cartridge. This tutorial assumes you’re dumping your own carts or using ROMs you’ve otherwise legitimately obtained. If you’re building a Pokémon library from scratch and don’t already own the physical games, that’s a separate conversation from anything RetroArch itself controls.

Step 7: Organize Your ROM Directory

RetroArch scans folders rather than requiring you to import files one at a time. Structure your ROMs by system before loading anything — it saves a lot of confusion once you have four Pokémon generations sitting in one library.

RetroArch/
  roms/
    gb/        (Pokemon Red.gb, Pokemon Crystal.gbc)
    gba/       (Pokemon Emerald.gba, Pokemon FireRed.gba)
    nds/       (Pokemon Platinum.nds, Pokemon HeartGold.nds)
    n64/       (Pokemon Stadium.z64, Pokemon Snap.z64)
  system/
    bios7.bin
    bios9.bin
    firmware.bin

Use the Files app’s “On My iPhone” section to drag ROMs into these folders via a computer transfer (AirDrop, Files app sync, or a cloud drive like iCloud Drive or a self-hosted WebDAV share), then point RetroArch at the parent roms folder using Load Content > Start Directory. RetroArch will auto-associate each file extension with the correct core going forward, so you won’t have to manually pick “mGBA” every time you launch a .gba file.

Step 8: Pair a Controller Over Bluetooth

RetroArch uses iOS’s native game controller framework, so anything that already pairs with iOS as an MFi or standard Bluetooth gamepad works without extra drivers or configuration files.

ControllerConnectionWorks Out of the Box on iOS RetroArch
Backbone OneLightning/USB-C direct + MFiYes
Xbox Wireless ControllerBluetoothYes
DualSense (PS5)BluetoothYes
8BitDo SN30 ProBluetoothYes
Generic MFi gamepadBluetoothYes

Pair the controller in iOS Settings > Bluetooth first, then open RetroArch — it should be automatically detected under Settings > Input > Port 1 Controls. If it isn’t recognized immediately, back out to the main menu and back in; RetroArch’s controller polling on iOS sometimes needs a menu refresh to pick up a newly paired device.

Step 9: Configure Save States and Back Up Your Progress

This is the step people skip and regret. RetroArch does not ship a proprietary cloud-save network the way some single-platform emulators do — its saves and configuration live inside the app’s iOS sandbox by default, and syncing them across devices relies on OS-level tools rather than a built-in RetroArch account.

  • Enable Settings > Saving > Sort Saves/States by Content Directory so each Pokémon game’s saves stay grouped together
  • Turn on autosave under Settings > Saving > SaveRAM Autosave Interval (set to 30 seconds) so a crash mid-battle doesn’t cost you progress
  • Manually back up the saves and states folders to iCloud Drive or a computer on a regular basis — this is currently the only reliable way to preserve a save if you reinstall the app or move to a new phone

If you’re moving saves between a phone and a desktop RetroArch install, see our guide on trading Pokémon between emulators for the compatible save formats across cores.

Step 10: Tune Shaders and Run-Ahead for Lower Input Lag

RetroArch’s shader stack and Run-Ahead latency-reduction feature both apply on iOS, though they’re more optional here than on desktop since Pokémon games aren’t reflex-heavy. Still, if you notice input lag on menu navigation:

  1. Go to Quick Menu > Latency while a game is loaded
  2. Set Run-Ahead to Reduce Latency to 1 frame for GB/GBA titles, 2 frames for DS titles
  3. Leave N64 Run-Ahead off — it’s more likely to introduce audio crackle than help on mobile N64 cores

For shaders, a light CRT or LCD grid shader (Settings > Video > Shaders) recreates the original screen look for Game Boy titles, though most players on a modern iPhone display prefer running the image clean at native resolution.

If you’d rather edit a configuration file directly than click through menus, RetroArch stores its settings in a plain-text retroarch.cfg, accessible through the Files app once you enable file sharing for RetroArch in iOS Settings. A minimal Pokémon-focused config that sets sensible defaults for Run-Ahead, autosave, and rewind looks like this:

# retroarch.cfg -- Pokemon-focused defaults
run_ahead_enabled = "true"
run_ahead_frames = "1"
autosave_interval = "30"
rewind_enable = "true"
rewind_buffer_size = "20"
video_smooth = "false"
video_vsync = "true"
audio_latency = "64"
savefiles_in_content_dir = "false"
sort_savefiles_enable = "true"
sort_savestates_enable = "true"

Copy this into your retroarch.cfg via the Files app, or set each value manually through the corresponding menu if you’d rather not edit text files on a phone. Either approach produces the same result — RetroArch reads the config fresh on every launch.

Step 11: Set Up Netplay if You Want to Battle or Trade

RetroArch’s built-in Netplay feature lets two devices running compatible cores connect over the internet, which can substitute for a physical link cable when trading or battling between two RetroArch instances — one on iOS, one on desktop, or two phones side by side. Host a session from Main Menu > Netplay > Host, share the generated room code, and have the second player join from the same menu. Both sides need the exact same core version and, ideally, the same ROM revision to avoid a desync mid-session.

Step 12: Verify Everything Works

Run through this checklist before considering the setup finished:

  • Gambatte loads a Game Boy Color Pokémon save without a black screen on boot
  • mGBA runs a GBA title at a locked 59.7 fps (visible in Settings > Onscreen Display > FPS counter)
  • melonDS boots a DS Pokémon game to the title screen without a BIOS error message
  • A paired Bluetooth controller registers all face buttons and both analog sticks under Settings > Input
  • A manual save state can be created (Select + R1 default binding) and reloaded successfully

If every box checks out, you have a single app on your phone covering four Pokémon console generations — the same ground that used to require three or four separate installs.

Example Output: What a Clean Setup Looks Like

Core: mGBA (v0.10.x libretro)
Content: Pokemon Emerald (USA).gba
Status: Content loaded
Video: 1170x2532 @ 60Hz, Vsync ON
Audio: 48000 Hz, Latency 64ms
Input: Backbone One - Player 1 (Connected)
Save: SRAM autosave every 30s -> /saves/gba/Pokemon Emerald.srm

And what a melonDS boot log looks like once BIOS files are correctly placed:

Core: melonDS (libretro)
BIOS7: OK (16384 bytes)
BIOS9: OK (4096 bytes)
Firmware: OK (262144 bytes)
Content: Pokemon HeartGold (USA).nds
Status: Content loaded
Renderer: OpenGL, threaded
Frame rate: 59.8 fps

Common Pitfalls When Setting Up RetroArch on iOS

These are the mistakes that generate the most confused App Store reviews and forum posts, based on how the app’s directory structure and core system actually behave. Most of them trace back to RetroArch’s menu system being genuinely unfamiliar to anyone coming from a single-purpose app like Delta, rather than any actual bug in the software. Reading through this list before you start saves more time than reading it after something breaks.

  1. Downloading the wrong core name. The Core Downloader lists near-identical entries like “Nintendo – Game Boy Advance (mGBA)” next to “Nintendo – Game Boy Advance (VBA Next)” — grabbing the wrong one won’t crash anything, but you’ll lose accuracy and cheat compatibility.
  2. Placing BIOS files in the wrong folder. The melonDS core looks specifically inside RetroArch’s system directory, not the same folder as your ROMs — a very common source of “BIOS not found” errors.
  3. Renaming BIOS files. bios7.bin and bios9.bin must keep those exact filenames; melonDS won’t recognize renamed variants even with identical content.
  4. Expecting cloud sync between devices automatically. RetroArch has no first-party save-sync network on iOS; saves stay local to the sandbox unless you manually copy them out.
  5. Skipping the Files app permission prompt. RetroArch needs “Files and Folders” access approved in iOS Settings to browse for ROMs outside its own sandbox — denying this silently breaks the file browser.
  6. Running N64 titles expecting desktop-level accuracy. Mobile N64 cores still trail desktop RetroArch in plugin maturity; Pokémon Stadium’s 3D models can show visual glitches that a PC build wouldn’t.
  7. Forgetting to restart after adding BIOS files. melonDS caches its BIOS check at launch; copying files in via the Files app mid-session won’t be picked up until you fully close and reopen RetroArch.
  8. Using ROM sets with the wrong region or revision. Some GBA and DS Pokémon ROM hacks assume a specific base ROM revision; mismatched revisions can cause save corruption specifically in melonDS.

Troubleshooting Guide

Work through these in order if something isn’t behaving as expected. The vast majority of RetroArch iOS support requests fall into one of the nine buckets below, and most have nothing to do with the specific Pokémon game you’re trying to run — they’re generic RetroArch-on-iOS issues that just happen to surface most often once someone starts loading up a full library of Pokémon generations.

SymptomLikely causeFix
“Core not found” error on launchPartial or interrupted core downloadRedownload via Load Core > Download a Core
Black screen after loading a DS ROMMissing or misnamed BIOS fileConfirm bios7.bin, bios9.bin, firmware.bin sit in the system folder with exact filenames
Controller connects but buttons don’t respondRetroArch didn’t refresh input polling after pairingBack out to the main menu and back into the game
Audio crackling on N64 titlesRun-Ahead enabled on the N64 coreDisable Run-Ahead specifically for that core
Game runs but save won’t persistSaveRAM Autosave disabled or folder permissions resetEnable autosave under Settings > Saving and re-grant Files access
App crashes opening Core DownloaderTemporary Libretro buildbot outageWait 15-20 minutes and retry
ROM won’t appear in file browserWrong file extension or missing Files permissionConfirm .gb/.gbc, .gba, .nds, or .z64 extension and grant Files and Folders access
Netplay session won’t connectMismatched core versions between devicesUpdate RetroArch and redownload the core on both ends
Frame rate drops on Pokémon StadiumSuboptimal N64 video plugin for your deviceSwitch between GLideN64 and Angrylion in the core’s options menu

Advanced Tips for Power Users

Once the basics are running smoothly, a few settings separate a serviceable setup from a genuinely good one.

  • Per-core overrides. Save a core override (Quick Menu > Overrides > Save Core Overrides) so settings like Run-Ahead frame count apply automatically only to that core, rather than globally.
  • Rewind for tough battles. Enable rewind under Settings > Saving > Rewind — useful for Nuzlocke-style challenge runs where a single misclick shouldn’t end the run, though it does cost extra memory per frame buffered.
  • Custom button layouts per system. Remap the touch overlay differently for GB/GBA (simpler two-button layout) versus DS (which needs a stylus-equivalent touch region) under Settings > Input > Overlay.
  • Batch BIOS verification. RetroArch logs BIOS checksum mismatches in its on-screen notifications; check Settings > Logging > Log to File the first time you set up melonDS to catch a bad BIOS dump before it causes subtler save issues later.
  • Keep a second, offline copy of your save files. Since there’s no RetroArch cloud sync on iOS, an AirDrop or iCloud Drive backup taken after major in-game milestones (badge wins, Elite Four runs) prevents total loss if the app data ever gets cleared during an iOS update.
  • Enable threaded rendering on melonDS. The DS core exposes a threaded software renderer option in its core settings, which noticeably smooths out frame pacing on iPhones with more than two performance cores — worth toggling on before assuming a device is simply too slow for a given DS Pokémon title.
  • Use Quick Menu > Options to check per-game core settings before reporting a bug. Many “broken” games are actually a mismatched aspect ratio or an accidentally enabled overclock option carried over from a previous session, both of which live in the per-content Quick Menu rather than the global settings.

Complete Working Project: A Four-Generation Pokémon Library on One Phone

Put together, Steps 2 through 9 above produce a single RetroArch install capable of running everything below, controlled through one set of hotkeys and one save-state system:

GenerationCoreExample TitlesBIOS Required
Gen 1-2 (GB/GBC)GambatteRed, Blue, Yellow, Gold, Silver, CrystalNo
Gen 3 (GBA)mGBARuby, Sapphire, Emerald, FireRed, LeafGreenNo (optional for accuracy)
Gen 4-5 (DS)melonDSDiamond, Pearl, Platinum, HeartGold, SoulSilver, Black, WhiteYes
N64 spin-offsMupen64Plus-NextPokémon Stadium 1/2, Pokémon SnapNo

That’s a working library spanning three decades of Pokémon releases, controlled through one Netplay implementation for trading between devices — all installed through the official App Store with no jailbreak, no AltStore, and no computer required for the base setup. If you also want the 3DS generation (X/Y, Sun/Moon, Omega Ruby/Alpha Sapphire) alongside this library, that requires a separate app since no RetroArch core currently emulates the 3DS; our Folium for iPhone guide covers that gap.

RetroArch vs Delta: Quick Decision Table

FactorRetroArch (iOS)Delta
Systems covered40+ cores, including N64, arcade, PS1GB, GBC, GBA, DS, N64 (Nintendo-focused)
Setup complexityHigher — manual core downloads, BIOS placementLower — near plug-and-play
Shader/latency tuningDeep, per-core optionsMinimal
NetplayBuilt-in, cross-platform with desktop RetroArchNot supported
Best forUsers who also run RetroArch on PC/Steam Deck, or need N64 depthUsers who want the fastest path to playing one Pokémon game

Neither app is objectively “better” for every Pokémon player. If you already run RetroArch on a desktop — see our full RetroArch for Pokémon setup guide for the PC version — bringing that exact configuration to your phone means zero relearning. If your only goal is playing Pokémon Emerald on the bus tomorrow morning, Delta gets you there with fewer taps.

Frequently Asked Questions

Is RetroArch legal to install on iPhone?
Yes. Apple’s April 2024 update to App Store guideline 4.7 explicitly permits retro game console emulator apps, and RetroArch is distributed through the official App Store rather than a sideloaded package. The emulator itself is legal; you’re still responsible for only loading ROM files dumped from games you legitimately own.

Do I need to jailbreak my iPhone to use RetroArch?
No. Since the April 2024 policy change, RetroArch installs directly from the App Store like any other app, with no jailbreak, AltStore, or developer certificate required.

Which RetroArch core should I use for Pokémon Black and White?
The melonDS core handles Pokémon Black, White, and their sequels, along with Diamond, Pearl, Platinum, HeartGold, and SoulSilver. It requires DS BIOS and firmware files placed in RetroArch’s system directory before it will boot a game correctly.

Can I sync my RetroArch saves between my iPhone and my PC?
Not automatically. RetroArch has no first-party cloud save network on iOS as of 2026; you’ll need to manually transfer save files between devices via iCloud Drive, a WebDAV share, or a direct cable transfer, matching the same core and save format on both ends. As long as both installations use the same core version — mGBA to mGBA, melonDS to melonDS — the raw save file is portable between a phone, a desktop, and even other Libretro-based frontends without any conversion step.

Is RetroArch better than Delta for playing Pokémon on iPhone?
It depends on your priorities. RetroArch covers more systems and gives you deeper control over shaders, latency, and Netplay, but it takes longer to configure. Delta is faster to set up for someone who just wants to play one or two Pokémon games without managing cores and BIOS files manually.

Why does Pokémon Stadium look glitchy on RetroArch iOS?
N64 emulation is inherently harder to run accurately than 2D systems, and mobile N64 cores in RetroArch still trail desktop builds in plugin maturity. Switching between the GLideN64 and Angrylion video plugins in the core’s options often resolves specific rendering artifacts.

Can I use a PS5 DualSense or Xbox controller with RetroArch on iPhone?
Yes. Both connect over standard Bluetooth and are recognized through iOS’s native game controller framework, the same system RetroArch relies on for MFi devices like the Backbone One.

What Pokémon games can’t RetroArch play on iOS?
3DS-generation titles (X/Y, Sun/Moon, Omega Ruby/Alpha Sapphire) and Switch titles aren’t supported by any RetroArch core on iOS, since no Libretro core currently emulates either system. For 3DS Pokémon games on iPhone specifically, a dedicated app is the only route, since 3DS emulation requires a fundamentally different, far more resource-intensive approach than the cores RetroArch bundles for older Nintendo handhelds.

Does RetroArch on iOS support cheat codes for Pokémon games?
Yes, through RetroArch’s built-in Cheats menu rather than a dedicated cheat browser. You can enter Game Genie, Game Shark, or Action Replay codes manually per game under Quick Menu > Cheats, though unlike the standalone mGBA app, RetroArch doesn’t bundle a searchable pre-loaded cheat database, so you’ll need to source codes separately.

Related Coverage

Marcus Chen

Marcus Chen

Gaming & Consumer Tech Editor

Marcus Chen is a senior editor at Tech Insider, where he leads coverage of the US online gaming market, including sweepstakes and social casinos, alongside consumer technology. He evaluates operators on their published terms, licensing and RNG certifications, stated redemption policies, and corroborating independent reporting, and writes plainly about what the evidence supports. Tech Insider does not run first-party money tests and does not gamble with reader funds. Marcus has reported on the technology and online-gaming industries for more than a decade.

View all articles