Peace be upon all forum members.
A bit of background on why this exists.
I wanted something on Switch that actually handles the library side before RetroArch, not another playlist buried in RetroArch settings. RetroArch itself is fine; configuring playlists by hand is not, and there is not much help for art or metadata without doing everything yourself. The UI also feels dated compared to what people use on other handhelds.
Tico has a solid approach and I respect the work there. It just did not fit me for three reasons: batch scraping was not there yet for how I wanted to work, I could not customize save/load state keys the way I wanted, and managing tiles felt more tedious than I had patience for. What I wanted was closer to what I already do on my other devices: drop ROMs in folders, bring over media if I have it, scrape only what is missing, and move on. Themes matter to me too but not a deal breaker, but nice when you change things up now and then.
I had poked at this idea a few times before. More than once the answer from tooling and AI assistants was basically “this is borderline impossible on Switch” or too heavy to bother. Last week I tried again anyway and thought well, let’s just try and see where the limitation actually is. After a lot of iteration with agentic coding help, I ended up with something I actually use myself. It is not perfect, but it covers most of what I liked about ES-DE-style frontends on my ArkOS R36S and a similar setup on my Mangmi Air X.
WHAT'S NEW IN v0.3.0
- Cloud Save — Settings → Cloud Save: link Google account, Backup Saves to Cloud, optional Auto Cloud Save when you return from a game (full ZIP of RetroArch saves + states)
- Cloud Restore — pick a backup from Drive, merge into your current RetroArch paths; local pre-restore ZIP; progress log; hold B 3 seconds to abort
- Settings hub — six sections instead of one long list: App & Launcher, Emulator and Systems, Appearance and Control, Cloud Save, Scraper, Help and About
- Playtime rankings — Y menu → Playtime Analytics: top games/systems by playtime and by how often you opened them
- Launch tracking — NXStation counts library launches even when RetroArch runtime logs are off
- cloud.log — backup/restore details at
sdmc:/switch/NXStation/log/cloud.log - Settings nav fix — D-pad works immediately (no more needing to open Y menu first)
- Auto backup polish — skips quietly when offline, no saves, or backup already running
WHAT NXSTATION IS
NXStation is a native Switch homebrew frontend (C++, Borealis UI). It scans your SD card, shows systems and games with box art and metadata, and launches through RetroArch (or standalone cores for some systems). When you close a game, it tries to put you back where you were browsing. It is built around an ES-DE-style
roms/ folder layout, so if you already organize that way on a Pi or a Chinese handheld, you can copy media and gamelist.xml over without reinventing everything.MAIN FEATURES
- ES-DE-compatible folder layout and media (
gamelist.xml, box art, thumbnails) - ScreenScraper.fr integration — single game or batch scrape; caches on SD card for offline browsing
- Optional PDF game manuals from scrape (off by default) — read in-app with cover/spread, zoom, pan
- Google Drive cloud backup & restore for RetroArch save files and save states (Settings → Cloud Save)
- RetroArch as the emulator backend (per-system cores in config); optional standalone Tico cores for GameCube / Wii / 3DS
- List / carousel views (fade / slide / none transitions), favorites, last played (date + time)
- Search, jump-to-letter, random pick, screensaver
- Optional video previews in the game list (needs full RAM — see below)
- Launch zoom + fade handoff before RetroArch
- Playtime Analytics + Personality Metrics + play rankings (main carousel Y menu)
- NXStation session tracking for games launched from the library (playtime + launch counts)
- Organized Settings hub — App, Emulator, Appearance, Cloud Save, Scraper, Help
- Settings → Check for Updates from GitHub Releases
- Hide Empty Systems default On; edit
roms_config.jsonthen Scan / Rescan (no full restart) - Built-in color themes (dark/light sets) and some customization
- Optional Home Menu forwarder install from Settings (Title Override required to install)
CLOUD SAVE (QUICK NOTES)
- Each backup is a new timestamped ZIP on Google Drive — full re-zip + upload, not an in-place patch
- Auto Cloud Save runs once when you return to NXStation after playing (if enabled, linked, online, and saves exist)
- NXStation cloud backups are not the same format as RetroArch’s own cloud backup
- Link Google account once under Settings → Cloud Save; see
cloud.logif something fails
SUPPORTED SYSTEMS (DEFAULT CONFIG)
28 folder IDs out of the box:
atari2600, atari5200, atari7800, atarilynx, atarijaguar, atarist, nes, snes, n64, gb, gbc, gba, nds, 3ds, gc, wii, megadrive, mastersystem, gamegear, saturn, dreamcast, psx, psp, pce, cps1, cps2, neogeo, arcade. More can be added in roms_config.json if you have a matching RetroArch or standalone core.REQUIREMENTS
- Modded Switch with homebrew (Atmosphere, etc.)
- RetroArch for Switch installed (
sdmc:/switch/retroarch_switch.nroand cores undersdmc:/retroarch/cores/as usual) - Title Override is required. Hold R on a game icon on the Home Menu, launch homebrew from there, then start NXStation. The normal Homebrew Menu applet mode does not have enough RAM for video previews, caching, and stable launching — the app will tell you if you started wrong.
- Optional: ScreenScraper.fr account for scraping; Wi-Fi when you scrape, check for updates, or use cloud backup
- Optional: enable RetroArch Save runtime log for richest playtime analytics (NXStation still tracks library launches without it)
- Cloud backup/restore: internet + linked Google account (Settings → Cloud Save)
QUICK SETUP
- Download
NXStation.nrofrom GitHub releases (or Settings → Check for Updates if you already have v0.1.8+) - Copy to
sdmc:/switch/NXStation/NXStation.nro - Put ROMs in
sdmc:/roms/{system}/(example:sdmc:/roms/snes/) - Launch via Title Override as above
- Optional: Settings → Cloud Save → link Google account before enabling auto backup
Example layout:
Code:
sdmc:/roms/
├── snes/
│ └── some_game.sfc
├── nes/
└── gba/
DOWNLOAD & LINKS
- Releases: GitHub — NXStation releases (v0.3.0: tag)
- Blog / v0.3.0 notes: nxstation.com/blog/0.3.0.html
- Source / issues: github.com/jiraiya78/NXStation
- Project page: nxstation.com
- Wiki: nxstation.com/wiki.html
- Blog index: nxstation.com/blog.html
KNOWN LIMITATIONS
- Early release — expect bugs, missing polish, and things I have not thought of yet
- No ROMs, BIOS, or RetroArch in the project; frontend only
- Standalone Tico cores are not included in playtime analytics the same way as RetroArch library launches
- Cloud save backs up RetroArch save/state files — not a full SD image or ROM library sync
- Some planned ideas (grid view, background music, in-app RetroArch auto save/resume) are not in yet
- I am not affiliated with Nintendo, RetroArch, ES-DE, or Tico — just a user building what I needed
PERSONAL NOTE
I have been around emulation and homebrew for a long time (close to 15 years), but honestly I probably will not play much on Switch right now. Work, family, and life take most of the time. Still, having the library set up properly on the console feels good. If NXStation saves someone else a bit of setup pain or makes today a little nicer the way it did for me while building it, that is rewarding enough for me.
Bug reports and feedback on GitHub are welcome. If something breaks on your setup, issues with logs or clear steps help a lot (
sdmc:/switch/NXStation/log/NXStation.log).Peace and love.
Last edited by Azricc,









. I thought it was taken down together with GC. Will remove it from default system in upcoming fix. Thank you for highlighting






