This guide covers installation of the public release of Switchroot Android 10/Q, based on LineageOS 17.1, on the Switch. The original home of this guide was here. All photos are credited to @bylaws on XDA Developers Forum.
hekatebootloader from HERE (
hekatearchive to the root of the SD card
icosa-tab(standard tablet Android) or
Your SD card should now look like this, assuming it is shared with HOS (Horizon OS/Switch OS):
root |- bootloader | |- ini | | |- ... | |- payloads | | |- ... | |- res | | |- ... | |- sys | | |- ...
Prepare Switch, boot into hekate, and dump JoyCon pairing info
a. Boot into HOS and ensure Joy-Cons are paired
b. Insert your SD card into your Switch, slide the RCM jig into the right rail
c. Hook your Switch up to your PC (or other payload injector) via USB-C and power off the console
d. Press Power and VOL + simultaneously to enter RCM mode and inject the hekate payload (
hekate_ctcaer_[version].bin) that came with your downloaded hekate zip
NOTE: To keep it simple you can use this in Google Chrome (not compatible with other browsers), check "Upload .bin payload" and select the payload mentioned above, then click "Do the thing!" and select "APX" from the pop-up menu.
e. Once booted into
hekate, you can remove the RCM jig, and launch Nyx Options
f. Dump your Joy-Con BT pairing information (with your Joy-Cons railed)
g. Ensure the message is correct, otherwise physically re-connect and re-pair the JoyCons in HOS and try again
Partition SD card in hekate
a. Navigate to
hekate's partition manager
b. Use sliders to select appropriate space for each OS (we recommend at least 16 GB for Android, although it should be usable with ~8GB), then press Next Step
NOTE: this step creates multiple partitions for a somewhat standard AOSP layout -- look HERE for more information if interested
c. You may want backup Nintendo folder or any CFW files if necessary via
hekate's SD UMS tool over USB-C or by removing the SD card and reading directly on a PC (
hekate/Nyx can pause and reload when SD is removed), but Hekate will offer to backup and restore up to 1 GB of data from your existing file-system.
Add ROM zips to SD
a. Plug the Switch into your PC and select "SD UMS"
b. Extract the
icosa-atv zip to the root of the SD card (any major unzipping program should work fine as of 8/16/21)
Your SD card should now look like this:
root |- bootloader | |- ini | | |- ... | |- payloads | | |- ... | |- res | | |- ... | |- sys | | |- ... |- Nintendo | |- ... |- switchroot | |- android | | |- ... | |- install | | |- ... |- lineage-17.1-[date]-UNOFFICIAL-[device]-signed.zip
Add other zips and enter recovery
a. If you would like to add Google Play functionality, we follow the recommendations of the LineageOS org on which GApps package to install. For standard tab Android, use MindTheGapps 10.0 for arm64, and for Android TV, use OpenGApps 10.0 tvmini for arm64.
b. If you have any other flashable zips, place them on the root of the SD card
c. Safely remove/eject the SD UMS device from your computer
d. Back on the Switch, select "Flash Android" and accept the prompt to reboot to recovery
e. Swipe right to allow writing to the SD
f. Press Install, then "Select Storage" in recovery and select "Micro SD Card"
g. Install the Lineage zip, followed by your GApps zip and any other zips you may have to install (see Extra Zips), and select Reboot -> System
a. If setup gets stuck on voice detection go back to the Wi-Fi config page and select "Skip for now"
b. Your JoyCons will not auto-pair on first boot--reboot to auto-pair your dumped JoyCons in Android
a. Boot Switchroot Android from More Configs --> Switchroot Android 10 in
b. Hold VOL + on choosing this option to get back to recovery to flash zips
c. Hold VOL - on choosing this option to get back to
hekate without having to reinject a payload
d. Rebooting the Switch will take you back to stock firmware
Asking for support/If you get stuck
a. First, get a screenshot of SD Info in
hekate--this will allow us to rule out the most common issue first
b. If you are experiencing seemingly unintended behavior while already booted into Android, try and get us a log--find a guide on how to install
adb, enable USB debugging in developer options on the Switch, plug into the computer with adb installed, and run
adb logcat > switchroot.log. If this seems like too much for you, just get a bug report from developer settings.
c. Submit the screenshot and logs if needed to in our Discord server--the invite link can be found HERE.
<FREQUENCY>_OC-April_8th.zippackage from HERE to use it
Updates are pushed through OTA (over-the-air) updates, just like any standard Android OEM. Use the Updater in Settings to get the latest updates without losing data.