• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][UNOFFICIAL][8.1] switchroot LineageOS 15.1

Search This thread

langer hans

Senior Member
Aug 19, 2007
1,336
4,486
Code:
*** Disclaimer

Don't break your stuff, okay? // TODO write better disclaimer

Introduction

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.

Images

As previously shown:
D9HtBVIWwAAaQ_Z.jpg:large

D9Iw-BsWwAMWKUn.jpg:large

D9Lf0aJWwAAelCo.jpg:large

D9NEUN6W4AEySOS.jpg:large

Features

  • 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
  • Reboot to Payload (NEW!). Rebooting will reboot to android and reboot to boodloader will boot hekate.
Known bugs:
  • 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 ;)

Installation instructions

  1. 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.
  2. 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.
  3. Download GApps for Android 8.1. from OpenGApps, use ARM64 NANO. Put the file on the first partition of your new SD card
  4. 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.
  5. Load hekate and boot to TWRP by holding VOL+ when you select the Android config.
  6. Make sure to mount /system and /vendor first in TWRP. Flash GApps zip, reboot2payload zip and 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
  7. Reboot to hekate and boot into Android
  8. Complete the inital setup, but DO NOT connect to wifi, do that after set-up has completed. For the Nvidia app to work make sure to update it from Play Store!

Changelog

Code:
Initial release: 2019-07-27
Previous changelogs

Code:
// TODO make more releases

Downloads

16GB image: Direct | Torrent
32GB image: Direct | Torrent
64GB image: Direct | Torrent
128GB image: Direct | Torrent
Shield-ifier: Direct | Torrent
Reboot2payload update: Direct

Addons / Extras

  • Joycon Fix: Enables L3/R3 and reports the sticks as analog, which should fix games like GTA: fix-joycon.zip

FAQ

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.

Sources

https://gitlab.com/switchroot/android
https://gitlab.com/switchroot
Instructions for building will come, for the moment ask in discord
Thanks To/Credits

  • The LineageOS Tegra devs, especially @Steel01
  • Our testers
  • Everyone who contributed

Stay in touch


XDA:DevDB Information
switchroot LineageOS 15.1, ROM for the Nintendo Switch

Contributors
langer hans, bylaws
Source Code: https://gitlab.com/switchroot

ROM OS Version: 8.x Oreo
ROM Kernel: Linux 4.x

Version Information
Status: Beta
Current Beta Version: 1.0
Beta Release Date: 2019-07-27

Created 2019-07-24
Last Updated 2020-10-05
 

langer hans

Senior Member
Aug 19, 2007
1,336
4,486
Reserved

SHA1 sums of the images:
Code:
63c02149407e31c0620c3a0a2079f57e7d2d6855  android-128gb.img.gz
7615277cf2b383dfe32163746debfe2da8683728  android-16gb.img.gz
890c6cc203862f266caaf77fca4616ebe864eee6  android-32gb.img.gz
d5439008ecdb0aa5e9350e6f0848fc0d56578427  android-64gb.img.gz
e90143137a45d5bdecceb708c360742a76532182  shieldifier.zip
 
Last edited:

dision2019

New member
Jul 27, 2019
1
0
What do the different sized versions do? What happens if I have a 128gb micro sd card and then choose the 64gb image? Does this create a partition automatically for the android stuff and the rest is usable as normal?
 

Citruspers

Senior Member
Jan 10, 2012
97
20
www.westerbeek.biz
We’re working on the server issues. Please some patience :)

Is it possible to get a torrent going that contains all versions (since you can select which files you want in most clients)? I wouldn't mind help seeding it for a while.

Also, MD5/SHA hashes for the files would be great, both for checking download integrity as well as making sure any mirrored files are genuine.
 
Last edited:
  • Like
Reactions: kekistaneerefugee

langer hans

Senior Member
Aug 19, 2007
1,336
4,486
Is it possible to get a torrent going that contains all versions (since you can select which files you want in most clients)? I wouldn't mind help seeding it for a while.

Also, MD5/SHA hashes for the files would be great, both for checking integrity as well as making sure any mirrored files are genuine.

I have added the sha1sums to the second post. Official torrents will follow.
 

PurpleMadness

Member
Nov 30, 2011
18
0
Temporary mirror for the 64gb version: removed


edit: the file seems to be corrupt/has a different sha1 hash. I'll reupload when I get the correct one.
 
Last edited:

langer hans

Senior Member
Aug 19, 2007
1,336
4,486
If you download an image from anywhere but the links provided in the OP, for the love of god, check the shasums in the second post. Running anything unverified on your Switch can lead to unrecoverable bricks!
Not saying people here would be this malicious, but it’s good practice regardless ;)
 

Neo_123

Member
Feb 19, 2017
9
1
Can we put CFW files in the fat32 partition and have Atmosphere and Android in the same SD card the same way we did with L4T?
 

langer hans

Senior Member
Aug 19, 2007
1,336
4,486
Can we put CFW files in the fat32 partition and have Atmosphere and Android in the same SD card the same way we did with L4T?

Yes if it’s just Atmosphere sure. The fat32 partition is 2GB so anything that fits on that is okay. So CFW and some homebrew works. But anything past that would probably be too large.
 
  • Like
Reactions: Neo_123

Top Liked Posts

  • There are no posts matching your filters.
  • 166
    Code:
    *** Disclaimer
    
    Don't break your stuff, okay? // TODO write better disclaimer

    Introduction

    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.

    Images

    As previously shown:
    D9HtBVIWwAAaQ_Z.jpg:large

    D9Iw-BsWwAMWKUn.jpg:large

    D9Lf0aJWwAAelCo.jpg:large

    D9NEUN6W4AEySOS.jpg:large

    Features

    • 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
    • Reboot to Payload (NEW!). Rebooting will reboot to android and reboot to boodloader will boot hekate.
    Known bugs:
    • 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 ;)

    Installation instructions

    1. 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.
    2. 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.
    3. Download GApps for Android 8.1. from OpenGApps, use ARM64 NANO. Put the file on the first partition of your new SD card
    4. 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.
    5. Load hekate and boot to TWRP by holding VOL+ when you select the Android config.
    6. Make sure to mount /system and /vendor first in TWRP. Flash GApps zip, reboot2payload zip and 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
    7. Reboot to hekate and boot into Android
    8. Complete the inital setup, but DO NOT connect to wifi, do that after set-up has completed. For the Nvidia app to work make sure to update it from Play Store!

    Changelog

    Code:
    Initial release: 2019-07-27
    Previous changelogs

    Code:
    // TODO make more releases

    Downloads

    16GB image: Direct | Torrent
    32GB image: Direct | Torrent
    64GB image: Direct | Torrent
    128GB image: Direct | Torrent
    Shield-ifier: Direct | Torrent
    Reboot2payload update: Direct

    Addons / Extras

    • Joycon Fix: Enables L3/R3 and reports the sticks as analog, which should fix games like GTA: fix-joycon.zip

    FAQ

    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.

    Sources

    https://gitlab.com/switchroot/android
    https://gitlab.com/switchroot
    Instructions for building will come, for the moment ask in discord
    Thanks To/Credits

    • The LineageOS Tegra devs, especially @Steel01
    • Our testers
    • Everyone who contributed

    Stay in touch


    XDA:DevDB Information
    switchroot LineageOS 15.1, ROM for the Nintendo Switch

    Contributors
    langer hans, bylaws
    Source Code: https://gitlab.com/switchroot

    ROM OS Version: 8.x Oreo
    ROM Kernel: Linux 4.x

    Version Information
    Status: Beta
    Current Beta Version: 1.0
    Beta Release Date: 2019-07-27

    Created 2019-07-24
    Last Updated 2020-10-05
    18
    I have added a flashable zip to the first post that enables L3/R3 clicks and reports the sticks as analog. That should help in games like GTA. Thanks to @gavin_darkglider1 for building it!
    15
    Reserved

    SHA1 sums of the images:
    Code:
    63c02149407e31c0620c3a0a2079f57e7d2d6855  android-128gb.img.gz
    7615277cf2b383dfe32163746debfe2da8683728  android-16gb.img.gz
    890c6cc203862f266caaf77fca4616ebe864eee6  android-32gb.img.gz
    d5439008ecdb0aa5e9350e6f0848fc0d56578427  android-64gb.img.gz
    e90143137a45d5bdecceb708c360742a76532182  shieldifier.zip
    14
    Bash Script to Flash Image

    Hey guys,

    A lot of you were asking if there is an image for xyz GB microSD cards or how to increase the Nintendo Switch partition size to use the same card for the regular Switch OS and Android.
    Well, I had the same requirements, therefore I made an interactive bash script that does exactly that. All you need is a Linux environment to run the script on. This can also be an Ubuntu Live-USB Stick for example.

    Unfortunately, this is my first post. Therefore, I cannot include any external links. But you can find everything on GitHub under Gabri3lZ/SwitchrootAndroidUtils.
    https://github.com/Gabri3lZ/SwitchrootAndroidUtils

    The script lets you decide what size the Android user partition should have, and it will use the rest of the free space for the FAT32 partition for the Nintendo Switch. It also allows to create an additional partition for EMUMMC (for those who want to run homebrew apps on the Switch and want to reduce the risk of getting banned). The script has the following advantages over using Etcher to flash the image:
    • Size for Nintendo Switch partition and Android user partition can be defined by the user
    • Support for an additional partition for EMUMMC
    • No wasted space on the microSD card, no matter what size the card has
    • The whole process is faster, because it does not dump Gigabytes of empty partition data to the microSD card
    • No fragmentation or breaking the (hybrid MBR) partition table because of moving and resizing partitions
    • The partitions are properly aligned (to 1 MiB)

    The script is interactive. So you can choose the device you want to flash the image onto and the partition size while the script runs. Here is how to use it:
    1. Download the 16GB image from Switchroot's XDA-Developers post and extract the ZIP file.
    2. Download "flash.sh" to the same directory where the image is.
    3. Open Terminal emulator and navigate to the directory where the image and script are (in Ubuntu, you can use the File explorer to navigate there, right click the folder and select "Open in Terminal").
    4. Execute the script and pass the path to the Android image as a parameter:
      Code:
      sudo ./flash.sh ./android-16gb.img
    5. Follow the instructions in the interactive script.
    6. Follow the remaining instructions in the XDA-Developers post (from step 3).

    Hope you enjoy. If there is any feedback about the script, please let me know here or on GitHub.
    9
    Official updates from Switchroot team finally!!!

    http://twitter.com/switchroot_org/status/1184196178499592193

    "Some updates on recent developments: lp0 aka deep sleep made a huge step forward as the Switch can now successfully resume after entering deep sleep. There are still software bugs to iron out before this is fully functional."

    "Next up is auto rotation. The IMU has finally been found and can be interfaced with. This means auto rotation of the screen based on device orientation is now possible!"

    "Regarding updates: The next release will be either Pie or Q. It hasn't been decided yet but Q is more likely as it would come with much better joycon support including fully analog sticks."