Skip to content

Instantly share code, notes, and snippets.

@asciimo
Created July 30, 2026 04:08
Show Gist options
  • Select an option

  • Save asciimo/46ad8f06ec090fde257ae08ce6d30636 to your computer and use it in GitHub Desktop.

Select an option

Save asciimo/46ad8f06ec090fde257ae08ce6d30636 to your computer and use it in GitHub Desktop.
Steps I Took Setting Up RetroArch on My Switch

Retrogaming on the Switch

2026-07-03

I stood in line for my switch for several hours one midnight in the late 20-teens, finally getting mine from BestBuy at something like 3am. I used it a fair amount for the first year or two, and then it mostly collected dust. Until now! Evidently, Switches made prior to August 2018 have an unpatchable bug that allows you to run alternative bootloaders and firmwares. You can even run Linux on it.

RCM Loader

I bought an RCMLoader off Amazon and thought it would "just work," but there's more to it. Especially when the RCM loader itself doesn't seem to work.

It's supposed to show up as a USB storage device when plugged into a computer, but it didn't for two Linux boxes, Windows, or Android. No device recognition at all. I tried 3 different cables (including the one that came with it), to no avail. There's a way to reset it using a pin, which I tried, but either I failed or it was ineffective.

More on the RCMLoader:

So, fuck the RCM loader. It came with the RCM jig, at least, which works.

Rekado on the Galaxy Tab S8

I got into RCM mode successfully using Rekado on android. On my Arch box, I used adb to install the APK on my Samsung Galaxy Tab S8:

yay -Sy android-tools
yay -Sy android-sdk-build-tools

Not sure I installed both, maybe just the second one?

Next steps:

Now I need to set up an SD card for the bootloader to load.

Some resources for that:

Custom Firmware (CFW)

  • emuNAND/emuMMC vs. sysNAND/sysMMC
    • emuMMC is offline, entirely on an SD card
      • offline only
      • very low brick risk
      • reduced OS performance correlated with SD card speed
    • sysMMC uses CFW in the Switch's system filesystem
      • less SD card space
      • requires NAND backup to recover from mistakes
      • higher risk of bans thanks to Nintendo's telemetry

So it seems like I should go the emuMMC route.

Ok, I booted into hekate! And I repartitioned the SD card from the Tools menu, and created an emuMMC. And from there I was able to run atmosphere from the albums. I think I might need to copy some more files over to the SD card? Not sure how to get retroarch running, or do anything further with the switch, actually.

Thursday, 2026-07-09

Wow, I could not figure out how I got the Switch set up. I cycled through all my computers, and finally tried the Galaxy Tab 8, but it needs to be charged.

My 2 256GB SD cards came in, so I'm going to try again from the top. But I'm going to use my Arch box to inject the payload using JTegraNX

Worked!

  1. Insert the jig
  2. Hold volume up and press power once
  3. Remove the jig
  4. Run Jtegra
    sudo java -jar JTegraNX-1.7.0.jar
  5. connect the switch via usbc
  6. JTegraNX says OK. Brows for the bootloader. I selected ~/Documents/RetroGames/Switch/sdcard/hekate_ctcaer_6.5.3.bin
  7. Click Inject

This brought up Hekate.

I then inserted one of the cards, went to USB tools, and then followed the instructions on Partitioning the MicroSD Card and Creating the emuMMC

I then continued through the instructions, adding tico.nro to the files. Though I'm not sure if this would be in addition to retroarch, or instead of...

Then, to add RetroArch and all its dependencies, I went to buildbot.libreto.com and downloaded RetroArch.7z. I opened that in Dolphin, and copied retroarch, switch, and retroarch.jpg into the root of the SD card. It took a long time, being nearly 3GB.

Thought about the games I want:

  • Arcade
    • Arkanoid
    • Sinistar
    • Burgertime
    • DigDug

Sunday, 2026-07-12

I copied the Mame 2003 Roms, booted, started RetroArch, and got a segfault or something. There was a warning on the atmosphere menu about "not compatible with current ABI". Turns out RetroArch version 1.22.2 doesn't support the latest atmosphere/switch firmware or something. I need to reinstall the nightly build of Retroarch:

RetroArch Nightly

I chose 2026-07-12_RetroArch.7z.

I copied it all over to the switch, and chose "replace." Hopefully there aren't legacy files that will cause problems.

Still failed. So let's look more closely.

Firmware: 22.5.0 Atmosphere: 1.11.2-master-5388824be

RetroArch's GitLab repo has a doc that might help: Updating Switch Firmware and Atmosphere That doc led me to this section of the NH Switch Guide I ignored: Keeping your system up-to-date I ignored it because I had fresh installs of Atmosphere and Hekate. I didn't realize the real Switch firmware had to be updated.

This is where I see my sysMMC (I think) has 22.5.0IAMS 1.11.2|S, just like the Console info in Hekate said (emuMMC, I think).

Hm, but System Settings > System > System Update said my firmware was up to date.

So now I'm confused. I need to find a source of information with historical releases of emuMMC and sysMMC versions.

Latest official firmware: 22.5.0, June 15, 2026

After watching the video on the Libreto docs page, I realized I was launching Atmosphere in Applet Mode (via Switch Album), when I should have used the game launch mode. (Hold R1). Got Arkanoid running! But need to configure:

  • vertical mode
  • right analog stick as dial

Sunday, 2026-07-12

Success! I set TATE mode, which is a core setting that you can set just for the curent game. It sets the orientation to what the game originally used. Looks great on Switch. Then I had to right controller 2's stick to UP = right, DOWN = left. L3 (left stick button) pulls up the emulator menu, where you can adjust the DIAL (now right stick) sensitivity and speed. Haven't found a good match yet; the experience with the little joycon stick is far from that of the arcade version's dial. More iterations to come!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment