Last updated: September 2026
GarlicOS is the firmware that made the original Anbernic RG35XX worth owning. Stock firmware on that $50 handheld was a mess; GarlicOS gave it a clean menu, working save states, proper RetroArch cores and real battery life, and for a year it was the reason to buy the device. Then the RG35XX Plus and H arrived on a different chip, and GarlicOS 2 was rebuilt from scratch for them.
Those are two different pieces of software with two different install methods, and every guide that lumps them together produces the “it won’t boot” comments. This one keeps them apart.
Short version of the verdict, which I expand at the end: on the original RG35XX, GarlicOS is still the firmware to run. On the Plus, H and SP, install GarlicOS 2 if you want the classic Garlic look, and install muOS if you want the most complete emulator set. My muOS guide covers that path.
Which Device Do You Have?
| Device | Chip | Firmware |
|---|---|---|
| RG35XX (2022, original) | Actions ATM7039S | GarlicOS 1.x (image flash) |
| RG35XX 2024, Plus, H, SP, Pro | Allwinner H700 | GarlicOS 2.x (two-card, manual) |
| RG40XX H, RG40XX V, RG CubeXX, RG28XX | Allwinner H700 | Not supported by GarlicOS. Use muOS. |
The original RG35XX has one microSD slot. Every H700 device has two, and GarlicOS 2 depends on that.
Part 1: GarlicOS on the Original RG35XX
GarlicOS 1 ships as a disk image. You flash it to a card, add ROMs, and boot.
What you need
- A microSD card, 64 GB or larger. Two cards if you want ROMs separate from the OS, which I recommend so a firmware reflash never touches your library.
- The GarlicOS image, linked from the community’s RG35XX custom firmware site, which points at the developer’s free public Patreon posts. Download the newest RG35XX release
.7z. - A flashing tool: Rufus or balenaEtcher on Windows, balenaEtcher on Mac,
ddon Linux.
Steps
- Extract the
.7z. Inside is a.imgand aReadme. - Flash the
.imgto the first card with Rufus (select DD image mode if it asks) or Etcher. - If you want a second card for ROMs, format it as FAT32 or exFAT and create a
Romsfolder at the root. TheReadmein the download lists the exact system subfolder names, and they have to match;Roms/GBA,Roms/SNES,Roms/PSand so on. - Put the OS card in slot 1 (TF1) and the ROM card in slot 2 (TF2).
- Power on. First boot takes about a minute while it expands the filesystem.
- BIOS files go in a
BIOSfolder at the root of the ROM card, named exactly as RetroArch expects. My BIOS reference lists the filenames.
That is the whole install. GarlicOS 1 is finished software; the last release was in 2023 and it does not need updating.
Part 2: GarlicOS 2 on the RG35XX Plus, H and SP
GarlicOS 2 does not ship as an image. It is a set of files you place on two cards by hand, and it boots through a small bootloader that lives on the stock card. This is fiddlier than muOS, and it is also why the stock firmware stays intact: pull the second card and the device boots stock as if nothing happened.
What you need
Three downloads, all from the GarlicOS GitHub organisation:
| Download | Repository | What it is |
|---|---|---|
| Bootloader | bootloader_anbernic_rg35xxplus (works for Plus, H and SP) | The files that let the stock card hand off to GarlicOS |
armhf-rootfs.7z | buildroot releases, current 2.0.x | The operating system |
init | init_template | The boot script that pairs with the rootfs |
Plus two microSD cards. The stock card that came with the device stays as card 1. Card 2 holds GarlicOS and your ROMs, so buy the biggest one you plan to fill.
Steps
- Bootloader onto the stock card. Put the stock card (TF1) in a PC. Extract the bootloader download and copy its contents to the root of that card: the
Copying,dmenuandReadMefiles plus thedevice-resourcesfolder. Do not delete anything that is already there. - Prepare card 2. Format the second card as exFAT. Create a folder called
bootat the root. - Copy the OS in. Extract
armhf-rootfs.7z; inside is a file calledrootfs.f2fs. Copy it and theinitfile into thebootfolder. Nothing else goes inboot. - Insert both cards. Stock card in TF1, GarlicOS card in TF2.
- Boot. Power on. The bootloader detects the GarlicOS card and starts it. Read the
ReadMefrom the bootloader download for your model; some builds boot GarlicOS automatically and some need a button held on power-up, and the file is the authority for the build you downloaded. - First boot builds the library structure on card 2 and takes a couple of minutes.
Where ROMs and BIOS go on GarlicOS 2
This is the change that catches everyone. GarlicOS 2 does not use a Roms folder. After first boot, card 2 has a Library folder with a subfolder per system, and ROMs go in those. Copy your games into the matching system folders and they appear in the menu on the next boot.
BIOS files go in a BIOS folder at the root of card 2. Create it if first boot did not.
What Works and What Does Not on GarlicOS 2
GarlicOS 2 is still a 2.0.x release and it is thinner than the original in one important way: emulator coverage.
| System | GarlicOS 1 (RG35XX) | GarlicOS 2 (Plus/H/SP) | muOS (Plus/H/SP) |
|---|---|---|---|
| 8-bit and 16-bit consoles | Yes | Yes | Yes |
| Game Boy family | Yes | Yes | Yes |
| PS1 | Yes | Yes | Yes |
| N64 | Limited | Limited | Yes on the H |
| PSP | No | No | Yes |
| Dreamcast | No | No | Yes on the H |
| Ports (PortMaster) | Limited | Limited | Full |
| Wi-Fi (H and SP) | n/a | Limited | Yes |
If PSP or Dreamcast matter to you, that table is the whole decision. If your library is 8-bit through PS1 and you like Garlic’s menu and its quick-resume, GarlicOS 2 does that well and stays out of your way.
Common Problems
Device boots to stock firmware and ignores GarlicOS. The bootloader files are not at the root of the stock card, or card 2 is formatted as FAT32 instead of exFAT. Check both.
Black screen after the boot logo. init and rootfs.f2fs are not both inside boot, or one is inside a nested folder from the extraction. Open boot and confirm the two files sit directly in it.
ROMs are not showing. They are in a Roms folder. Move them to the matching folders under Library.
Windows cannot open card 2 after first boot. GarlicOS 2 keeps its data on the exFAT partition and Windows reads it fine; if it does not, the card was not ejected safely last time. Run a filesystem check from Windows, then copy files as usual.
No PSP, no Dreamcast. Not a bug. GarlicOS 2 does not ship those cores. Switch to muOS or Knulli for them.
Save states from stock firmware are gone. Different firmware, different save folder. Copy the stock .srm and state files into the matching folders under Library on card 2.
GarlicOS vs muOS: My Pick
Original RG35XX: GarlicOS 1, no contest. It is the best that device ever ran.
Plus, H and SP: I run muOS. It has every core, PortMaster, working Wi-Fi, and a release cadence that keeps up with the hardware. GarlicOS 2 is the choice if you want the exact GarlicOS experience on the newer devices and your library stops at PS1. Both are free, both leave stock firmware intact, and switching means swapping a card.
FAQ
Is GarlicOS free?
Yes. GarlicOS 1 is posted publicly with no pledge needed, and GarlicOS 2 is open source on GitHub.
Does GarlicOS 2 work on the RG40XX or RG CubeXX?
No. It supports the RG35XX Plus, H and SP. Use muOS on the others.
Will installing GarlicOS 2 wipe stock firmware?
No. The stock card stays bootable. Remove card 2 and the device boots stock.
Where do BIOS files go?
A BIOS folder at the root of the ROM card, for both versions.
Can I move from GarlicOS to muOS later?
Yes. Your ROM folders need renaming to muOS’s layout, saves copy over, and the stock card is untouched either way.
GarlicOS on GitHub | RG35XX custom firmware community site | muOS
Last verified: September 2026