Tutorial  Updated

Yet another Android 8.1 LineageOS tutorial - How to get Android on the Switch!

PicsArt_07-28-10.18.53.jpg
Running Android on the Switch has always been a demand by many fans and enthusiasts of the switch homebrew scene. The Nintendo Switch, being a "tablet-like" device, creates a suitable environment for running Android on it. Moreover, with the switch having a custom NVIDIA X1 chipset porting Android to it made the whole process a lot simpler.
Thanks to the hard work and effort put by the Switchroot team, we now have the chance to run Android on our Switches, so for those who yearned for it for so long rejoice, for the wait is over!
With that being said though, do keep in mind that this is an early release, hence bugs,crashes and slowdowns are to be expected.
In case you didn't know, LineageOS is a continuation of the old, well-known CyanogenMod's legacy (that got discontinued back in 2016), which means it comes out of the box with many nifty features usually not found in stock Android, thus allowing to customize and adjust your system to your very own preferences and liking.
This guide aims to provide a comprehensive and understandable how-to to the reader seeking help, should they stumble into any possible difficulties setting up android. In addition to that I am hoping to keep all Android-related issues and inquiries to this thread, helping reduce the number of questions posted by users on here. Note that this tutorial will only cover the initial Android installation and setup. For help with rooting/modding etc consult other guides.
Here's a full list of features as shown in the original XDA thread.
XDA Thread said:
  • 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
Without further ado, let's get started!

General Warning
As per usual, proceed with caution. By running unsigned code, modifying your console and doing other things of this manner, you run the risk of damaging/bricking your system.Never rush into doing something you aren't sure of, and don't hesitate to ask for help. However, no GBAtemp member or affiliate of the Switchroot team will be held liable and responsive for any damages that might occur along the process, you take full responsibility for your actions. Feel free to ask but, be civil and DO NOT backlash at others.


Prerequisites

  • A Nintendo Switch assuming it's an early iteration non-patched unit (see here, or refer to this guide.)
  • The required LineageOS image file. (either the 16GB, the 32GB .,64GB or the 128GB image file) choose the one that corresponds to your SD card's file size capacity.
  • A reliable and working SD card of a minimum capacity of at least 16GB, though 32 GB and more are preferable(use H2testw to confirm whether your SD card is legit or not.)
  • The additional Shield-ifier file
  • balenaEtcher--what we will be using to flash the image file onto our SD cards. Get it from this link
  • A SD card adapter if youre not using a laptop/your computer doesn't come with one by default and/or if it's broken.
  • An USB C to A cable( for pushing the payloads from your PC)
  • Hekate 5.0.1 and latter - Get Hekate from here (what will be used to boot up Android)
  • The Switch dock (optional, only needed if you wish to connect it to your TV)
  • TegraRCMGUI, get the portable or the .msi installer, whichever best suits your needs. Additionally any other means of injecting payloads can be used.
  • The OpenGApps files which can be downloaded here

Setting up and preparing the SD card


etcher.png
First and foremost i would recommend you to backup any data you might be storing in your SD card, as this process will wipe out any data that may be present on it. Furthermore i strongly advise not to use a SD card that you've currently set up emuNAND on, (especially the partition type of emuNAND), as i reckon this might mess up the partition.
Whether this can be dual booted with linux or emummc i don't know either sadly, so use a spare SD card that you might have lying around somewhere.
Download balenaEtcher from from the link given in the link above.
Click on the installable and follow the on-screen instructions and let the app finish installing. Once Etcher is done installing, launch it, click on the big blue 'Select Image" button and browse to where you have put your downloaded image file. Like the official XDA thread suggests, you might use an image file smaller than your card's size (ie using a 32GB image on a 64GB SD card) resulting in a larger free storage space capacity thereof. Likewise, extracting the image out of the archive is not a necessity as Etcher handles compressed .imgs just fine (so the XDA thread implies).
Once you've chosen your desired image file, Select the drive you wish to flash the image to (if it's not chosen by default) and then click Flash
Now, wait and be patient. It might take approximately from 30 minutes up to an hour and a half depending on your SD card's write spped, though it's not always subject to that, as many other factors may come into play that would result in a slowdown such as: overall state of the PC, if it's an old potato PC etc.

Regardless wait, and let Etcher do it's thing on the flashing/verifying part. Note that you should have backed up everything like i aforementioned because this process overwrites data, deleting anything in the process.
After Etcher finishes with the flashing, youll see two new partitions on your SD card. If Windows prompts you to format any of them DO NOT do that.

Before proceeding onward to the next step make sure you've already got up and running TegraRCM (or any other tool you use to inject payloads onto your switch) the Nintendo Switch USB driver and their other respective dependencies.
If you don't know how to access RCM there's many guides out there such as this FAQ



Installing GApps & dependencies and finalizing setup

partitions.png
Just as i mentioned above, now there will be two partitions on your SD card. The FAT one and the RAW drive.
For a full android experience you shoud get the OpenGApps files that we will be flashing to our system. Select the ARM64 uner Platorm, the Android 8.1 version (as that's on what this android rom is based on) and under the variant select it to your liking, whether you want the full GApps package or just some of the apps.
While the switch can run without these, would you want a barebones minimal android experience?
On a side note, YouTube and Google Play store won't function without those.
Additionally download the shield-ifier.zip file. That makes it possible for your switch to be detected as a NVIDIA Shield, how awesome right?
Once everything downloads, copy them over to your SD's FAT partiton. Everything should be put like this:
files.png
Safely eject your SD card, take it out of your computer and put it back into the Switch.
Use your USB C to A cable to connect your switch to the PC, but make sure it's already put on RCM mode.
Next fire up TegraRCM GUI (or whatever tool you use inject payloads into your Switch and push the Hekate 5.0.1 payload.
You'll be greeted by hekate's fancy new UI and you should tap on "More Configs" afterwards.
Then tap on the "Switchroot Android" logo.
20190728_204205.jpg
During the initial phase of the LineageOS android installation the VOL+ button must be held until the TWRP menu pops up!
Otherwise Android will not be installed as it should, hence resulting in many problems.
Upon booting up the TWRP recovery menu, you'll be prompted to allow writing to the system partition or keeping it as a read-only.
Tick the Never show this again box and swipe to the right to unlock system write premission.
Once that gets taken care of, click on "Mount" then tick the following "System" and "SD Card". By doing so it ensures that our GApps and shield-fier zip packages get installed as they should. While still there also select the external storage as the install location.
Next click on the "Install" button. Browse to where you have placed your files and install the GApps first.
Once it's done installing, wipe cache/dalvik and then head back to the main menu and then install the additional shieldifier.zip file,then do the wipe cache/dalvik as per usual.
On a last note. If TWRP prompts you to install their app do so by swiping right. With that said though, sometimes that app causes the switch to hang on a blackscreen endlessly so better avoid it altogether
After all of those installed files are taken care of now you shouldn't boot android quite yet.
Power your console down and connect it to your PC again, in order to inject the hekate payload once more.
After hekate boots, tap on more configs>Switchroot Android.
Unlike before this time around you don't need to hold the Volume + key any longer.
During the initial first time boot, it should take about 10 minutes or more as the android is being configured. Subsequental boots shouldn't take that long, so don't worry.


20190728_151354.jpg
And well guys, that concludes everything. If you followed the steps above you should have android running on your switch by now.
Do keep in mind that it's still a beta and many bugs and hiccups are prevalent. Not everything should work as it should.
For instance, i had this particular issue with the on-screen keyboard. It kept acting up in an odd manner, not responding to input or being over being over sensitive.
Refer to the FAQ and known bugs below:


FAQ and Known Bugs:

Official XDA thread said:
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.


Known bugs:
Official XDA thread said:


    • 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 ;)

Additional Information

Code:
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

Updates/Addons

Official XDA thread said:
Make sure to flash that in TWRP.
Like the guys officially stated updates will be handed out as zip files, to be flashed via TWRP, and i will be updating and maintaining the guide accordingly.
If you happen to find any bug, report them at their Official XDA thread.
 
Last edited by NoNAND,

pcwizard7

Well-Known Member
Member
Joined
Aug 2, 2013
Messages
1,409
Trophies
0
XP
1,688
Country
Australia
Hello, if I use SX OS does it mean I just need to boot Hekate first off SX OS then from there boot Android?

you can launch sxos from hekate if need be just open the hekate.ini file and make copy of the ATMOSPHERE Entry and make look like this and add the sx loader payload to payloads folder

[SXOS]
payload=bootloader/payloads/sx_Loader.bin
icon= ( OP)
[]
 

hugofthunder

Well-Known Member
Newcomer
Joined
Jul 14, 2017
Messages
64
Trophies
0
Age
38
Location
Why am I feeling so bad now?
XP
150
Country
Philippines
you can launch sxos from hekate if need be just open the hekate.ini file and make copy of the ATMOSPHERE Entry and make look like this and add the sx loader payload to payloads folder

[SXOS]
payload=bootloader/payloads/sx_Loader.bin
icon= ( OP)
[]
Thanks for this, I might not actually need this as I have two cards, one with SX and the other with Android. What I do is boot SX first, then launch Hekate, then Android.
 

VuuI

Well-Known Member
Member
Joined
Dec 28, 2014
Messages
100
Trophies
0
Age
31
XP
617
Country
Belgium
Sorry if this has been asked before.

I installed Joycon fix (modified it a bit so it matches Xbox inputs rather than Nintendo) but my Thumbsticks are not analog, it's all or nothing, is that normal?
also, do Joycons charge when in their rails?
 

AkGBA

Nope
Member
Joined
Feb 14, 2007
Messages
345
Trophies
1
XP
1,437
Country
France
Sorry if this has been asked before.

I installed Joycon fix (modified it a bit so it matches Xbox inputs rather than Nintendo) but my Thumbsticks are not analog, it's all or nothing, is that normal?
also, do Joycons charge when in their rails?

1. Yes, it's normal. Will be improved in next betas.

2. Yes, it's normal. Joycons can only charge in their rails on Horizon.
 

DaManWitDaPlan

New Member
Newbie
Joined
Sep 24, 2019
Messages
1
Trophies
0
Age
31
XP
33
Country
United States
For some reason after flashing the reboot2payload zip, the app doesn't seem to be installed anywhere in Lineage. Any idea why that might be the case? I'd really like to be able to return to hekate without reflashing every reboot. Thanks!
 

Zeryac

Member
Newcomer
Joined
Feb 20, 2019
Messages
14
Trophies
0
Age
25
XP
243
Country
France
I finished the installation but I can't pass the lock screen. It's like the tactile doesn't work. Is this normal or should I try installing it again ?
EDIT : I passed the lock screen but every touch make the system freezes for 20 seconds and make system apps not responding. It's not as usable as in videos that can be found so I was wondering if it was normal. My SD card is a Sandisk Extreme
 
Last edited by Zeryac,

Tiagomcs20

Member
Newcomer
Joined
Nov 26, 2019
Messages
7
Trophies
0
Age
36
XP
58
Country
Portugal
Well ive been using this for a while now, i mostly use it to play my streamed games from my desktop. I use both Nvidia Shield App and Steam App and they work very well.
This android has many bugs but nothing too serious.
Here are some tips for newcomers for switch´s Android:
- Switch does not detect if switch is charging (But it is so dont panic);
- Touch pad sometimes double taps automatically, like when typing;
- When you´ve finished using the switch, my advice is to turn it off or charge at dock as it consumes a lot of battery even with screen off;
- To make the change between the android and CFW easier i use and recommend a RCM Injector (Bought mine on AliExpress).

The first time i left my switch with android running during night time, on the next morning i thought i had bricked my switch. It was not turning on, no signal, nothing. Left it charging for an hour and then booted to RCM. Conclusion: Android consumes a lot of resources compared to the Switch firmware when in sleep mode. Just sharing this story so you dont freak out :lol::lol:

Have fun guys B-)
 
  • Like
Reactions: vincentallen2

lemueldave

Member
Newcomer
Joined
Oct 29, 2019
Messages
11
Trophies
0
Age
30
XP
315
Country
United Arab Emirates
If I used a 16gb image in my 32 gb sd card, how can I access it in my Android? I don't know how. My android works fine, but it seems like the 16gb free space is now wasted?
 

Tiagomcs20

Member
Newcomer
Joined
Nov 26, 2019
Messages
7
Trophies
0
Age
36
XP
58
Country
Portugal
If I used a 16gb image in my 32 gb sd card, how can I access it in my Android? I don't know how. My android works fine, but it seems like the 16gb free space is now wasted?
What do you mean? I think that using a 16Gb image your available space on your 32GB sd card will be 16GB, thats what the android will recognize. Don't you have something like 16GB available when in android?
 

tabzer

This place is a meme.
Member
Joined
Feb 15, 2019
Messages
5,844
Trophies
1
Age
39
XP
4,911
Country
Japan
If I used a 16gb image in my 32 gb sd card, how can I access it in my Android? I don't know how. My android works fine, but it seems like the 16gb free space is now wasted?
You have to use a partition manager to extend the partition to use the rest of the space. GParted works for sure.
 

Novacula

Member
Newcomer
Joined
Jan 17, 2020
Messages
7
Trophies
0
Age
45
XP
44
Country
Australia
Android OS will take 8 GB of space, 2 GB for the fat32 partition. The rest will be free space for Android OS. If you use the 16 GB img, you will have 6 GB free for Android, when flash to a 16, 32 or 400 GB sd card. Best is to use the img corresponding to your sd size. But the larger the img, the longer it will take when first flashing.

Thanks for this info
 

HaloBenish

Well-Known Member
Member
Joined
Feb 1, 2008
Messages
541
Trophies
1
XP
749
Country
Canada
Got into TWRP holding volume +, did everything in there, powered down, powered back to hekate, choose Switchroot Android again (this time no volume +) and I've been on a black screen for 20 min. Do I need to reflash the img to sd card in eetcher after resetting partitions to normal? Can I fix otherwise??

EDIT: Fixed without reflashing pretty sure
 
Last edited by HaloBenish,

theartist8

New Member
Newbie
Joined
Feb 3, 2020
Messages
1
Trophies
0
Age
24
XP
42
Country
Poland
Hello guys,
I got two sd cards (One with Android other with CFW), Android Works fine, but when i try to boot the sd card with CFW it wont load (got a black screen).
I inject the payload fusee-primary successfully...can anyone help?

Thanks
 
Last edited by theartist8,

Chuuya

New Member
Newbie
Joined
Jul 2, 2020
Messages
1
Trophies
0
Age
33
XP
43
Country
Indonesia
I have little to zero knowledge about this so i'm sorry if my question is very irritating.

So turns out my switch is patched, is there any solution for me to do this besides selling it and buy the ones that aren't patched?
 
  • Like
Reactions: han xin

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: aeiou