Guide

muOS Setup Guide: Anbernic RG35XX, RG40XX, and RG28XX

2026-04-02
muOS Setup Guide: Anbernic RG35XX, RG40XX, and RG28XX guide cover image

Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.

muOS is a custom firmware for Anbernic's Allwinner H700 handheld family. Where KNULLI wraps everything in an EmulationStation frontend with scraped box art and a console-like feel, muOS takes the opposite approach: a minimal, hotkey-driven launcher that boots in roughly eight seconds and puts RetroArch front and center. If you want raw speed, low overhead, and direct control over your emulator settings, muOS is your firmware. If you own an RG35XX Plus, RG35XX H, RG40XX H, RG40XX V, or RG28XX, this guide gets you from a blank SD card to a working setup. The Anbernic RG40XX V(affiliate link) is the top H700 pick for new buyers.

Compatible Devices

muOS targets the Allwinner H700 SoC family. Supported devices:

  • Anbernic RG35XX Plus — horizontal form factor, 3.5" IPS display
  • Anbernic RG35XX H — horizontal clamshell-style layout
  • Anbernic RG40XX H — larger horizontal body with analog sticks
  • Anbernic RG40XX V — vertical form factor, excellent ergonomics
  • Anbernic RG28XX — compact vertical device

Not compatible: the original RG35XX (Ingenic T618 chip) and the RG35XX SP are not H700 devices and will not run muOS. Check your model number carefully before downloading.

muOS vs KNULLI: Which Should You Install?

Both muOS and KNULLI are excellent choices for H700 Anbernic devices — they just feel completely different day to day.

✓ Pros

  • Fast boot time (~8 seconds vs KNULLI's ~15 seconds)
  • Low RAM overhead (~60 MB vs KNULLI's ~150 MB)
  • RetroArch-first workflow — hotkeys feel natural if you already know RetroArch
  • Straightforward exFAT second card — plug into any Windows or Mac and drag files
  • Stable, actively maintained releases on GitHub
  • Swap OS cards to try KNULLI anytime — your game card is untouched

✗ Cons

  • No built-in box art scraping — game lists are plain filenames
  • Per-game settings require navigating RetroArch menus rather than a GUI
  • Less console-like experience — closer to a file browser than a front-end
  • PortMaster requires manual setup under Apps (not pre-launched like KNULLI)
  • Smaller community than Batocera/KNULLI — fewer pre-made themes
FeaturemuOSKNULLI
FrontendMinUI-style launcherEmulationStation
Box art scrapingManualBuilt-in
Per-game settingsVia RetroArch menusNative GUI
PortMasterYes (Apps > Tools)Yes (pre-installed)
OTA updatesYesYes
WiFi file transferSamba shareSamba share
RAM overhead~60 MB~150 MB
Boot time~8 seconds~15 seconds

The good news: muOS and KNULLI both live on separate SD cards. You can try one, swap the card, and try the other without losing anything on your game card.

What You Need

Why two cards? Card 1 holds only the muOS OS — once flashed, you rarely touch it. Card 2 holds your ROM library and saves. If you ever need to update or reflash muOS, Card 2 stays untouched. This setup also lets you swap between muOS and KNULLI instantly by swapping Card 1.

Step 1: Download muOS

Head to the muOS GitHub releases page and download the latest release. The official project site is at muos.dev — use the GitHub releases link there to ensure you get the current build.

Download the .img.gz file that matches your device. Filenames follow the pattern muOS-<version>-<device>.img.gz, for example:

  • muOS-2405.1-RG40XXV.img.gz for the RG40XX V
  • muOS-2405.1-RG35XXPLUS.img.gz for the RG35XX Plus

Do not extract the .gz file. Both Rufus and Balena Etcher handle compressed images natively and will flash the .img.gz directly.

Step 2: Flash muOS to Card 1

Windows: Rufus

  1. Download Rufus (free, no install required)
  2. Insert Card 1 into your PC via the card reader
  3. Open Rufus, click SELECT, and choose the .img.gz file
  4. Select the correct drive letter for Card 1 under Device
  5. Click START and accept the "Write in Image mode" prompt

Warning: Double-check the drive letter before clicking START. Rufus will erase the selected drive completely.

Flashing takes 3–5 minutes depending on card speed.

Mac / Linux: Balena Etcher

  1. Download Balena Etcher (free)
  2. Click Flash from file and select the .img.gz file
  3. Click Select target and choose your SD card
  4. Click Flash and wait for it to complete and verify (~5 minutes)

Step 3: First Boot

  1. Insert Card 1 into Slot 1 (labeled TF1 or SYS on most H700 devices)
  2. Power on the device
  3. muOS will expand its filesystem automatically on first boot — this takes about 30–60 seconds
  4. The muOS launcher appears: you'll see main menu sections including Content, Explore, Favourites, History, and Apps

If you have a second card ready, power off, insert Card 2 into Slot 2 (labeled TF2 or GAME), and power back on. muOS detects and mounts the second card automatically.

Step 4: muOS Folder Structure

Once muOS mounts Card 2, it creates the following directory structure automatically:

Card 2 (TF2/GAME):
├── ROMS/          ← your game files go here, in system subfolders
├── BIOS/          ← BIOS files for systems that require them
├── SAVE/          ← save states and battery saves
└── PORTS/         ← PortMaster installs

muOS uses ALL-CAPS folder names. If you create folders manually, match the capitalization exactly.

ROM subfolder names use short system codes, for example:

  • ROMS/GBA/ — Game Boy Advance
  • ROMS/SNES/ — Super Nintendo
  • ROMS/PSX/ — PlayStation 1
  • ROMS/N64/ — Nintendo 64
  • ROMS/GBC/ — Game Boy Color

muOS scans for new content automatically on boot. To trigger a manual refresh, navigate to Apps > System > Content Refresh.

Step 5: Adding Games

Only add legally-owned ROM files you have dumped from cartridges or discs you own.

Option A: Direct SD Card (Recommended for muOS)

muOS formats Card 2 as exFAT, so any Windows, Mac, or Linux machine can read and write it directly.

  1. Power off the device completely
  2. Remove Card 2 and plug it into your computer via the card reader
  3. Drag ROM files into the appropriate ROMS/<system>/ folder
  4. Safely eject Card 2, re-insert it into the device, and power on
  5. muOS scans for new files automatically on boot

Option B: WiFi Samba Share

muOS supports WiFi file transfer when connected to your network.

Windows:

  1. Open File Explorer and type \\<device-ip> in the address bar
  2. Navigate to ROMS/<system>/ and paste your files

Mac:

  1. Open Finder > Go > Connect to Server
  2. Enter smb://<device-ip> and click Connect

To find your device's IP address: Apps > System > Network Settings — the IP is displayed on screen.

Step 6: BIOS File Placement

Some systems require BIOS files to emulate properly — most notably PlayStation 1, Game Boy Advance, Neo Geo, and Sega CD. Place BIOS files directly in the BIOS/ folder on Card 2 (no subfolders):

BIOS/
├── scph5501.bin     ← PS1 BIOS (US)
├── gba_bios.bin     ← GBA BIOS
├── neogeo.zip       ← Neo Geo BIOS
└── ...

muOS passes the BIOS/ path to RetroArch automatically — no manual path configuration needed. If a core reports a missing BIOS, confirm the filename matches exactly what that core expects (filenames are case-sensitive).

Step 7: Navigating the muOS UI

muOS uses a minimal directional interface — no touchscreen, no pointer. The controls are consistent across every screen:

InputAction
D-pad / Left stickNavigate menus
AConfirm / launch
BBack / cancel
StartOpen system menu
SelectSecondary options / info
L1 / R1Page up / page down in long lists

Main menu sections:

  • Content — browse your ROM library by system
  • Explore — file browser across Card 2
  • Favourites — games you've starred
  • History — recently played
  • Apps — system tools, PortMaster, network settings, updates

In-game hotkey combos (hold the hotkey button — typically Menu or Select):

ComboAction
Hotkey + StartQuit game, return to muOS
Hotkey + R1Save state
Hotkey + L1Load state
Hotkey + BOpen RetroArch Quick Menu
Hotkey + AToggle fast forward

Step 8: Configuring RetroArch Settings

muOS uses RetroArch as its emulator backend for every core. You can configure RetroArch globally from the muOS menu or from inside a running game.

Global Configuration

  1. From the muOS main menu, navigate to Apps > System > RetroArch
  2. This opens the RetroArch main menu directly
  3. Go to Settings and adjust video, audio, input, and core options as needed
  4. Navigate to Main Menu > Configuration File > Save Current Configuration
  5. Press B repeatedly to return to muOS

Per-Core and Per-Game Overrides

  1. Launch any game
  2. Press hotkey + B to open the RetroArch Quick Menu
  3. Adjust settings (core options, video filters, shaders, controller remaps)
  4. Navigate to Quick Menu > Overrides:
    • Save Core Override — applies settings to all games on this system
    • Save Game Override — applies settings to this ROM only

Core overrides are the most useful setting: configure the video filter and CPU clock for an entire system once and never touch it again.

Step 9: Save States

Save states let you pause and resume a game at any moment — useful for games without native save systems.

  • Save state: press hotkey + R1 in-game
  • Load state: press hotkey + L1 in-game
  • Cycle save slot: use the RetroArch Quick Menu (hotkey + B) > State Slot to switch between slots 0–9

Save states are written to SAVE/<system>/ on Card 2 and are tied to the ROM filename. Moving or renaming a ROM file will orphan its save states.

Battery saves vs. save states are different. Battery saves (.srm files) are the in-game save data — they persist automatically. Save states are snapshots of the emulator's exact memory state and are separate files.

Step 10: PortMaster

PortMaster is a community tool that brings native Linux ports of commercial and open-source games to handheld devices. muOS includes PortMaster support under Apps.

  1. From the muOS main menu, go to Apps > Tools > PortMaster
  2. PortMaster launches and connects to its repository (WiFi required)
  3. Browse the port list and press Install on any port you want
  4. After installation, ports appear in Content > Ports or directly under Apps

Popular free ports that run well on H700 hardware:

  • Celeste — full platformer, runs flawlessly
  • Cave Story — the classic freeware version
  • OpenBOR — beat-em-up engine with hundreds of community mods
  • OpenMW — Morrowind engine (requires the original game's data files)
  • 2048 — simple puzzle game, great for testing the setup

Some ports require you to supply data files from the original commercial game — PortMaster displays a note when this is the case.

Step 11: Updating muOS

muOS supports over-the-air updates directly from the device.

  1. Ensure you're connected to WiFi (Apps > System > Network Settings)
  2. Navigate to Apps > System > Update
  3. muOS checks for a newer release and downloads it if available
  4. The device reboots, applies the update to Card 1, and returns to the launcher

Card 2 (your ROMs, saves, and BIOS files) is never touched during an update. If you prefer to flash manually, download the latest .img.gz from GitHub and reflash Card 1 using Rufus or Balena Etcher — Card 2 is unaffected.

muOS vs KNULLI: Which Should I Use?

  • Choose muOS if you want the fastest possible boot, prefer hotkey-driven RetroArch navigation, or don't need box art and a graphical frontend. muOS is also the better starting point if you're already comfortable in RetroArch.
  • Choose KNULLI if you want a console-like browsing experience with scraped box art, enjoy per-game configuration through a GUI rather than RetroArch menus, or want PortMaster accessible right from the main screen.

Both firmwares are free, actively maintained, and live on separate SD cards. Format Card 2 as exFAT and you can swap OS cards in under a minute to try the other. There's no wrong answer — the right firmware is whichever one you actually enjoy using.

muos anbernic custom-firmware guide retroarch