Tutorial
Updated
How to install Android 8.1(LineageOS) to your Nintendo Switch
Before following this guide. Please note that you will need to have some prior experience with both Switch Hacking, and Android in order to install this properly. As this guide will assume you already know how to enter RCM mode and push payloads, and do basic recovery mode tasks
Requirements:
Of course, if there is anything that I should elaborate on, or if you have any questions/concerns in regards to this process. Please do not hesitate to ask or reach out.
Requirements:
- A hackable Nintendo Switch(Non iPatched Unit) To check if your Nintendo Switch is hackable. Please follow Step 2 on this page
- A dedicated SD card(16gb minimum)
- A way to push access RCM mode and push Payloads(Hekate)
These are not my screenshots. These have been taken from the XDA Thread
Download and install BalenaEtcher to set up your SD card. Click here to download BalenaEtcher
Go to XDA release thread here, and download the image for your SD card size. For example, I am using a 32gb SD Card so I will need to download the 32GB Image. DO NOT EXTRACT THE DOWNLOADED IMAGE!
Open BalenaEtcher, and select the image you just downloaded. Once the image is selected, go ahead and select your SD card if it was not automatically selected. Please double check that the correct drive is selected before clicking "Flash" as this will erase whatever drive is selected. Once you have confirmed that the correct drive is selected click "Flash"
Once you click flash you will need to wait upwards to an hour and a half for the image to flash and validate. If this process takes longer than an hour something may have gone wrong. Please start from step 1 and try again. Sometimes changing SD cards will help. You may also have a window pop up asking to format one of your disks. Just close out of these windows.
Once the flash is complete navigate to this XDA release thread again and download the "shield-ifier" zip file and place this zip file on the first partition of the now flashed SD card. For me, this was located at "F:/"
Next, you will need to Download GApps for Android 8.1, with Arm64 from here. Once this file is downloaded. Place this on your SD Cards first partition right alongside your "Sheild-ifier" zip file. Like I did below. Once again for me, this directory was "F:/"
Now close this spoiler and move onto Section 2!
Go to XDA release thread here, and download the image for your SD card size. For example, I am using a 32gb SD Card so I will need to download the 32GB Image. DO NOT EXTRACT THE DOWNLOADED IMAGE!
Open BalenaEtcher, and select the image you just downloaded. Once the image is selected, go ahead and select your SD card if it was not automatically selected. Please double check that the correct drive is selected before clicking "Flash" as this will erase whatever drive is selected. Once you have confirmed that the correct drive is selected click "Flash"
Once you click flash you will need to wait upwards to an hour and a half for the image to flash and validate. If this process takes longer than an hour something may have gone wrong. Please start from step 1 and try again. Sometimes changing SD cards will help. You may also have a window pop up asking to format one of your disks. Just close out of these windows.
Once the flash is complete navigate to this XDA release thread again and download the "shield-ifier" zip file and place this zip file on the first partition of the now flashed SD card. For me, this was located at "F:/"
Next, you will need to Download GApps for Android 8.1, with Arm64 from here. Once this file is downloaded. Place this on your SD Cards first partition right alongside your "Sheild-ifier" zip file. Like I did below. Once again for me, this directory was "F:/"
Now close this spoiler and move onto Section 2!
Requirements:
Learn how to access and use RCM Mode. To learn about RCM mode, how to access it please check out this page here.
Hekate Payload
A way to push the hekate payload. To learn how to go about this, please check out this page
Now that the most difficult part of the process is complete, we can now learn how to both boot into our new Android installation, but what we need to do to set it up before it will work properly!
If you have not already, please take your SD card out of your PC and insert it into your Nintendo Switch. From here you will now need to access RCM mode and push the Hekate payload.
Once Hekate launches on your Nintendo Switch. Select Launch by scrolling with the volume buttons, and selecting it by pressing the power button. Then scroll and select "More Configs..."
Before you scroll and select "Switchroot Android" on this screen, get ready to hold your "volume up" button as you will need to press and hold this, the same time that you select "Switchroot Android" Once you're ready. Do this and wait until you see the TWRP menu. Once you see this you can let go of "volume up" Please note, that if you do not enter this TWRP menu first. You may need to reset up your SD Card as GAPPs need to be installed prior to first boot since this is a Beta release. Otherwise, you may not be able to complete the setup.
Once in TWRP you will receive a message asking you to allow TWRP to keep the system as read only or not. Swipe right to allow TWRP to make it's modifications
From here select Mount by touching it on the touchscreen, and check the checkbox next too "system" it may take a few seconds for any paritions to appear. Once the box is selected tap the back button. If this step is not done you will be unable to install Open GAPPS
Now select install, and navigate up a lever in the folder selection on the page, then scroll down and select "external_SD"
From here you will see your two ZIP files from the previous selection. Please select these zip files one at a time starting with "open_gapps" and install each of them. If the system asks you to swipe prior to installation. Go ahead and do so. You will also be asked to wipe the cache/dalvik after installation. Again go ahead and do so. Once complete you can go ahead and click the back button to both leave the installation screen for the next step. Or install the "shield-ify" zip if you choose to use it.
Once you go back to the main menu, you may be asked to install TWRP. If you are asked to do so, go ahead and install it, and wipe the cache/dalvik. Otherwise, go ahead and reboot your system into Hekate and select "Switchroot Android" like before. However this time you will not need to hold "Volume-up" unless you want to access the TWRP menu again. If you're not asked to install TWRP you will need to do so manually if you want root access on your device. Otherwise go back to the Main Menu, select reboot, and tap the "Power off button"
Now enter RCM mode and boot into Hekate again
Once in Hekate, navigate too "Switchroot Android" again and select it without holding "Volume up". Once this is complete, you will begin to boot into LineageOS. Because this is your first boot it may take upwards to 10min for it to boot completely and allow you to set up the android system. Reboots after this initial setup will be faster.
Once booted and setup, you should now have a fully functional Android Tablet! You can now go ahead and set up any emulators or apps as you would normally on a normal Android device. You may even update and use the Nvidia app for in-home streaming if you installed the "Shield-ifier" zip file!
Learn how to access and use RCM Mode. To learn about RCM mode, how to access it please check out this page here.
Hekate Payload
A way to push the hekate payload. To learn how to go about this, please check out this page
Now that the most difficult part of the process is complete, we can now learn how to both boot into our new Android installation, but what we need to do to set it up before it will work properly!
If you have not already, please take your SD card out of your PC and insert it into your Nintendo Switch. From here you will now need to access RCM mode and push the Hekate payload.
Once Hekate launches on your Nintendo Switch. Select Launch by scrolling with the volume buttons, and selecting it by pressing the power button. Then scroll and select "More Configs..."
Before you scroll and select "Switchroot Android" on this screen, get ready to hold your "volume up" button as you will need to press and hold this, the same time that you select "Switchroot Android" Once you're ready. Do this and wait until you see the TWRP menu. Once you see this you can let go of "volume up" Please note, that if you do not enter this TWRP menu first. You may need to reset up your SD Card as GAPPs need to be installed prior to first boot since this is a Beta release. Otherwise, you may not be able to complete the setup.
Once in TWRP you will receive a message asking you to allow TWRP to keep the system as read only or not. Swipe right to allow TWRP to make it's modifications
From here select Mount by touching it on the touchscreen, and check the checkbox next too "system" it may take a few seconds for any paritions to appear. Once the box is selected tap the back button. If this step is not done you will be unable to install Open GAPPS
Now select install, and navigate up a lever in the folder selection on the page, then scroll down and select "external_SD"
From here you will see your two ZIP files from the previous selection. Please select these zip files one at a time starting with "open_gapps" and install each of them. If the system asks you to swipe prior to installation. Go ahead and do so. You will also be asked to wipe the cache/dalvik after installation. Again go ahead and do so. Once complete you can go ahead and click the back button to both leave the installation screen for the next step. Or install the "shield-ify" zip if you choose to use it.
Once you go back to the main menu, you may be asked to install TWRP. If you are asked to do so, go ahead and install it, and wipe the cache/dalvik. Otherwise, go ahead and reboot your system into Hekate and select "Switchroot Android" like before. However this time you will not need to hold "Volume-up" unless you want to access the TWRP menu again. If you're not asked to install TWRP you will need to do so manually if you want root access on your device. Otherwise go back to the Main Menu, select reboot, and tap the "Power off button"
Now enter RCM mode and boot into Hekate again
Once in Hekate, navigate too "Switchroot Android" again and select it without holding "Volume up". Once this is complete, you will begin to boot into LineageOS. Because this is your first boot it may take upwards to 10min for it to boot completely and allow you to set up the android system. Reboots after this initial setup will be faster.
Once booted and setup, you should now have a fully functional Android Tablet! You can now go ahead and set up any emulators or apps as you would normally on a normal Android device. You may even update and use the Nvidia app for in-home streaming if you installed the "Shield-ifier" zip file!
First, download the latest stable build of MAGISK from their XDA Thread here
Then transfer the magisk zip file, too the first partition of your SD Card. For me, this was "F:/"
Insert the SD card back into your Switch, and boot into the TWRP recovery menu by holding "Volume up" while Android is booting
Now mount your system partition as you've done before, navigate to the install menu and install your MAGISK zip file. Much like you did with the GApps zip file when you installed Android. If asked to wipe the cache/dalvik go ahead and do so.
Once MAGISK is installed, boot into Android like normal and download the Magisk Manager APK found here using your internet browser of choice and install it from Android. You may need to enable Unkown sources from within your Device settings before you can install this.
Once this APK has been installed go ahead and open your newly installed Magisk Manager app to verify that you have successfully obtained root access. If you see 4 green checkmarks than that means you've successfully rooted your device!
Then transfer the magisk zip file, too the first partition of your SD Card. For me, this was "F:/"
Insert the SD card back into your Switch, and boot into the TWRP recovery menu by holding "Volume up" while Android is booting
Now mount your system partition as you've done before, navigate to the install menu and install your MAGISK zip file. Much like you did with the GApps zip file when you installed Android. If asked to wipe the cache/dalvik go ahead and do so.
Once MAGISK is installed, boot into Android like normal and download the Magisk Manager APK found here using your internet browser of choice and install it from Android. You may need to enable Unkown sources from within your Device settings before you can install this.
Once this APK has been installed go ahead and open your newly installed Magisk Manager app to verify that you have successfully obtained root access. If you see 4 green checkmarks than that means you've successfully rooted your device!
- LineageOS 15.1 - Android 8.1 Oreo
- Based on the Nvidia Shield TV trees
- TWRP pre-installed
- CPU and GPU performance profiles
- Works in handheld and docked mode
- Audio is supported
- Joycons connect via Bluetooth, also in handheld mode
- Deep sleep, so battery life is not great
- Auto rotation as we haven't figured out how to talk to the sensor yet
- Screen off in dock
- Charging is not detected, but console still charges
- Some apps don't handle joycon inputs correctly
- The touchscreen sometimes detects touches even when your finger is just floating over the screen
- There is a system process ANR on boot. Just click „Wait“ and it won’t happen again until next boot
- Screenshots do not work
- WiFi may randomly stop working. If this happens just reboot
- If TV looks odd and grainy when docking then redock a few times.
- No TV keyboard that can be used with gamepad
- SELinux is disabled
- You can’t access the FAT32 partition of the SD card on macOS. Windows and Linux works.
Credits for part of this FAQ goes to the original XDA thread about this release. As I ammended the end of it with new questions moving forward.
Q: How to switch performance profiles?
A: Go to Settings -> Battery -> Power Profiles. The options are Balanced = 1 GHz CPU / 468 MHz GPU, Quick = 1.4 GHz CPU / 768 MHz GPU and Performance = 1.7 GHz CPU / 920 MHz GPU. Keep in mind that the high-performance profiles use MUCH more battery.
Q: How will updates be done?
A: For updates, flashable zips will be released.
Q: Can we use TV mode?
A: Use HAL launcher from the Play Store to run apps in TV mode.
Q: Nvidia GameStream doesn’t perform well, what to do?
A: Try using Moonlight instead.
Q: Does Magisk work?
A: Yes, just flash it in TWRP
Q: I get an error about „invalid architecture“ when trying to flash GApps
A: Make sure you mounted System in TWRP
Q: Does this work on any Switch?
A: You will need to be able to boot into hekate. If you can do that, your Switch is compatible.
Q: I get a blank notification window saying "Process system isn't responding" that looks like this
A: This is normal, tap the "wait" button
Q: Does the "Pro controller" or other bluetooth controllers work?
A: Yes they do, simply open the bluetooth settings and connect them like any other bluetooth device!
Q: How to switch performance profiles?
A: Go to Settings -> Battery -> Power Profiles. The options are Balanced = 1 GHz CPU / 468 MHz GPU, Quick = 1.4 GHz CPU / 768 MHz GPU and Performance = 1.7 GHz CPU / 920 MHz GPU. Keep in mind that the high-performance profiles use MUCH more battery.
Q: How will updates be done?
A: For updates, flashable zips will be released.
Q: Can we use TV mode?
A: Use HAL launcher from the Play Store to run apps in TV mode.
Q: Nvidia GameStream doesn’t perform well, what to do?
A: Try using Moonlight instead.
Q: Does Magisk work?
A: Yes, just flash it in TWRP
Q: I get an error about „invalid architecture“ when trying to flash GApps
A: Make sure you mounted System in TWRP
Q: Does this work on any Switch?
A: You will need to be able to boot into hekate. If you can do that, your Switch is compatible.
Q: I get a blank notification window saying "Process system isn't responding" that looks like this
A: This is normal, tap the "wait" button
Q: Does the "Pro controller" or other bluetooth controllers work?
A: Yes they do, simply open the bluetooth settings and connect them like any other bluetooth device!
Of course, if there is anything that I should elaborate on, or if you have any questions/concerns in regards to this process. Please do not hesitate to ask or reach out.
Last edited by ,