Retro Handheld Custom Firmware
Knulli, MinUI, OnionOS, muOS, AmberELEC, ROCKNIX, ArkOS — open firmware for Anbernic / Miyoo / Powkiddy.
The "Batocera-shape custom firmware" layer for cheap retro handhelds. For the hardware these run on see Handhelds (Anbernic / Retroid). For the multi-system frontends conceptually behind this CFW (RetroArch / EmulationStation) see Multi-system emulators. For ROM legality see Game legal nuance.
The 2024–26 reality: most cheap Anbernic / Miyoo / Powkiddy / Trimui handhelds ship with stock firmware that works but is rough. Custom firmware projects add scrapers, themes, save-state polish, RetroAchievements integration, performance tweaks, and a sane ES-shape UI. OnionOS for Miyoo Mini, MinUI as a minimalist alternative, Knulli (Batocera-derived) on capable hardware, muOS rising fast on Anbernic, and AmberELEC / ROCKNIX for the Allwinner / Rockchip Linux handhelds.
By family
Miyoo Mini / Mini Plus / V4
- ★ ★ OnionOS — free OSS; the go-to Miyoo Mini CFW. Slick UI, scraping, save-state polish, RetroAchievements, the Pak app system. Active dev. The default.
- ★ MinUI — free OSS; a deliberately minimalist alternative — emulators only, no menus, instant on. The "I just want to play, no friction" pick.
Anbernic Allwinner / Rockchip family (RG35XX, RG40XX, RG28XX series, etc.)
- ★ muOS — free OSS; rising star CFW for Anbernic Linux handhelds. Lightweight, scrapers, themes, fast. Many enthusiasts now default to this.
- GarlicOS / GarlicOS 2 — free OSS; long-running Anbernic CFW for the RG35XX family.
- Batocera nano / Knulli — Batocera-derived CFW for the more capable Anbernic devices.
- Stock Anbernic + RetroArch — the "do nothing" baseline.
Anbernic Android family (RG405 / RG556 / RG556 Pro)
- Stock Android + EmulationStation Android + RetroArch + standalones — the default; less CFW, more app stack.
- Knulli for ARM — see below.
High-end Linux handhelds (RG353, RG552, OdroidGo, RG503, RGB30, etc.)
- ★ Batocera (Knulli) — free OSS; Knulli is a Batocera fork specifically for handheld hardware. Batocera-equivalent UX on a handheld.
- AmberELEC — free OSS; LibreELEC-based; Anbernic / Powkiddy Allwinner / RK35xx-shape devices. Long-running.
- ROCKNIX (formerly JELOS) — free OSS; AmberELEC-shape but Rockchip-focused.
- ArkOS — free OSS; one of the older custom firmwares for RG350 / RG552 era; legacy but loved.
Powkiddy / Trimui
- Onion-shape forks for select Trimui hardware.
- Knulli for capable Powkiddy.
- Stock with RetroArch elsewhere.
Cross-cutting features in modern CFWs
- EmulationStation-style scrapers — most CFWs ship a scraper or pull from ScreenScraper.fr (see ROM management).
- RetroAchievements — see Achievements / RetroAchievements; most CFWs integrate.
- Themes — community theme packs (Spruce-shape, Patina, etc.).
- Save state per slot + auto-save — universal.
- Sleep / resume — handheld-specific; quality varies.
- Bluetooth controllers / WiFi sync — hardware-dependent.
- TV out — hardware-dependent.
Installation pattern (general)
- Read the install guide on the project's GitHub or Discord — never blind-flash.
- Back up your stock OS image (some CFWs are reversible, some aren't).
- Use a clean SD card, formatted to the project's spec (FAT32 / exFAT / dual-partition).
- Image / extract per docs.
- Boot, configure WiFi, scrape ROMs.
Communities
- r/SBCGaming — generalist subreddit; the single best Reddit hub for handheld CFW news.
- r/MiyooMini, r/RG35XX, r/Anbernic — per-device subreddits.
- CFW project Discord servers — usually the fastest-moving info.
- Retro Game Corps (YouTube) — review channel; honest reviews + setup guides.
- Russ "Retro Game Corps" / Taki Udon / Joey's Retro Handhelds — major creators with current CFW comparisons.
Pick this if…
- Miyoo Mini Plus / V4: OnionOS (default) or MinUI (minimalist).
- Anbernic RG35XX-family: muOS or GarlicOS 2.
- Powerful Linux handheld (RG353, RG503, RGB30, OdroidGo): Knulli or AmberELEC / ROCKNIX.
- Android-based Anbernic (RG405, RG556, etc.): stock Android + ES Android + standalones is the path; Knulli ARM emerging.
- You don't want to flash: stock + RetroArch is fine; CFW is bonus polish.