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 v1.1.0
- Scrape Library on the systems Y menu — scrape every real system in one batch
- Minus starts the screensaver (carousel, system list, and game list)
- Screensaver keeps the screen bright for 30 minutes, then the console can sleep again
- List browser now shows carousel JPGs when there is no dedicated
-listart - Games with no description stay empty (no placeholder text)
- Y menu no longer scrolls the system list behind it
WHAT'S NEW IN v1.0.0
- List-style system browser — optional game-list layout with per-system art, descriptions, smooth scrolling, and wrap navigation (Settings → System Browser Style, or per-theme
browser="list") - Refreshed system backgrounds — updated carousel wallpapers for all default systems
- Carousel transitions — Fade, Slide, Crossfade, Zoom (new default), or None
- Theme background music — drop
bgm.mp3/music.mp3in your theme folder; sample track bundled (Vlad Krotov / Pixabay) - Theme SFX — optional
sfx/nav.wav,confirm.wav, etc. per theme - Carousel readability — halo text + bottom gradient so titles stay legible on bright or dark wallpapers
- Video preview delay — Settings → Appearance: 1–6 second hover delay
- Screensaver defaults — bundled dark/light backdrop images when a theme has no custom
screensaver.jpg - System list polish — selection highlight, theme-aware row separators, shared List Scrollbar setting with the game list
- Also includes everything from v0.3.0: Google Drive cloud backup & restore, Settings hub, playtime rankings, and all prior releases
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
- System carousel or list-style system browser; carousel Fade / Slide / Crossfade / Zoom / None
- 18 built-in themes (dark/light sets) with custom wallpapers, BGM, SFX, and screensaver support
- 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) - Optional Home Menu forwarder install from Settings (Title Override required to install)
THEME ASSETS (OPTIONAL)
Place files under
sdmc:/switch/NXStation/data/theme/{ThemeName}/:bgm.mp3/music.mp3— looping background musicsfx/nav.wav,confirm.wav, … — custom UI soundsscreensaver.jpg/screensaver-light.jpg— screensaver backdrops{systemId}-list.jpg— list-browser preview artbackgrounds/{systemId}.jpg— carousel wallpaper override
Bundled sample BGM is also copied to
sdmc:/switch/NXStation/sample/bgm.mp3 on first launch.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 (v1.0.0: tag)
- Blog / v1.0.0 notes: nxstation.com/blog/1.0.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
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






