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

[GUIDE] Root NVIDIA SHIELD Experience Upgrade v7.2 with Magisk v18.0

Search This thread
Hey, I have the same device and just updated to 8.2.2 Developer image but lost root.

How do I install Magisk 23 on this? Should I patch the boot.img on another device and flashboot flash it to the Shield TV?

I'm also interested in installing TWRP as well (I had it before updating) but I can't find an up-to-date guide anywhere.

Thanks!

As long as your bootloader is unlocked, it really is as simple as patching the boot and flashing it to the device.

If recovery is still a separate partition (newer partition layouts moved it into the boot image), that is just like flashing a boot image using "recovery" instead of "boot" as the target.
 
Last edited:

Ghisy

Senior Member
Mar 27, 2010
1,491
263
As long as your bootloader is unlocked, it really is as simple as patching the boot and flashing it to the device. As long as nothing changed and the recovery is still a separate partition, that is just like flashing a boot image using "recovery" instead of "boot" as the target.
Yeah, my bootloader is unlocked. So I can just flash the patched boot.img then? Even though this is a dev build that's supposed to be pre-rooted?

Edit: I just flashed a patched boot.img and now Magisk states: "Abnormal state: An "su" command that does not belong to Magisk is detected. Please remove the other unsupported su".

I've never seen that message before!
 
Last edited:
The system is rooted in the sense that it has a completely unrestricted su available, but most apps and such weren't designed to properly support that. What you can do is to move the "true root" su to a backup folder, but keep it in case you ever decide to drop magisk. It's unfortunate magisk doesn't adapt the same way that older superuser apps did, but that's one size fits all for you.
 

Ghisy

Senior Member
Mar 27, 2010
1,491
263
Edit: I just flashed a patched boot.img and now Magisk states: "Abnormal state: An "su" command that does not belong to Magisk is detected. Please remove the other unsupported su".

I've never seen that message before!
So I flashed the stock boot.img again, I don't have this message in Magisk anymore. There seems be to be some kind of conflict between the Magisk patched boot.img and the one pre-installed by Nvidia in the developer image.

I wonder if maybe I should patch and flash the recovery.img instead. Magisk FAQ states that this should be flashed if the device doesn't have the ramdisk option (Magisk on my Shield TV shows "Ramdisk : No").
 
  • Sad
Reactions: twistedumbrella

Neuken6969

Senior Member
Sep 25, 2018
96
8
Hello hope this thread is not dead, I just got an 8gb shield tv (tube). Doing research I think it's called mdarcy, running pie. Can this be rooted??
 

Ghisy

Senior Member
Mar 27, 2010
1,491
263
Hello hope this thread is not dead, I just got an 8gb shield tv (tube). Doing research I think it's called mdarcy, running pie. Can this be rooted??
Doesn't NVidia offer the dev firmware for the 2019 model as well? It comes pre-rooted but only for adb apparently.

I have the 2017 model and I'm also searching for a way to use root on the latest (8.2.3) dev firmware. I can't seem to be able to install Magisk on this and no guide is up to date... :(
 

Neuken6969

Senior Member
Sep 25, 2018
96
8
Doesn't NVidia offer the dev firmware for the 2019 model as well? It comes pre-rooted but only for adb apparently.

I have the 2017 model and I'm also searching for a way to use root on the latest (8.2.3) dev firmware. I can't seem to be able to install Magisk on this and no guide is up to date... :(
Sorry, my (tube) android tv 8gb is pre rooted? Or the dev files are pre rooted? I have a 8gb tube.
 

nebulah

Senior Member
Jun 27, 2012
75
17
Successfully rooted 8.2.0 developer OS yesterday with Magisk 23 on 2017 Shield 16GB. The patch has to be on boot.img even those ramdisk:NO in the magisk app.
Got the error message around duplicate SU detected but root still seems to work ok.
 
Feb 12, 2014
17
7
Well, now I'm definitely hoping this thread isn't dead. I use my Shield 24/7 literally, and right now it is bricked.

I naively followed this guide, as it seemed more up to date:

Unfortunately, as the comments below on that thread point out, the script has an error. Result: my my cherished sweetheart is now dead.
reboot to recovery command fails with error and doesnt reboot to twrp. manually booting twrp from fastboot via fastboot boot recovery.img works
Alas, I have passed this point and the Shield is now no longer connected to or responding to adb or fastboot calls. Even connecting/disconnecting from the USB port I can't see any activity. I cannot get the combination to force it to boot into bootloader mode. I just get a solid green light the moment I plug it in and that's the only indication it's alive.

Please, please for the love of all that is entertaining, help me ;_;
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    (Note before you begin: If you have a SHIELD TV 2017, you will need a quality Male-to-Male USB Type A cable to connect your SHIELD TV to a PC. If you have a SHIELD TV 2015 or a SHIELD TV Pro, you may be able to just use a regular micro USB cable, because those two models have a micro USB port)

    A. Download these files to your PC:
    1. Download the Android SDK Platform-Tools
    2. Download the Official NVIDIA SHIELD family Windows USB Drivers
    3. Download the Magisk Manager APK (This is the latest version as of the time of writing)
    4. Download the ***CORRECT*** NVIDIA SHIELD Experience Upgrade v7.2 Image for your model
      (You will need to register for a Developer Account if you don't already have one. Flashing the wrong image will BRICK your device)

    B. Setting up Android SDK Platform-Tools on your PC:
    1. On your PC, extract the Android SDK Platform-Tools somewhere where you can find them
    2. Add the platform-tools folder to PATH in the Windows System Environment Variables (Instructions HERE or HERE)

    C. Installing the Official NVIDIA SHIELD family Windows USB Drivers on your PC:
    1. On your SHIELD TV, enable developer options and debugging (Instructions HERE)
    2. Using a Male-to-Male USB Type-A Cable, connect the USB port further away from the HDMI port on your SHIELD TV to your PC
    3. On your PC, extract the Official NVIDIA SHIELD family Windows USB Drivers somewhere where you can find them
    4. Open Device Manager and find the new device
    5. Right-click it and select Update driver
    6. Select "Browse my computer for driver software"
    7. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
    8. Click Next and Install the Driver (if there is more than one option, select the one relating to ADB or Android Device Bridge)
    9. Open a Command Prompt and type:
      Code:
      adb devices
    10. On your SHIELD TV, a prompt will pop up asking you to allow ADB access from your computer. Check the box to remember your selection and then Grant Access
    11. On your PC, the Command Prompt should show the serial number of your SHIELD TV
      (You may have to run the 'adb devices' command again since it may have timed out the first time waiting on you to authorize the ADB connection on the SHIELD TV)
    12. Boot the SHIELD TV into bootloader/fastboot mode by typing the command:
      Code:
      adb reboot bootloader
      (Alternatively, you can enter bootloader/fastboot mode by following the instructions HERE)
    13. On your PC, open the Device Manager again and find the new device (it will probably have an error with a yellow triangle)
    14. Right-click it and select Update driver
    15. Select "Browse my computer for driver software"
    16. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
    17. Click Next and Install the Driver (if there is more than one option, select the one NOT relating to ADB or Android Device Bridge)
    18. Open a Command Prompt and type:
      Code:
      fastboot devices
    19. The Command Prompt should show the serial number of your SHIELD TV

    D. Unlocking the bootloader on your SHIELD TV (CAUTION: THIS WILL WIPE YOUR DATA AND FACTORY RESET YOUR SHIELD TV)
    1. Plug the NVIDIA SHIELD TV Game Controller or a USB Keyboard into the USB port closest to the HDMI port on your SHIELD TV
    2. In bootloader/fastboot mode on your SHIELD TV, select "Unlock Bootloader", read the message and confirm
      (Use the Y and X buttons to scroll UP and DOWN, and the A button to CONFIRM selection, if your button presses aren't doing anything you need to reboot the SHIELD TV into bootloader/fastboot mode with the Controller or Keyboard already plugged in)
    3. On your PC, open a Command Prompt and reboot your SHIELD TV to the OS by typing:
      Code:
      fastboot reboot
    4. This process only needs to be done once per device and you will not have to unlock the bootloader again for subsequent updates
      (From now on while your bootloader is unlocked, your SHIELD TV will display a warning message when it first boots saying that the system cannot check for corruption. This is perfectly normal and the boot process will resume automatically after a few seconds. There is no need to relock your bootloader unless you are selling the device or something. NEVER lock the bootloader if you have anything other than 100% stock full RECOVERY Image installed. Never even try it.)

    E. Installing Magisk Manager on your SHIELD TV and Patching your boot.img
    1. On your PC, extract the NVIDIA SHIELD Experience Upgrade v7.2 Image that you downloaded to somewhere where you can find it
    2. Find the boot.img file in the folder that you extracted it to
    3. Open a Command Prompt and type:
      Code:
      adb push boot.img /storage/emulated/0/Download/
    4. Install Magisk Manager by typing 'adb install [path-to-magiskmanagerapk]' example:
      Code:
      adb install C:\MagiskManager-v6.1.0.apk
    5. On your SHIELD TV, open Magisk Manager [Settings > Device > Apps > Magisk Manager > Open]
      (The Magisk Manager App Interface is not designed to be operated with an Android TV Remote so I suggest you install the NVIDIA SHIELD TV app on your phone. Once paired with your SHIELD TV, the app has an option to let you use a virtual mouse to navigate and interact with your SHIELD TV. Alternatively, you can plug a USB Mouse into the USB port closest to the HDMI port on your SHIELD TV)
    6. If Magisk Manager automatically pops up and asks you if you would like to Install Magisk, select Cancel
    7. Make sure the "Preserve AVB 2.0/dm-verity" option is checked, and then select "Install"
    8. Select "Patch Boot Image File"
    9. Using the Virtual Mouse on the NVIDIA SHIELD TV remote app on your phone, or a USB Mouse, navigate to the "Download" folder on your internal storage and select the boot.img file that you copied over then click Open
    10. Magisk Manager will take a few moments to patch the boot.img (pay attention to the message in the console about the path to the patched_boot.img - It should be "/storage/emulated/0/Download/patched_boot.img"
    11. On your PC, in the Command Prompt type:
      Code:
      adb pull /storage/emulated/0/Download/patched_boot.img

    F. Installing Magisk rooted SHIELD Experience Upgrade v7.2 on your SHIELD TV:
    1. On your PC, navigate to the folder where you extracted the NVIDIA SHIELD Experience Upgrade v7.2 Image
    2. Find the boot.img and rename it to boot.img.bak
    3. Rename the patched_boot.img to boot.img
    4. Open a Command Prompt and type:
      Code:
      adb reboot bootloader
    5. Once the SHIELD TV is in bootloader/fastboot mode, type:
      Code:
      flash-all.bat
      (It will take a few minutes for the flashing process to finish and then the SHIELD TV will automatically reboot to the OS)

    Optional Stuff and Additional Information:
    • Disable Auto-Upgrades by going to [Settings > Device > About > System upgrade > Auto-upgrade]
    • Enable Full OTA's instead of Partial/Differential by going to [Settings > Preferences > Developer options > Provide full system upgrades]
      (It is the very last option at the bottom and this is very important when using a rooted device and modifications to the System partition are likely)
    • If you want to upgrade to a new OTA update with root without waiting on NVIDIA to post the Developer/Recovery images, the downloaded OTA file is in
      Code:
      /data/data/com.nvidia.ota/app_download
      (You will need a root file explorer to be able to access this directory)
    • You can extract the boot.img from the OTA zip and patch it using the same method described in step E.5 through E.10
    • You can then install the OTA the normal way [Settings > Device > About > System upgrade > Check for upgrade]
      (Make sure you have copied the OTA zip or extracted the boot.img to somewhere on your Internal Storage like "/storage/emulated/0/Download" BEFORE you install the OTA because the system will delete the file in "/data/data/com.nvidia.ota/app_download" when it installs the update and you will be unable to get it after that)
    • Copy the patched_boot.img that you made with Magisk to your PC
    • Reboot to bootloader/fastboot mode with:
      Code:
      adb reboot bootloader
    • Manually flash just the Magisk Patched boot:
      Code:
      fastboot flash boot patched_boot.img
    • Manually reboot back to the OS with:
      Code:
      fastboot reboot
    8
    Hi guys, just want to add my 2 cents here...

    I recently bought a Shield TV, witch came with Shield Experience 8.0.0 (android 9 Pie) installed. Well, I can't live without root.
    So, when I realized that, for the moment, we can't root Pie, my option was to downgrade and root Shield Experience 7.2.3.
    First, I have to thank @ACiDxCHRiST for starting this thread and giving us a way to go. And I have to thank @mLgz0rn that gave me the light at the end of the tunnel on post #187 on this thread, when I was about to give up.

    After following @ACiDxCHRiST guide, I ended up, like many others, with a partial root, as I couldn't write to /system dir, and I wanted to get rid of some crappy system useless apps, so my quest continued.
    Digging on this topic, found about my villain, dm-verity, and after a sleepless night, thousands of flashing and bootlooping, and frustrating results, I found post #187 by @mLgz0rn, and started tests using his hint. After a while, and a few more flashes, I finally got my system 100% up and running, with Shield Experience 7.2.3 and full root access! (now I can sleep in peace).

    So, below is my "step-by-step" to accomplish this on my Shield. Just to state, I have a 2017 NVIDIA Shield with 16gb (Darcy), model P2897. This step-by-step starts with Shield TV on Pie, and goes until Oreo full rooted.
    It seems long, but it's really simple, I just detailed some things that gave me headache, so others can archive this more easily.

    Just want to share my results, as I was struggling with this, others might be in the same situation...

    01 - Install NVIDIA drivers on PC
    02 - Enable Developer Options
    03 - Enable USB Debugging
    04 - Connect USB on Shild USB port away from HDMI and on PC
    05 - Download "NVIDIA SHIELD TV 2017 Developer Only OS Image" (https://developer.nvidia.com/gameworksdownload - nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - 1.167.617 KB)
    06 - Unpack to a folder with ADB access
    07 - Open "Command Prompt" (I use Windows 10, and I'm openning "Command Prompt" with Admin Privileges)
    08 - Go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip
    09 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    10 - Plug your Shield Controller on USB port next to HDMI
    11 - Reboot in bootloader (run "adb reboot bootloader")
    12 - "Factory Data Reset" your device (last option on Fastbot Menu, should take a few minutes, won't take long)
    13 - Run "fastboot devices" to check connection to SHIELD
    14 - Install nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip (just run "flash-all.bat"), wait to reboot (always check on install progress to see if your installation finishes OK, after flashing vendor (this is the last file from .bat). Also, when rebooting this first boot on SHIELD 7.2.3 Developer OS, unplug Shield Controller and PC from USB. This will prevent from having issues with WIFI on system first setup)
    15 - Setup your device, and when ready, re-enable Developer Options and USB Debugging
    16 - Go back to "Command Prompt", and again go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip
    17 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    18 - Run "adb root" to get Superuser Privileges
    19 - Run "adb disable-verity" to disable AVB 2.0/dm-verity
    20 - Run "adb reboot" for changes to take effect
    21 - On PC, copy Magisk APK to ADB folder (where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - I'm using MagiskManager-v7.3.2.apk - https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445)
    22 - Go back to "Command Prompt", and again go to your ADB folder
    23 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    24 - Copy your boot image to SHIELD (run "adb push boot.img /storage/emulated/0/Download/") (It's already in this directory (the one from nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip, installed on step 14))
    25 - Install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")
    26 - Run "adb reboot" for changes to take effect
    27 - After reboot, open Magisk Manager. You'll need a mouse here, I'm using mouse from Shield TV Remote on my android mobile phone, works perfectly.
    28 - Make sure "Preserve ACB 2.0/dm-verity" is unchecked (it should be already unchecked, mine was)
    29 - Select "INSTALL"
    30 - Select "Select and Patch a File"
    31 - Navigate to your "Download" folder, and select your "boot.img" file (double click on it). Wait for patch to succeed.
    32 - Go back to "Command Prompt", and again go to your ADB folder
    33 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    34 - Grab your patched boot image ("magisk_patched.img") from Shield to your PC (Run "adb pull /storage/emulated/0/Download/magisk_patched.img")
    35 - Reboot in bootloader (run "adb reboot bootloader")
    36 - Run "fastboot devices" to check connection to SHIELD
    37 - Install patched boot image (Run "fastboot flash boot magisk_patched.img")
    38 - Reboot your device (Run "fastboot reboot")
    39 - Go back to "Command Prompt", and again go to your ADB folder
    40 - Re-install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")
    41 - Reboot your device again (Run "adb reboot")
    42 - After reboot, open Magisk Manager. It will prompt "Requires Additional Setup", click "yes" and system will auto reboot

    That's it, going to Magisk Manager again and you'll see you have it up and running, without "Preserve AVB 2.0/dm-verity" checked.
    First thing I've done after succeeding in this task was to install "3C All-in-One Toolbox" and use it to uninstall "System upgrade" (with a backup, to restore whenever I need, if needed), then I installed AdAway to prevent obtrusive Adds. Also, "Amazon Music" got sentenced to death. Others will follow this way after I get some sleep... :p

    After a sleepless night (lots of hours of trial and error), finally my Shield is working the way I want it to be. That was tricky.

    Hope it helps anyone, just posting it here because it gave me a hard time and I thought others could be in the same situation.
    5
    Oops, I thought I was clearer than this. Yes , I did "fastboot boot twrp-3.3.1-0-shieldtv-pie.img" and it does work. It's using your TWRP that I tried to install magisk. The recovery.txt also came from TWRP.

    Let me know if you have anything else to try.

    Give this zip a try.
    3
    When I type fastboot devices, I get a serial number and the word fastboot

    ---------- Post added at 08:27 PM ---------- Previous post was at 07:53 PM ----------



    So after I go through that process, the shield is "stuck" on, but just showing a black screen. If I reboot it by disconnecting the power, it shows the Nvidia logo for about 20 seconds, then goes to a black screen and I have no way of shutting the shield off except disconnecting the power supply. I remember reading something about starting Win10 with "Disable Driver Signature Enforcement" could help...any thoughts on that?

    Thanks!

    Try and go through the flashing process manually instead of using the .bat.

    Boot into the bootloader.
    Type
    Code:
    fastboot devices
    To make sure that the pc is connected to the shield.
    Should return alot of numbers.

    Make sure your cmd is in the folder where you shield images is locates.

    Then type each of these lines, wait for one to finish continue with the next
    Code:
    fastboot flash staging blob
    fastboot flash boot boot.img
    fastboot flash recovery recovery.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot reboot
    3
    rootfan! You , are a very clever man. Not sure how much effort it was on your part , but thanks to you I now have my Shield 2017 rooted once more! All I had to do was to grab the twrp-3.3.1-0-shieldtv-pie.img from your thread, and the magisk_shieldtv_pie_test.zip that you just posted. I guess it also installs magisk manager ? I already had the latest manager installed , so not sure if it was a pre-requisite.

    Copied magisk_shieldtv_pie_test.zip to root of my Shield
    adb reboot bootloader
    fastboot boot twrp-3.3.1-0-shieldtv-pie.img
    With a mouse :
    Install in TWRP
    select the magisk_shieldtv_pie_test.zip
    Reboot.
    Homepage turned black twice briefly with icons refreshing on screen, then all returned normal.
    Sixaxis controller now works and X-plore shows me the inside of the root folder :D

    From the about menu in my Shield :

    Model Number : P2897
    Version : 9
    Android Security Patch level : July 5 2019
    Kernel Version : 4.9.140-gd1d87e27b7a2-dirty
    #10 Thu Sept 5 16:05:52 MDT 2019
    Build : PPR1.180610.011.4086637_1604.6430
    Shield Android TV SW Version : 8.0.0(32.5.205.42)

    You made me very, very happy. Thank you so much rootfan.

    ---------- Post added at 08:40 PM ---------- Previous post was at 07:59 PM ----------

    Now how do I prevent my shield from ever updating again without my consent? Anything at root level I could do to make sure it can't ever happen?