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,

skins20

Well-Known Member
Newcomer
Joined
Aug 5, 2016
Messages
96
Trophies
0
Age
34
XP
289
Country
Argentina
Has anyone currently been able to log into the Nvidia games application?

I was able to install it successfully but I cannot log in, when I enter the login section, the browser opens and the page is not displayed, and it gives an error.

Do I have to do something special to be able to log in to the nvidia app.?
 

dgibb

Active Member
Newcomer
Joined
Mar 14, 2009
Messages
26
Trophies
1
XP
276
Country
I have followed the tutorial and all seems well (200GB SD card looks right with 2GB available) problem is when I try to get to Hekate with the "Android" SD card inserted the switch does nothing.
Using Hekate 5.0.0 bin and TegraRcm, TegraRCM reports no issues.

Can still get back to Atmosphere (power the switch, long press on the power, shut down from stock os, change the SD to the old one and then RCM / inject Hekate and I am back).
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,714
Trophies
2
Age
48
Location
Japan
XP
3,588
Country
United States
wait... people are still using this? Aren't we supposed to be using Android Q now? I thought as of latest hekate and fw11, older Android versions weren't supposed to work anymore.

Anyway, I was just looking for Android threads to comment that I had all sorts of trouble trying to build Android Q using a VM, on a system with only 16GB of RAM (8GB set for the VM). Just doubled my RAM to 32GB to give my Ubuntu VM 16GB, and now the build process is humming right along :)

Time to head to work. Hopefully I'll have it built when I get home.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • ZeroT21 @ ZeroT21:
    it wasn't a question, it was fact
  • BigOnYa @ BigOnYa:
    He said he had 3 different doctors apt this week, so he prob there. Something about gerbal extraction, I don't know.
    +1
  • ZeroT21 @ ZeroT21:
    bored, guess i'll spread more democracy
  • LeoTCK @ LeoTCK:
    @K3Nv2 one more time you say such bs to @BakerMan and I'll smack you across the whole planet
  • K3Nv2 @ K3Nv2:
    Make sure you smack my booty daddy
    +1
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
    K3Nv2 @ K3Nv2: https://www.the-sun.com/news/10907833/self-checkout-complaints-new-target-dollar-general-policies...