v2026.11 DB LIVEVerified Frame-Time & Emulator Config Recipes for PS2, GameCube, Switch, PSP & iOS Delta
60
RetroFPSHandheld Matrix
Test FPS
🧭 Matchmaker📦 PortMaster📐 16:9 Hacks🕹️ Systems🔋 Battery⚡ Input Lag📺 Shaders🎮 Frontends📱 Handhelds (24)💿 Games (50)⚔️ Versus⚡ Turnip Drivers📦 ROM Compress📐 Screens🛠️ CFW🧠 Chipsets💾 SD Calc
🔄 Cross-Platform Filesystem Architecture

Dual-Boot Linux + Android Shared Directory Guide

Tired of separate save files when switching between ArkOS and Android on your RG353? Stop Android from prompting to format your SD card, configure unified paths for both operating systems, and generate ready-to-paste directory maps.

📁 Unified Shared MicroSD Directory Structure Generator

Select your console hardware to generate a cross-compatible folder structure that allows both Linux and Android to read and write without conflicts.

Linux OS: ArkOS / ROCKNIX / muOS
Android OS: Android 11 (eMMC)
Boot Switching Method: Remove TF1 or hold 'F' key during boot
Recommended TF2 Format: exFAT 64KB recommended
🌲 Unified TF2 MicroSD Directory Tree
SD_CARD_ROOT (exFAT)
├── /bios/                     <-- PS1, PS2, GBA bios files
├── /roms/
│   ├── /gba/                  <-- Pokémon Emerald, Minish Cap
│   ├── /snes/                 <-- Chrono Trigger, Super Mario
│   ├── /psx/                  <-- Final Fantasy VII (.chd)
│   └── /psp/                  <-- Crisis Core, God of War
├── /saves/                    <-- SHARED BATTERY SAVES (.srm / .sav)
└── /states/                   <-- SHARED QUICK SAVE STATES (.state)
          

⚙️ RetroArch Directory Overrides (Copy & Paste into retroarch.cfg)

Point both your Linux and Android RetroArch installations to this exact shared directory on the secondary SD card:

Linux Path (ArkOS / ROCKNIX)
savefile_directory = "/roms/saves"
savestate_directory = "/roms/states"
system_directory = "/roms/bios"
Android Path (RetroArch Android)
savefile_directory = "/storage/XXXX-XXXX/saves"
savestate_directory = "/storage/XXXX-XXXX/states"
system_directory = "/storage/XXXX-XXXX/bios"
1

Always Use exFAT with 64KB Clusters

Linux natively mounts ext4, but Android requires root or custom vold mount scripts to mount ext4 on external SD slots. Formatting the second card as exFAT (with 64KB cluster size using Rufus or GUIFormat) ensures seamless read/write on both operating systems.

2

Disable "Don't Save to ROM Directory"

In stock RetroArch, saves are often stored alongside the ROM file in /roms/gba/pokemon.srm. If you prefer keeping ROM directories clean, point both OSes to the centralized /saves/ folder to avoid accidental save file fragmentation.

3

Beware Android Scoped Storage Prompts

When opening RetroArch or DuckStation on Android for the first time, Android 11 will show a system file picker saying "Allow access to SD card". You must select the ROOT of the card and tap "Use this folder". Failing to do this causes saves to be written to hidden internal sandboxes.

Frequently Asked Dual-Boot Questions

How does dual-booting Linux and Android work on retro handhelds like the Anbernic RG353 series?

Dual-boot consoles (like the Anbernic RG353V, RG353P, and RG-ARC-D) store Android on internal eMMC flash memory, while Linux (such as ArkOS, ROCKNIX, or stock Linux) boots from the TF1/MicroSD slot. If a bootable MicroSD card is inserted into Slot 1 during power-on, the Rockchip bootloader prioritizes Linux. If Slot 1 is empty or holds the Function/F key down during boot, the device boots Android from internal eMMC.

How do you share a single MicroSD card for ROMs and saves between Linux and Android?

Format your secondary MicroSD card (Slot TF2) as exFAT with 64KB cluster size so both Linux and Android can read and write without filesystem permission blocks. Set up a unified root folder: place all ROMs in '/roms/[system]/' (e.g. '/roms/gba/'), point Linux RetroArch save directory to '/roms/saves/', and point Android RetroArch and standalone emulators to the exact same '/storage/XXXX-XXXX/roms/saves/' path.

What is the Android Scoped Storage bug and how does it affect shared save files?

Starting in Android 11, Google introduced Scoped Storage, restricting apps from directly scanning root directories on external MicroSD cards. If an emulator (like RetroArch or DuckStation) is not granted Storage Access Framework (SAF) permissions to the root of the TF2 card, it will silently save games to internal private app storage instead of your shared SD card, desyncing your saves with Linux. Always grant full root tree permissions when prompted.

Why do save files use .srm in Linux RetroArch but .sav in Android standalone emulators?

RetroArch defaults to naming battery save files with the '.srm' extension, whereas standalone Android emulators (like M64Plus FZ, PPSSPP, or NetherSX2) look for '.sav' or raw memory card containers. For RetroArch on both OSes, saves are 100% interchangeable. For standalone Android emulators, you can enable symlinking or configure RetroArch to save as raw SRAM without headers.

Does Android support ext4 partitions on the external MicroSD card?

Stock Android builds on Anbernic and Retroid handhelds often lack ext4 auto-mount scripts in their vold.fstab or mount services, popping up a 'Corrupt SD card, tap to format' notification. Never tap format! Always format your shared games card as exFAT or FAT32, which are natively supported by both Linux and Android kernels.

How do you sync RetroAchievements progress across both Linux and Android?

Ensure both Linux RetroArch and Android RetroArch use the exact same ROM files (identical MD5/SHA1 hashes) from the shared TF2 card, log in with the same RetroAchievements credentials, and enable 'Encore Mode' or 'Hardcore Mode' uniformly across both operating systems.