*** Disclaimer Don't break your stuff, okay? // TODO write better disclaimer
LineageOS 15.1 for Nintendo Switch by switchroot. This is the first publicly available Android ROM for the Nintendo Switch. Based on the Nvidia Shield TV builds it brings a smooth and powerful Android experience to your Switch in both handheld and docked mode.
As previously shown:
- 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.
- You tell us ;)
- Pick the image that corresponds to the size of your SD card. You can use an image that is smaller than your card. You’ll end up with the remaining space unused on your card.
- Write the image to your SD card with e.g. balenaEtcher Do not extract the image, Etcher can handle the compressed image just fine! WARNING: This will overwrite any contents on your card! The progress bar/percentage might go haywire in Etcher, but you can ignore that. The flashing will still work and Etcher will let you know when it’s done. It can take up to an hour depending on your SD card’s speed. Also make sure not to format any of the partitions when Windows prompts you to after flashing.
- Download GApps for Android 8.1. from OpenGApps, use ARM64. Put the file on the first partition of your new SD card
- If desired download the "Shield-ifier" zip and place it also on the SD card. This will make your Switch identify as Nvidia Shield TV and install the Nvidia app.
- Load hekate and boot to TWRP by holding VOL+ when you select the Android config.
- Make sure to mount /system first in TWRP. Flash GApps zip, optionally flash other zips. Also after installing GApps wipe cache/dalvik as offered by TWRP. Video that shows how to access and flash zips in TWRP: https://youtu.be/3F6WgAb44yk
- Reboot to hekate and boot into Android
- Complete the inital setup. For the Nvidia app to work make sure to update it from Play Store!
Initial release: 2019-07-27
// TODO make more releases
- Joycon Fix: Enables L3/R3 and reports the sticks as analog, which should fix games like GTA: fix-joycon.zip
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.
Instructions for building will come, for the moment ask in discord
- The LineageOS Tegra devs, especially @Steel01
- Our testers
- Everyone who contributed
switchroot LineageOS 15.1, ROM for the Nintendo Switch
langer hans, bylaws
Source Code: https://gitlab.com/switchroot
ROM OS Version: 8.x Oreo
ROM Kernel: Linux 4.x
Current Beta Version: 1.0
Beta Release Date: 2019-07-27
Last Updated 2019-07-31