Nintendo Switch Homebrew 101

Disclaimer

The post is barely a collection of tools (with inappropriate content stripped) for my future reference, and will NOT get updated regularly as I maintain it inside Obsidian now.

It contains content including:

  • How to exploit RCM so one can run custom firmware on Switch
  • How to run games one dumped from legitimate game cartridges
  • How to have a super fancy quadra-boot console1
  • Recommended Apps on Switchroot (Android)
  • Extra tips about emulation

But it WILL NOT tell you:

  • How/Where to download pirated games
  • How to install unauthorized game copies on Switch
  • How to weld inner circuit to make patched Switch RCM-exploitable
  • How to do resource unpacking of Switch games
  • How to play DOOM on all quadra-boot systems

Knowledge Base

Software

SDSetup is an all-in-one site for beginners to pick useful packages. Archived now and migrate to DeepSea is recommended. Note that it’s still outdated so you’d better just start here and move on to respective repos. There is a Featuring list available in README.

My deprecated SDSetup bloated setup package list for personal reference:

atmosphere
hekate
tesla_menu
atmos_ovlloader
atmos_sys-clk
edizon_overlay
ovl_sysmodules
appstorenx
pplay
edizon
fakenews-injector
jksv
goldleaf
nxdumptool
nxthemesinstaller
ppsspp
mgba
pnes
psnes
pfba
fusee-primary
tegrarcmgui
ns-usbloader-linux
rekado

Overlay

Guides

Homebrew

Amiibo

Switchroot

Atmosphère (CFW)

Run NDS Games on Switch

The melonDS on Lakka (LibRetro) sucks. It runs at 80% emulation speed even with 1.7GHz CPU overlocking. And there is no obvious way to rotate the screen, which could have made it less useless.

Another port by RSDuck offers full speed emulation w/ built-in rotate feature in the very first drop-down menu. Just remember to place the BIOS files from Emulation General Wiki I got from a random YouTube video from another random Reddit post on r/SwitchPirates . Also, CJK chars won’t display in the melonDS port. Be sure to rename the roms to English titles.

Streaming

Stream switch games to PC via USB or network w/ 720p@30fps video & 16bit PCM@48kHz stereo audio (can’t be higher due to hardware limit):

Cheats

Database

Usage

Edited from r/Ryujinx:

  1. Get the cheat file from GBAtemp. It is the title.rar attached to the first post here.
  2. Extract that RAR file and find the folder 010093801237C000. You can also just search Metroid Dread and you’ll find it.
  3. In that folder is a cheats folder. Copy this folder.
  4. Open up Ryujinx and right click on the game file and click on “Open Mods Directory”. This will open a new folder. Paste that cheats folder in this new mods folder that opened up.
  5. Go into the cheats folder and open up the file 49161D9CCBC15DF9.txt. Remove any cheats you don’t want to activate and only leave the cheats you want to have on. Save the file and close the text editor. (You can also enable only a few of them in Ryujinx GUI)
  6. Now run the game and the cheats should be activated.

In Suyu, instead of standard Atmosphère mod folder, create a new folder and put cheats in that folder. The whole thing looks like <suyu-path>\user\load\01009BF0072D4000\[1.3] Cheats\cheats\8f75c9b8b7ff69d9.txt. Note that silly ==[1.3] Cheats== folder, that’s the point.

The most important thing to get it work is version. Make sure game build ID (and title ID ofc) matches the cheat. Install/Add update before using cheat. If not, try to waste 3 hours searching & debugging like me, only to find out it’s caused by the mismatched NSP :)

Mods

With Yuzu website taken down, Game Modding and Switch Mods are no longer accessible (w/o Internet Archive), so GameBanana is the main source I usually check.

Example

Fire Emblem: Three Houses is somewhat a dating sim or Otome/gal game. Let’s say I want to have a skin mod called Agarthan Academy which would make female characters look more charming.

Usually emulators work a bit differently, so mods created for Switch may not be compatible. This mod offers both versions so no worries. Just download the zip, extract the content and copy it to mod directory (N.B. when using Ryujinx, use the mod directory instead of Atmosphere mod directory).

Switchroot (Android)

App List

  • Regular Apps
    • Aurora Droid / Neo Store
    • Cromite
    • Magisk (w/ LSPosed)
    • Material Files
    • Red Moon
    • NekoBox
    • Termux
  • Gaming
    • Console Launcher (bundled w/ Switchroot Android 11)
    • Kirikiroid2_yuri
    • Moonlight
    • Nvidia Shield TV
    • PS Remote Play
    • SteamLink
    • Xbox

Lakka

Emulation

EmuMMC Upgrade Guide

This only serves as a reference and many things are redacted.

  1. receive Nintendo Switch 本体更新情報 from RSSHub
  2. new releases waitlist
    • hekate
    • Atmosphère (prerelease)
    • key & firmware dump (Lockpick_RCM & TegraExplorer)
  3. backup & remove atmosphere/contents/*
  4. update Atmosphère, hekate
  5. update #amiibo & possibly other nro (from DeepSea)
  6. enter stock OS (sysNAND) & update firmware
  7. check if switch is banned
  8. dump *.keys in hekate using Lockpick_RCM
  9. dump sysNAND firmware in hekate using TegraExplorer
  10. update firmware in emuMMC using Daybreak
  11. restore atmosphere/contents/*
  12. check if titles are playable
  13. backup BOOT partition, transfer keys & update firmware in Suyu/Ryujinx

Todo


  1. They are: Horizon OS (Stock OS), Atmosphère (CFW w/ emuMMC), Android 10/Q (Switchroot), and Lakka (RetroArch w/ CPU & GPU overlocking). Depending on your understanding of operating system, it could be tri-boot or penta-boot. ↩︎

Vinfall's Geekademy

VENI VIDI VICI