Disclaimer
This post 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
However, 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
Basics
- Glossary of common hacking terms
- Switch System Flaws
- NH Switch Guide
- Atmosphère
- FAQ: Not meaningfully updated since 2019, but still relevant
- Atmosphère Configurations
sd:/atmosphere/config/exosphere.ini:blank_prodinfo_emummc=1
- Blocking Nintendo servers
- Created emuMMC and never went online on cfw but switch still banned.
- Theme
Exploit
- RCM
- RCM-exploitable by SN
- RCM exploitation method: Jig preferred
- 3D print model
- Shorted Ports: Right joy-con pin 9-10
- Payload Injector
- Sending payload
- Windows: OmniRCM or TegraRcmGUI
- Android: Rekado or OmniRCM
- Linux: fusee-nano, C, recommended over OmniRCM
Payloads
- fusee: bundled with Atmosphère
- FuseCheck: check fuse to ensure you can safely boot into stock firmware
- hekate_ctcaer: hekate, obviously
- KitNX
- toggle sysMMC network blocking, like NetMan
- repaire downgrade state, like DowngradeFixer
- Lockpick_RCM_Pro: dump
*.keys- Relation: shchmue/Lockpick_RCM -> THZoria/Lockpick_RCMaster -> Lockpick_RCM_Pro
SD Card/switch/*.keyseden/user/keys/*.keysryujinx/portable/system/prod.keysNxFileViewer/prod.keys
- TegraExplorer-Ext: file explorer
Software
Tool
- hekate or hekatos, bootloader
- Atmosphere, firmware
bootloader/payloads, see #Payloads- Unpack
- joycon2-connector, connect Joy-Con 2 / Pro 2 Controller to PC wirelessly
Switch Army Knife: XCI/NSP/NSZ Format Conversion
NRO
A small list of homebrew apps I use
- bundled with Atmosphère
- daybreak, offline firmware installer
- haze, USB file transfer
- hbmenu, homebrew menu, obviously
- reboot_to_payload
- JKSV, Save Manager
- Switch_90DNS_tester, test Atmosphère DNS MITM, not reliable as it would not really send requests to remote listed in hosts file
- See #Cheats for (offline!) single player cheating related stuff
- Sphaira, alternative homebrew menu
- NX-Activity-Log
- nxdumptool
- Dump XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket from gamecards
- See usage guide at ZeldaMods
PPSSPP for Switchuncompatible with current ABI
Overlay
- Setup Guide
- nx-ovlloader: loader service
- Tesla-Menu: first loader
- MissionControl: Use controllers from other consoles natively on Switch via Bluetooth
- sys-con: similar to MissionControl, but for wired controller. N.B. many controllers only work when UNDOCKED, making this sysmodule a little useless.
- Modules
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):
- SysDVR (if a game won’t work, try dvr-patches)
- Getting started
- USB Driver Setup
Amiibo
- Index: amiibo-compatible game
- API: AmiiboAPI
- emuiibo
- TagMo
Generate Amiibo via emuiibo:
java --enable-native-access=ALL-UNNAMED -jar emuiigen.jar- Batch generation -> Generate all -> Tick
Save images - Generate virtual amiibos
Linux Host
udev
sudo mkdir -p /etc/udev/rules.d/
sudo -e /etc/udev/rules.d/10-switch.rules
sudo udevadm control --reload
udevadm trigger
# /etc/udev/rules.d/10-switch.rules
# https://switch.hacks.guide/extras/adding_udev.html
# Tegra X1 USB?
SUBSYSTEMS=="usb", ATTRS{manufacturer}=="NVIDIA Corp.", ATTRS{product}=="APX", MODE="0666"
# https://github.com/pheki/nx-udev
# Switch USB
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
# RCM
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7321", MODE="0666"
Switchroot
Guides
- 14, 15 (aka. LineageOS 21/22 TBA)
- real, upstream LineageOS release, with Switch support
- HAC-001
- Known bugs that I care as of 2024-07-05: JoyCon autopair, overlocking, Android partition on SD
- 11/R Setup Guide
- Unlike Android 10/Q, Android 11 bundles Gapps by default
- Tips & Tricks
- known bugs
- Be sure to do
Factory Resetand wipe data and system EVEN IF you don’t have previous Switchroot installation
Apps
- Regular Apps
- Aurora Store
- Cromite
- Droid-ify
- Magisk (w/ LSPosed)
- Material Files
- Red Moon
- NekoBox (do NOT download from Google Play, dev account is hijacked)
- Termux
- Gaming
- Kirikiroid2_yuri
- Moonlight
- PS Remote Play
- SteamLink
- Xbox
Cheats
- Homebrew
- NRO: Breeze-Beta (w/ SwitchU), EdiZon-SE
- Overlay: EdiZon-Overlay
- Unity Dump Tool: Il2CppDumper
- Tutorial
- Database Location
- Breeze:
sdmc:/switch/breeze/cheats/titles.zip - EdiZon-SE:
sdmc:/switch/EdiZon/cheats/titles.zip
- Breeze:
Database
- Cheat Codes SXOS and AMS Main cheat file (GitHub mirror, used in #usage)
- NX-60FPS-RES-GFX-Cheats
- tomvita/MyNXCheats (EdiZon-SE/Breeze dev)
- If cheats are unavailable in above sources, try searching game title or titleID on GBAtemp, popular games (e.g. Pokémon) usually have their own thread
- If you use Breeze, aio-switch-updater or something similar, it’s also possible to download cheats right there
Usage
Edited from r/Ryujinx:
- Get the attached cheat file named
titles.rarfrom GBAtemp. - Extract that RAR file and find the folder
010093801237C000. You can also just searchMetroid Dread. - Copy the
cheatsfolder in that folder. - Open up Ryujinx and right click on the game file and click on “Open Mods Directory”. This will open a new folder. Paste that
cheatsfolder in this new mods folder that opened up. - Go into the
cheatsfolder and open up the file49161D9CCBC15DF9.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) - Now run the game and the cheats should be activated.
In Eden, instead of standard Atmosphère mod folder, create a new folder and put cheats in that folder. The path should look like <eden-path>\user\load\01009BF0072D4000\[1.3] Cheats\cheats\8f75c9b8b7ff69d9.txt. Note that silly [1.3] Cheats folder.
The most important thing is version. Make sure game build ID (and title ID ofc) matches the cheat. Install/Add update if required.
Some cheats only apply to older versions, you have to choose between new content or old cheats in such case. Of course, you can play old versions with cheats, and enjoy new content later by loading old save files.
Mods
GameBanana is the main source I usually check.
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).
Lakka
- Lakka
- No need to install, just replace
lakka.inibootloader profile and content insidesdmc:/lakka. - No need to reinstall when upgrading, just use Lakka built-in updater.
- To upgrade offline, download tarball & checksum (7z won’t work) of latest edition (e.g.
Lakka-Switch.aarch64-6.1.tar) or nightly builds (e.g.Lakka-Switch.aarch64-6.1-20260827-4f70542.tar) and place it tosdmc:/lakka/storage/.update/AS IS, no need to unarchive or rename or whatever.
Emulation
- Ryubing/Ryujinx
- new features & improvements
- Ryujinx Wiki
- Multiplayer (LDN Local Wireless), this is NOT online multiplayer alternative
- eden
- Relation: yuzu -> suyu -> torzu/sudachi -> citron -> eden
- Switch Firmwares
For cheats: check #Cheats. Compatibility list, save & shader caches are no longer available.
EmuMMC Upgrade Guide
This only serves as a reference and many things are redacted.
- scoop download sb/nxfw
- new firmware waitlist
- hekate/hekatos
- Atmosphère (prerelease, check todo)
- key & firmware dump (Lockpick_RCM_Pro & TegraExplorer-Ext)
- backup BOOT0 & BOOT1 in hekate, do NOT backup eMMC RAW GPP or GPP Partitions (due to size)
- backup & remove
atmosphere/contents/* - update Atmosphère, hekate
- update #Cheats, #Amiibo
- enter stock OS (sysNAND) & update firmware
- enter store to check if switch is banned
- dump
*.keysin hekate via Lockpick_RCM_Pro - dump sysNAND firmware in hekate via TegraExplorer
- update firmware in emuMMC via Daybreak
- restore
atmosphere/contents/*, backup dumped keys - check if titles are playable
- backup BOOT partition, transfer keys & update firmware in Eden/Ryujinx/other places listed in #Payloads
They are: Horizon OS (Stock OS), Atmosphère (CFW w/ emuMMC), LineageOS (Switchroot), and Lakka (RetroArch w/ CPU & GPU overlocking). Depending on your understanding of operating system, it could be tri-boot or penta-boot. ↩︎
