[ROM][UNOFFICIAL] switchroot Android 10

Search This thread

bylaws

Senior Member
Dec 28, 2018
56
192
Introduction
A new, updated version of Android for the Nintendo Switch. Now based off of Android 10 (Q) (LineageOS 17.1 with Shield TV trees) it's faster, more responsive and has many new features over the previous release, including deep sleep and an Android TV build.

Features
  • Android 10 based on Lineage 17.1
  • Significantly improved UI smoothness compared to Oreo.
  • OTA updates (bugfixes and new features without a reinstall).
  • Deep sleep that can last for weeks compared to hours in the previous version.
  • RSMouse support for controlling a mouse cursor with your right stick
  • Full Joy-Con and Pro Controller support with analog sticks and rails.
  • Hori Joy-Con support.
  • Uses Joy-Con HOS Bluetooth paring data.
  • Both Android TV and Android Tablet builds.
  • Reworked fan profiles for quieter operation.
  • Optimized dock support with resolution scaling.
  • OTG support including DisplayPort or HDMI output (no power supply necessary).
  • 3rd party dock/hub support including DisplayPort or HDMI output.
  • Rewritten charging driver to properly support USB-PD.
  • Optimized touch screen driver.
  • Easier install via hekate partition tool.
  • Reworked, simpler, power profiles.
  • Much improved WiFi driver with less dropouts.
  • Shield TV remote app support for easy docked control.
  • Reboot to payload support.
  • Improved Bluetooth accessory support.
  • Auto rotation support.


Installing
Follow the tutorial here



Stay in touch

Discord:https://discord.gg/6gWvaASF72
Twitter: https://twitter.com/switchroot_org
Website: https://switchroot.org/

Sources
https://gitlab.com/switchroot/android
https://gitlab.com/switchroot
See manifest repo for build instructions.

Credits
Ave - Handling hosting of OTAs and the switchroot website. Check out her patreon!
CTCaer - Fixing a lot of things in the kernel - charging, dock, touch etc - and adding Android install support for nyx. Donate to his patreon here!
Langerhans - Figuring out the majority of stuff for deep sleep and helping massively with initial bringup.
Steel01 - Maintaining the Shield TV Lineage trees which ours are heavily based on.
Nvidia + Nintendo - ❤
Everyone else who contributed!
 
Last edited:

SirGarmaples

Senior Member
Nov 28, 2016
470
169
You guys have made my Switch a ton more useful, thanks for all the work you guys put in! ★\(^▽^ )♪
Android 10 and Deep Sleep are great to have! Haven't tested the build yet since I won't be free until tomorrow but I'm looking forward to it!

Edit: Forgot to edit it, just chiming in to say that I've been loving it! Thank you so much devs!
 
Last edited:
  • Like
Reactions: jcfbrand

Fukurou83

Member
Feb 6, 2021
7
1
Hello! I'm trying to install it but I'm stuck on google voice assistant.
If I tap on "No thanks" it brings me a page back everytime.
 

rac08241988

Member
Feb 6, 2021
6
2
Nintendo Switch
I can't get my switch to boot into twrp. I used balina to put previous version in but would rather use twrp for familiarities. Is there a guide to installing twrp?
 

bylaws

Senior Member
Dec 28, 2018
56
192
I can't get my switch to boot into twrp. I used balina to put previous version in but would rather use twrp for familiarities. Is there a guide to installing twrp?
Just follow the guide in post
Hi there. I'm glad to see it is official now. Can I do a dirty flash via twrp? I have a SD card setup from an unofficial selfmade build from October. Thank you.
Dirty flash wont work, you need to wipe and repartition in hekate
 

rac08241988

Member
Feb 6, 2021
6
2
Nintendo Switch
Dirty flash wont work, you need to wipe and repartition in hekate
I did. I unzipped hikati and rom. Just moved everything else. Sd card is class 1 64 gb formatted into fat 32 followed instructions within hikati. First time I tried it said flash successful but wouldn't boot into twrp. Now it just says flashable files not found. Imma start over from scratch see if I can get it. Must be something I missed. I'll see.
 

bylaws

Senior Member
Dec 28, 2018
56
192
I did. I unzipped hikati and rom. Just moved everything else. Sd card is class 1 64 gb formatted into fat 32 followed instructions within hikati. First time I tried it said flash successful but wouldn't boot into twrp. Now it just says flashable files not found. Imma start over from scratch see if I can get it. Must be something I missed. I'll see.
try redownloading, we updated the zips
 

TarikVaineTree

Senior Member
Dec 7, 2012
98
15
I'm simply amazed. Thank u so much for all the months of hard work @ANyOne involved!

I've got two questions:
1. If I go for the non-Android TV image, can I control the Switch in the dock with the Joy-Cons wirelessly?
2. If going for the Android TV image, would it support the Google Cast protocoll receiver-sided (meaning I could cast to it)?

Edit: Please let me add a third question:
3. Can Android access the FAT32 partition I'm using in Horizon?
Aka can I continue my SNES savegames in Android's RetroArch by pointing it's directory settings to the same folder on the FAT32 partition I'm using in Horizon's RetroArch for the savegames?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 110
    Introduction
    A new, updated version of Android for the Nintendo Switch. Now based off of Android 10 (Q) (LineageOS 17.1 with Shield TV trees) it's faster, more responsive and has many new features over the previous release, including deep sleep and an Android TV build.

    Features
    • Android 10 based on Lineage 17.1
    • Significantly improved UI smoothness compared to Oreo.
    • OTA updates (bugfixes and new features without a reinstall).
    • Deep sleep that can last for weeks compared to hours in the previous version.
    • RSMouse support for controlling a mouse cursor with your right stick
    • Full Joy-Con and Pro Controller support with analog sticks and rails.
    • Hori Joy-Con support.
    • Uses Joy-Con HOS Bluetooth paring data.
    • Both Android TV and Android Tablet builds.
    • Reworked fan profiles for quieter operation.
    • Optimized dock support with resolution scaling.
    • OTG support including DisplayPort or HDMI output (no power supply necessary).
    • 3rd party dock/hub support including DisplayPort or HDMI output.
    • Rewritten charging driver to properly support USB-PD.
    • Optimized touch screen driver.
    • Easier install via hekate partition tool.
    • Reworked, simpler, power profiles.
    • Much improved WiFi driver with less dropouts.
    • Shield TV remote app support for easy docked control.
    • Reboot to payload support.
    • Improved Bluetooth accessory support.
    • Auto rotation support.


    Installing
    Follow the tutorial here



    Stay in touch

    Discord:https://discord.gg/6gWvaASF72
    Twitter: https://twitter.com/switchroot_org
    Website: https://switchroot.org/

    Sources
    https://gitlab.com/switchroot/android
    https://gitlab.com/switchroot
    See manifest repo for build instructions.

    Credits
    Ave - Handling hosting of OTAs and the switchroot website. Check out her patreon!
    CTCaer - Fixing a lot of things in the kernel - charging, dock, touch etc - and adding Android install support for nyx. Donate to his patreon here!
    Langerhans - Figuring out the majority of stuff for deep sleep and helping massively with initial bringup.
    Steel01 - Maintaining the Shield TV Lineage trees which ours are heavily based on.
    Nvidia + Nintendo - ❤
    Everyone else who contributed!
    6
    runs great games run great emulators runs great but my bluethoot headphones cut in and out the audio for some reazon maybe a bug anyone having the same problem? apart from that android is running great
    Will be fixed in next OTA
    Running great except "Bluetooth" keeps crashing multiple times after starting up the system.
    But Bluetooth works afterwards.

    Is this a known issue?

    thx

    Does anyone has the same issue?
    Will be fixed in next OTA

    I was able to get some logs concerning my broken Wifi. Below is a logcat of me tapping on the wifi icon in the notification dropdown. There's some errors and I hope it helps getting to the bottom of the problem.

    Code:
    =u:r:magisk_client:s0:c84,c256,c512,c768 tcontext=u:r:hal_graphics_allocator_default:s0 tclass=fd permissive=1 app=com.android.terminal
    02-08 20:40:39.375  6777  6777 I su      : type=1400 audit(0.0:714): avc: denied { read } for name="audio.primary.tegra.so" dev="mmcblk0p3" ino=536 scontext=u:r:magisk_client:s0:c84,c256,c512,c768 tcontext=u:object_r:vendor_file:s0 tclass=file permissive=1 app=com.android.terminal
    02-08 20:40:39.375  6777  6777 I su      : type=1400 audit(0.0:715): avc: denied { getattr } for path="/vendor/lib/hw/audio.primary.tegra.so" dev="mmcblk0p3" ino=536 scontext=u:r:magisk_client:s0:c84,c256,c512,c768 tcontext=u:object_r:vendor_file:s0 tclass=file permissive=1 app=com.android.terminal
    02-08 20:40:39.375  6777  6777 I su      : type=1400 audit(0.0:716): avc: denied { read } for name="bin" dev="mmcblk0p3" ino=26 scontext=u:r:magisk_client:s0:c84,c256,c512,c768 tcontext=u:object_r:vendor_file:s0 tclass=dir permissive=1 app=com.android.terminal
    02-08 20:40:39.727  6781  6781 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
    02-08 20:40:39.733  6781  6781 I AndroidRuntime: Using default boot image
    02-08 20:40:39.734  6781  6781 I AndroidRuntime: Leaving lock profiling enabled
    02-08 20:40:39.739  6781  6781 I /system/bin/app_process: Core platform API reporting enabled, enforcing=false
    02-08 20:40:39.888  6781  6781 D ICU     : Time zone APEX file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat
    02-08 20:40:39.906  6781  6781 I /system/bin/app_process: The ClassLoaderContext is a special shared library.
    02-08 20:40:39.930  6781  6781 W /system/bin/app_process: JNI RegisterNativeMethods: attempt to register 0 native methods for android.media.AudioAttributes
    02-08 20:40:39.938  6781  6781 D AndroidRuntime: Calling main entry com.android.commands.content.Content
    02-08 20:40:39.957  6781  6781 D AndroidRuntime: Shutting down VM
    02-08 20:40:39.967  6574  6574 I RenderThread: type=1400 audit(0.0:717): avc: denied { call } for scontext=u:r:untrusted_app_27:s0:c129,c256,c512,c768 tcontext=u:r:hal_cplservice_default:s0 tclass=binder permissive=1 app=com.topjohnwu.magisk
    02-08 20:40:39.971  6574  6574 I RenderThread: type=1400 audit(0.0:718): avc: denied { call } for scontext=u:r:untrusted_app_27:s0:c129,c256,c512,c768 tcontext=u:r:hal_cplservice_default:s0 tclass=binder permissive=1 app=com.topjohnwu.magisk
    02-08 20:40:41.115  3376  3376 I InputReader: type=1400 audit(0.0:719): avc: denied { call } for scontext=u:r:system_server:s0 tcontext=u:r:init:s0 tclass=binder permissive=1
    02-08 20:40:41.972  3376  3911 W NotificationService: Toast already killed. pkg=com.topjohnwu.magisk callback=android.app.ITransientNotification$Stub$Proxy@f6bb064
    02-08 20:40:43.435  3149  3149 I storaged: type=1400 audit(0.0:720): avc: denied { call } for scontext=u:r:storaged:s0 tcontext=u:r:init:s0 tclass=binder permissive=1
    02-08 20:40:43.463  3376  3398 W WindowManager: Unable to start animation, surface is null or no children.
    02-08 20:40:52.965  3376  3376 W WindowManager: removeWindowToken: Attempted to remove non-existing token: android.os.Binder@3f976a3
    02-08 20:41:00.002  3586  3586 D KeyguardClockSwitch: Updating clock: 20:41
    02-08 20:41:08.115  3376  3412 E LightsService: Light requested not available on this device. 2
    02-08 20:41:08.117  3376  3470 E LightsService: Light requested not available on this device. 2
    02-08 20:41:46.319  3586  3586 D StatusBar: disable<e i a s b h r c s > disable2<q i n >
    02-08 20:41:46.363  3519  3538 D RSMouse : mFeatureEnabled=true  mPackageEnabled=true
    02-08 20:41:48.149  3376  4233 I WifiService: setWifiEnabled package=com.android.systemui uid=10097 enable=true
    02-08 20:41:48.149  3376  3485 D WifiController: StaEnabledState.enter()
    02-08 20:41:48.149  3376  3486 D WifiActiveModeWarden: received a message in WifiDisabledState: { when=0 what=0 target=com.android.internal.util.StateMachine$SmHandler }
    02-08 20:41:48.149  3376  3486 D WifiActiveModeWarden: Switching from WifiDisabledState to ClientMode
    02-08 20:41:48.149  3376  3486 D WifiActiveModeWarden: Entering ClientModeActiveState
    02-08 20:41:48.150  3376  3486 D WifiClientModeManager: entering IdleState
    02-08 20:41:48.150  3376  3486 D WifiActiveModeWarden: State changed from client mode. state = 2
    02-08 20:41:48.151  3376  3376 D WifiP2pService: Wifi enabled=false, P2P Interface availability=true
    02-08 20:41:48.151  3376  3486 I WifiVendorHal: Vendor Hal started successfully
    02-08 20:41:48.153  3376  3486 I SupplicantStaIfaceHal: Starting supplicant using HIDL
    02-08 20:41:48.154  3376  3487 I WifiP2pNative: Registering for interface available listener
    02-08 20:41:48.156  3376  3486 I android_os_HwBinder: HwBinder: Starting thread pool for getting: [email protected]::ISupplicant/default
    02-08 20:41:48.156  3376  3486 E SupplicantStaIfaceHal: Death handler already present
    02-08 20:41:48.161  3068  3068 E [email protected]: Failed to open wlan fw path param: No such file or directory
    02-08 20:41:48.155  3068  3068 I [email protected]: type=1400 audit(0.0:721): avc: denied { read } for name="fw_path" dev="mmcblk0p10" ino=784924 scontext=u:r:hal_wifi_default:s0 tcontext=u:object_r:wifi_vendor_data_file:s0 tclass=lnk_file permissive=1
    02-08 20:41:48.161  3068  3068 E [email protected]: Failed to change firmware mode
    02-08 20:41:48.161  3376  3486 D HalDevMgr: updateRttController: no one is interested in RTT controllers
    02-08 20:41:48.161  3376  3486 E HalDevMgr: executeChipReconfiguration: configureChip error: 9 ()
    02-08 20:41:48.161  3376  3486 E WifiVendorHal: Failed to create STA iface
    02-08 20:41:48.161  3376  3486 E WifiNative: Failed to create STA iface in vendor HAL
    02-08 20:41:48.161  3376  3486 E WifiClientModeManager: Failed to create ClientInterface. Sit in Idle
    02-08 20:41:48.161  3376  3486 D WifiActiveModeWarden: State changed from client mode. state = 4
    02-08 20:41:48.161  3376  3486 D WifiClientModeManager: expected stop, not triggering callbacks: newState = 1
    02-08 20:41:48.161  3376  3486 E WifiNative: Could not get Iface object for interface null
    02-08 20:41:48.162  3376  3376 D WifiP2pService: Wifi enabled=false, P2P Interface availability=true
    02-08 20:41:48.162  3376  3486 D WifiActiveModeWarden: ClientMode failed, return to WifiDisabledState.
    02-08 20:41:48.162  3376  3486 D WifiController: ClientMode unexpected failure: state unknown
    02-08 20:41:48.162  3376  3486 D WifiClientModeManager:  currentstate: IdleState
    02-08 20:41:48.162  3376  3486 D WifiScanRequestProxy: Sending scan available broadcast: false
    02-08 20:41:48.162  3376  3489 I WifiScanningService: wifi driver unloaded
    02-08 20:41:48.163  3376  3486 I WifiScanRequestProxy: Scanning is disabled
    02-08 20:41:48.164  3376  3409 D KernelCpuUidUserSysTimeReader: Removing uids 1037-1037
    02-08 20:41:48.165  3376  3486 D WifiActiveModeWarden: Entering WifiDisabledState
    02-08 20:41:48.166  3376  3486 D WifiActiveModeWarden: received a message in WifiDisabledState: { when=-3ms what=3 target=com.android.internal.util.StateMachine$SmHandler }
    02-08 20:41:48.166  3376  3486 D WifiActiveModeWarden: Switching from WifiDisabledState to WifiDisabled
    02-08 20:41:48.166  3376  3486 D WifiActiveModeWarden: Entering WifiDisabledState
    02-08 20:41:48.166  3376  3486 E WifiNative: Could not get Iface object for interface null
    02-08 20:41:48.169  4206  4782 W Settings: Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
    02-08 20:41:49.891  3069  3069 I joycond : type=1400 audit(0.0:722): avc: denied { read } for scontext=u:r:init:s0 tcontext=u:r:init:s0 tclass=netlink_kobject_uevent_socket permissive=1


    EDIT:

    I also grabbed a dmesg which I have uploaded to my server since it's too large to attach here

    Grepping for "wifi"/"wlan" yields a whole lot of errors, for example:
    service "vendor.wifiloader" exited with status 255

    Naturally, wifi works just fine in Horizon, just in case you suspect faulty hardware
    Thanks, does it only crash after sleep?

    How Can I reboot to hekate ? Thanks
    Reboot and hold vol-
    For me the sleep mode is not working. Battery draining really fast. Anyone with the same problem?
    Should be fixed in OTA
    Today my Lp0 didn't work. I use CPU spy to observe this. This happened after a reboot.

    My switch stayed on with 100mhz all the time but screen was off.

    I turned wifi and bt on and off. This helped. Afterwards my switch went into deep sleep again and stayed there as long as the screen was off.

    Maybe this helps.
    Should be fixed in OTA
    5
    Flash this in TWRP and reboot. It fixes ZL ZR button for the pro controller in bluetooth.
    5
    I'm unable to connect to wifi.
    4
    anyone get safetynet to pass?
    I flashed it and gapps and tested safety net and it failed. Wasn't sure if there was something I missed

    yes I did. To me a while to work out but you have to:

    1. Mans sure you have flashed magisk
    2. In the manager install busybox and magiskhidepropsconf
    3. Reboot
    4. Install termux from the App Store
    5. Open termux and type ‘su props’
    6. Option 1 then follow the instructions to change the fingerprint to nvidia shield tv pro 2019
    7. Reboot and it all works