[RECOVERY] [OFFICIAL] TWRP for Shield Android TV

Search This thread

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.



DOWNLOAD:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
1) Download the latest version from our website on your device
2) Reboot to TWRP
3) Hit Install and tap the "Images..." button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
OR:
You can find more information and download links on our website.
SHIELD Android TV 2015/2017 direct link
SHIELD Android TV 2019 direct link

BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!

SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
 
Last edited:

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
NOTES:
Due to the lack of a touchscreen on the device, you will need to have a mouse plugged in. A keyboard should work as well for typing input.

KNOWN ISSUES:
Cannot display at 4K. There have been a few reports that some 4K TVs wont display this recovery, but others will properly switch to 1080p mode and work just fine.

Build and device page will be up shortly. Got some fun recursive references going on here. Build is live.

Anyways, I know, I know, it's about time, right? Just haven't had too much motivation to work on this device. As powerful as it is, it's been a bit of a pain to work on. True built from source custom roms are still crippled due to hdmi audio not working, etc. But afaik, this recovery is 100% working, no problems. But if you find anything wrong, please let me know here.
 
Last edited:

Mogster2K

Senior Member
Jun 25, 2011
381
79
Moto G 5G
OnePlus 9 Pro
Hmm, it seems adopted storage still isn't getting mounted correctly. The "Micro SDCard" selection is only 15 MB. Also, it's not picking the correct time for backups. The terminal shows two errors when typing "ls -l":

__bionic_open_tzdata: couldn't find any tzdata when looking for CST6CDT,M3.2.0,M11.1.0!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
 

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
Hmm, it seems adopted storage still isn't getting mounted correctly. The "Micro SDCard" selection is only 15 MB.
Really? Blast... I pulled the same fix that worked on the tablet, but didn't actually test it on this platform. Guess I'll have to do some tinkering. Not a whole lot of time for a couple weeks, though.

Also, it's not picking the correct time for backups.
I see that on my other devices too. Not certain how to get the correct time, if possible. I'll look into it later.

The terminal shows two errors when typing "ls -l":

__bionic_open_tzdata: couldn't find any tzdata when looking for CST6CDT,M3.2.0,M11.1.0!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
I've seen this on my other devices as well. No idea what's up...
 
  • Like
Reactions: banderos101

banderos101

Senior Member
Dec 26, 2010
1,261
374
Does this support 4k TV finally?

Doesnt look like there is.

But it seems like vegeta has stumbled upon one way for now, indicatative that the issue may be from the direct hdmi connection from the shield to a 4k tv. Maybe theres a cheap 4k compatible hdmi splitter/switcher/combiner out there or perhaps one you own already, that can be tested depending on your urgency for twrp
 

Ichijoe

Senior Member
Feb 11, 2007
606
92
Frankfurt am/Main
Alas this doesn't even work on my Monitor with an HDMI to DVI converter. Actually it does work, once it finishes booting up that is. But for TWRP it's a standard Black Screen then.

Is it really that hard to code TWRP to output a 4k.. barring that a locked 1080 signal? This all said it worked very well on my Old Man's FHD LG TV have the command, and a moment latter it was there. So installing SuperSu successfully, and a full boot latter I packed it back up, and took it home with my again.
 

Ichijoe

Senior Member
Feb 11, 2007
606
92
Frankfurt am/Main
From what I thought I knew about Android, the Recovery Partition is fully independent of the OS One. This said from what I read about Nougat, where we used to just have the One OS Partition, from Nougat going forward we'll now have Two. An active One, and the other that will be used for active updates. This should be interesting for those on low spec Devices such as the 16Gb Shield. As the Android OS has traditionally taken about 4Gb of Storage. So can we expect that to double now?

About the only thing that could theoretically happen is that the Update overwrites the Recovery Partition. But I don't think this will be a problem.

But, to pass along some helpful info which I made an enquiry about in a different Thread. Once you have flashed TWRP as your recovery, and as far as I can tell you have to have it installed, and not merely loaded from a fastboot command line. You can simply install SuperSU again. (And you will have to do that again anyway.)
Which could be a problem if your like me, and stuck with just the One 4k (2160p), TV. Then this is a more round about way to reinstall SuperSU again after the Update.

Just do the following:
Login to your shield via ADB..
Code:
$ adb reboot recovery
$ adb shell
$ twrp install /sdcard/SuperSU.Zip
 
Last edited:

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
The a/b system partition thing is only being done on new devices. We will not repartitioned and lose space due to the upgrade.

The current twrp works just just fine with N ROMs. The worst thing you will see is a couple errors saying a log command isn't found when installing the update. This happens on all ROMs, all devices. It isn't fatal and can be safely ignored. Other than that, everything will continue to work as before. Flashing, backup/restore, etc. No problems at all. No, I haven't seen the official update yet, but I've done some work with cm-14.1 which is the same core stuff.
 

brandonb21

Senior Member
Jan 16, 2017
64
19
The a/b system partition thing is only being done on new devices. We will not repartitioned and lose space due to the upgrade.

The current twrp works just just fine with N ROMs. The worst thing you will see is a couple errors saying a log command isn't found when installing the update. This happens on all ROMs, all devices. It isn't fatal and can be safely ignored. Other than that, everything will continue to work as before. Flashing, backup/restore, etc. No problems at all. No, I haven't seen the official update yet, but I've done some work with cm-14.1 which is the same core stuff.

this dosent work at all on the new shield. just reboots after flashing then it reflashes stock recovery
 

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
Hmmm... Kinda surprised it doesn't boot at all. Maybe the dtb and kernel changed enough that the newer bootloader balks at them. I won't have one in hand until probably next week. Once I do, I'll make something work.

Previously I would have said no, darcy doesn't have a/b updating. But... The more I look through the code drop, the more it looks like it actually does. But I won't be able to confirm until I got my hands on it.
 

brandonb21

Senior Member
Jan 16, 2017
64
19
Hmmm... Kinda surprised it doesn't boot at all. Maybe the dtb and kernel changed enough that the newer bootloader balks at them. I won't have one in hand until probably next week. Once I do, I'll make something work.

Previously I would have said no, darcy doesn't have a/b updating. But... The more I look through the code drop, the more it looks like it actually does. But I won't be able to confirm until I got my hands on it.

is their anything i can do to help you in the time being to help development along?
 

brandonb21

Senior Member
Jan 16, 2017
64
19
Hmmm... Kinda surprised it doesn't boot at all. Maybe the dtb and kernel changed enough that the newer bootloader balks at them. I won't have one in hand until probably next week. Once I do, I'll make something work.

Previously I would have said no, darcy doesn't have a/b updating. But... The more I look through the code drop, the more it looks like it actually does. But I won't be able to confirm until I got my hands on it.

heres the 2017 5.0.1 image if this helps http://ota-downloads.nvidia.com/ota...-full_ota-1749719_832.2408.20170116175313.zip
 

Steel01

Recognized Developer
Dec 14, 2008
1,348
2,897
Well, I'm still waiting on a darcy. I hear it's supposed to ship this week. Sorry for the wait, but it's hard to do any development without the device. That or the update for the original 2015 one I've already got. Once I get my hands on something to test with, I should get something out pretty quick.

And yeah, the ota link helps. I went and compared a bunch of stuff and I think I have it ready to go, just can't test it yet.
 
  • Like
Reactions: jaydee 77

Top Liked Posts

  • There are no posts matching your filters.
  • 16
    Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.



    DOWNLOAD:
    Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
    1) Download the latest version from our website on your device
    2) Reboot to TWRP
    3) Hit Install and tap the "Images..." button in the lower right
    4) Browse to the location of the TWRP image on your device and select it
    5) Select recovery from the partition list and swipe to flash
    OR:
    You can find more information and download links on our website.
    SHIELD Android TV 2015/2017 direct link
    SHIELD Android TV 2019 direct link

    BUGS:
    If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!

    SUPPORT:
    Live support is available via #twrp on Freenode with your IRC client or just click this link.
    7
    So we *finally* got kernel source (but not vendor prebuilts, go figure... ><). Spent a while tonight getting stuff together and have an experimental build working on the newer bootloader. Do note that I've only tested this on foster_e_hdd, but it should work on all variants that actually got the newer bootloader. Namely foster_e, foster_e_hdd, and darcy. I haven't even got the new bootloader to boot on the Jetson TX1, unfortunately. As normal, since this is an experimental build, use at your own risk, report problems, blah blah.

    twrp-20190201-foster-experimental.img
    5
    I'll try to make it more clear lol...

    1) Reboot to bootloader to start fresh...
    a) fastboot flash staging blob
    b) fastboot flash boot boot.img
    c) fastboot flash recovery recovery.img
    d) fastboot flash system system.img
    e) fastboot flash vendor vendor.img
    f) fastboot flash dtb mdarcy.dtb.img
    g) fastboot flash vbmeta vbmeta_skip.img
    h) fastboot -w
    i) fastboot reboot bootloader

    2) Now we will boot to twrp and install magisk...
    a) fastboot boot twrp.img
    b) select mount and mount everything it lets you (usually data, system_root, vendor, cache)
    c) adb remount all
    d) adb shell
    e) rm /system (removes symlinked folder)
    f) mkdir /system
    f) mount -o bind /system_root/system /system
    g) exit
    h) adb push magisk-debug.zip /data/media
    i) In twrp press install and navigate to magisk zip and flash it
    j) adb reboot bootloader
    k) fastboot -w
    l) fastboot reboot bootloader
    m) fastboot flash dtb mdarcy.dtb.img
    n) fastboot flash vbmeta vbmeta_skip.img
    o) fastboot reboot

    3) Device might reboot a few times but eventually loads.. when it does follow these steps
    a) Enable usb debugging
    b) make sure its authorized and connected
    c) adb install -g magisk.apk
    d) adb shell
    e) su (grant root to shell when it pops up)
    f) mount -o rw,remount /
    g) Open magisk.apk on the device
    h) When it pops up telling you it needs to install stuff select ok and install it.. device will reboot in 5 seconds...

    4) When device tries to boot you should now be stuck at the android boot ani (NOT the nvidia logo).. then follow these steps..
    a) adb shell
    b) su
    c) resetprop ro.boot.verifiedbootstate orange
    d) after device boots run: resetprop ro.boot.verifiedbootstate green

    After all this, you should be good to go finally lol.. it seems like a lot but its not really.. then eventually we will get proper stuff goin..

    let me kno if these steps dont work.. b sure to follow to the T.. once to this point u only need to set bootstate to orange for it to boot all the way then u can set back to green.. i tried havin a script set to orange n works but so far havent found a way to set orange then after loads back to green automatically yet.. im sure theres a simple script with a pause or somethin that can be used tho
    5
    Can you please detail your workaround method to use magisk?

    Thanks

    1) download the developer/stock OS from nvidia
    2) unpack .zip and find boot.img
    3) use the NSTV or another android device and install the magisk manager app
    4) in the app: click install
    5) in the app: choose patch boot.img
    6) in the app: remember the outpot path from the terminal log to the patched_boot.img
    7) boot to recovery (TWRP) and install/flash the patched_boot.img to boot partition
    5
    I also have a working configuration, run into a loop again but so tried some extra steps 2q trough 2w. Also I had registered for the hotfix and installed that, after that I had to do some extra steps to get root back again. After that I was fully able to use root with all it's magic. And disabling Dolby processing solved the glitchy Netflix, which doesn't matter since you don't lose Dolby sound anyway.

    Thank you @elliwigy for all your guiding in this process and @rootfan for the magisk version, now I have root and the wife still has Netflix, look like a win-win to me.

    Below are the steps I used based on your guide for the Shield 2019 PRO

    1) Reboot to bootloader to start fresh...(you will need a keyboard)
    a) fastboot oem unlock and confirm by pressing A
    b) fastboot flash staging blob
    c) fastboot flash boot boot.img
    d) fastboot flash recovery recovery.img
    e) fastboot flash system system.img
    f) fastboot flash vendor vendor.img
    g) fastboot flash dtb mdarcy.dtb.img
    h) fastboot flash vbmeta vbmeta_skip.img
    i) fastboot -w
    j) fastboot reboot bootloader

    2) Now we will boot to twrp and install magisk...
    a) fastboot boot twrp.img (you will need a mouse for this)
    b) select mount and mount everything it lets you (usually data, system_root, vendor, cache)
    c) adb remount all
    d) adb shell
    e) rm /system (removes symlinked folder)
    f) mkdir /system
    g) mount -o bind /system_root/system /system
    h) exit
    i) adb push magisk-debug.zip /data/media
    j) In twrp press install and navigate to magisk zip and flash it
    k) adb reboot bootloader
    l) fastboot -w
    m) fastboot reboot bootloader
    n) fastboot flash dtb mdarcy.dtb.img
    o) fastboot flash vbmeta vbmeta_skip.img
    p) fastboot reboot

    ------------------------------------------
    q) let it reboot a couple of times, after Nvidia blinks and then reboots).
    r) start shield with A+B pressed to get in fastboot
    s) in fastboot menu select reset factory default.
    t) fastboot flash dtb mdarcy.dtb.img
    u) fastboot flash vbmeta vbmeta_skip.img
    v) fastboot reboot
    w) let it reboot a couple of time
    --------------------------------------------

    3) Device eventually loads.. when it does follow these steps
    a) Enable usb debugging
    b) make sure its authorized and connected
    c) adb install -g magisk.apk
    d) adb shell
    e) su (grant root to shell when it pops up)
    f) mount -o rw,remount /
    g) Go to apps (trough settings), show all apps, start/open magisk manager
    h) When it pops up telling you it needs to install stuff select ok and install it.. device will reboot in 5 seconds...

    4) When device tries to boot you should now be stuck at the android boot ani (NOT the nvidia logo).. then follow these steps..
    a) adb shell
    b) su
    c) resetprop ro.boot.verifiedbootstate orange
    d) after device boots run: resetprop ro.boot.verifiedbootstate green

    5) If you have registerd for the hotfix (32.7.301.43) then you can start the upgrade now. The device will reboot and starts the upgrade, after that you lost root again.
    a) adb reboot bootloader
    b) fastboot boot twrp.img (you will need a mouse for this)
    c) select mount and mount everything it lets you (usually data, system_root, vendor, cache)
    d) adb remount all
    e) adb shell
    f) rm /system (removes symlinked folder)
    g) mkdir /system
    h) mount -o bind /system_root/system /system
    i) exit
    j) adb push magisk-debug.zip /data/media
    k) In twrp press install and navigate to magisk zip and flash it
    l) adb reboot bootloader
    m) fastboot flash dtb mdarcy.dtb.img
    n) fastboot flash vbmeta vbmeta_skip.img
    o) fastboot reboot
    p) When device tries to boot you should now be stuck at the android boot ani (NOT the nvidia logo).. then follow these steps..
    q) adb shell
    r) su
    s) resetprop ro.boot.verifiedbootstate orange
    t) after device boots run: resetprop ro.boot.verifiedbootstate green

    For others, we used to images mentioned in this post.
    https://forum.xda-developers.com/shield-tv-pro/help/nvidia-shield-2019-pro-developer-images-t4012147

    All file from nv-recovery-image-shield-atv-pro-2019-8.1.0.zip expect vbmeta_skip.img that is from nv-recovery-image-shield-atv-pro-2019-8.1.0-dev-rooted.zip

    Experimental TWRP is from https://forum.xda-developers.com/showpost.php?p=80769929&postcount=312

    Magisk is from https://forum.xda-developers.com/showpost.php?p=81067077&postcount=352

    All the credits are for @elliwigy and @rootfan