10 KiB
Executable file
NVIDIA Shield TV 2019 Pro: Complete Root Walkthrough
Stock Android → LineageOS + microG + Magisk Root
Device: NVIDIA Shield TV 2019 Pro (mdarcy/foster/t210ref) Tested: December 8, 2025 Time required: ~45 minutes
What You Need
Hardware
- NVIDIA Shield TV 2019 Pro
- USB-A to USB-A cable (Shield uses USB-A port)
- PC (Windows, Mac, or Linux)
- USB keyboard for Shield (for bootloader unlock confirmation)
Software (Download These First)
-
ADB/Fastboot - Platform tools from Google
- Windows: https://developer.android.com/studio/releases/platform-tools
- Extract somewhere and add to PATH
-
LineageOS for microG (latest foster build)
https://download.lineage.microg.org/foster/Download:
lineage-22.1-2024XXXX-microG-foster.zip(latest date) -
TWRP Recovery
https://dl.twrp.me/foster/Download:
twrp-3.7.0_9-0-foster.img(or latest) -
Magisk v28.0 (this specific version works)
https://github.com/topjohnwu/Magisk/releases/download/v28.0/Magisk-v28.0.apk
Part 1: Prepare the Shield
Step 1.1: Enable Developer Options
-
On your Shield, go to:
Settings > Device Preferences > About -
Scroll down to Build number
-
Click it 7 times until you see "You are now a developer"
Step 1.2: Enable USB Debugging
-
Go back to:
Settings > Device Preferences > Developer options -
Enable USB debugging
-
Enable OEM unlocking
Step 1.3: Connect to PC
-
Connect Shield to PC with USB cable
-
On Shield, you'll see "Allow USB debugging?" - check "Always allow" and click OK
-
On PC, open terminal/command prompt and verify connection:
adb devicesYou should see:
List of devices attached 1323923031371 device(Your serial number will be different)
Part 2: Unlock Bootloader
⚠️ WARNING: This erases ALL data on your Shield!
Step 2.1: Reboot to Bootloader
adb reboot bootloader
Wait for Shield to show the bootloader screen (NVIDIA logo with text)
Step 2.2: Verify Fastboot Connection
fastboot devices
You should see:
1323923031371 fastboot
Step 2.3: Unlock the Bootloader
fastboot oem unlock
Step 2.4: Confirm on Shield
-
The Shield screen will show an unlock confirmation
-
Use USB keyboard (or gamepad) to select YES
-
Shield will factory reset and reboot (takes a few minutes)
Step 2.5: Skip Setup
-
After reboot, go through minimal setup (skip accounts, etc.)
-
Re-enable Developer options and USB debugging (repeat Steps 1.1 and 1.2)
Part 3: Flash TWRP Recovery
Step 3.1: Reboot to Bootloader
adb reboot bootloader
Step 3.2: Flash TWRP
Replace the path with where you downloaded TWRP:
fastboot flash recovery /path/to/twrp-3.7.0_9-0-foster.img
You should see:
Sending 'recovery' (31564 KB) OKAY
Writing 'recovery' OKAY
Finished. Total time: X.XXXs
Step 3.3: Boot into TWRP
fastboot reboot recovery
Or use the bootloader menu: Volume keys to navigate to "Recovery", Power to select
TWRP should now load (blue/gray interface)
Part 4: Flash LineageOS
Step 4.1: Wipe Device in TWRP
-
In TWRP, tap Wipe
-
Tap Format Data
-
Type
yesand confirm (this wipes encryption) -
Go back, tap Advanced Wipe
-
Check these boxes:
- ☑ Dalvik / ART Cache
- ☑ System
- ☑ Cache
-
Swipe to wipe
Step 4.2: Push LineageOS to Device
On your PC:
adb push /path/to/lineage-22.1-20241006-microG-foster.zip /sdcard/
Wait for transfer to complete (about 1-2 minutes)
Step 4.3: Install LineageOS
-
In TWRP, tap Install
-
Navigate to
/sdcard/ -
Tap the LineageOS zip file
-
Swipe to confirm flash
-
Wait for installation (2-3 minutes)
Step 4.4: Reboot to LineageOS
-
Tap Reboot System
-
If asked about installing TWRP app, tap Do Not Install
-
First boot takes 5-10 minutes - the Shield will show LineageOS boot animation, be patient!
Part 5: Setup LineageOS
Step 5.1: Complete Setup Wizard
-
Select language, WiFi, etc.
-
Skip Google account (microG handles this later if needed)
-
Complete the wizard
Step 5.2: Re-enable Developer Options
-
Go to:
Settings > About tablet -
Tap Build number 7 times
Step 5.3: Enable USB Debugging
-
Go to:
Settings > System > Developer options -
Enable USB debugging
-
On PC, verify connection:
adb devices
Part 6: Install Magisk (Two-Step Process)
⚠️ THIS IS THE CRITICAL PART - FOLLOW EXACTLY
Step 6.1: Push Magisk Files to Device
# Push the APK
adb push /path/to/Magisk-v28.0.apk /sdcard/Download/
# Create a copy as ZIP for TWRP
cp /path/to/Magisk-v28.0.apk /path/to/Magisk-v28.0.zip
adb push /path/to/Magisk-v28.0.zip /sdcard/Download/
Step 6.2: Install Magisk App
adb install /path/to/Magisk-v28.0.apk
Part 7: Flash Magisk via TWRP (Step 1 of 2)
Step 7.1: Reboot to Recovery
adb reboot recovery
Step 7.2: Flash Magisk ZIP
In TWRP terminal or via ADB:
adb shell "twrp install /sdcard/Download/Magisk-v28.0.zip"
Or manually in TWRP:
- Tap Install
- Navigate to
/sdcard/Download/ - Select
Magisk-v28.0.zip - Swipe to flash
Step 7.3: IMPORTANT - Read the Output
You will see something like:
***********************
Magisk 28.0 Installer
***********************
- Mounting /system
- Device is system-as-root
- Legacy SAR, force kernel to load rootfs
- System-as-root, keep dm-verity
- Target image: /dev/block/LNX
- Device platform: arm64-v8a
- Constructing environment
- Adding addon.d survival script
- Unpacking boot image
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
- Repacking boot image
- Flashing new boot image
- Unable to find preinit dir ← THIS WARNING IS NORMAL!
- Unmounting partitions
- Done
"Unable to find preinit dir" is EXPECTED. Do not panic. Continue to next step.
Step 7.4: Reboot to Android
adb shell reboot
Or in TWRP: Reboot > System
Part 8: Complete Magisk Install (Step 2 of 2)
THIS IS THE MAGIC STEP THAT MAKES IT WORK
Step 8.1: Wait for Boot
Wait for LineageOS to fully boot (1-2 minutes)
Step 8.2: Open Magisk App
-
Open the Magisk app from your app drawer
-
You will see a dialog:
Requires Additional Setup Your device needs reflash Magisk to work properly. Please reinstall Magisk within app, recovery mode cannot get correct device info. [CANCEL] [OK] -
Click OK
Step 8.3: Select Direct Install
-
You're now on the Install screen
-
You'll see two options:
- Select and Patch a File
- Direct Install (Recommended) ← SELECT THIS ONE
-
Select Direct Install (Recommended)
-
Click LET'S GO →
Step 8.4: Watch the Magic
You'll see:
- Target image: /dev/block/platform/sdhci-tegra.3/by-name/boot
- Device platform: arm64-v8a
- Installing: 28.0 (28000)
- Unpacking boot image
- Checking ramdisk status
- Magisk patched boot image detected
- Patching ramdisk
- Pre-init storage partition: mmcblk0p32 ← THIS IS THE KEY!
- Repacking boot image
- Flashing new boot image
- All done!
"Pre-init storage partition: mmcblk0p32" means it worked!
Step 8.5: Reboot
Click the Reboot button
Part 9: Verify Root
Step 9.1: Check Magisk Status
-
After reboot, open Magisk app
-
You should see:
Magisk Installed 28.0 (28000) Zygisk No Ramdisk Yes -
No more "Requires Additional Setup" dialog!
Step 9.2: Test Root Access
-
Install Termux from F-Droid or Aurora Store
-
Open Termux
-
Type:
su -
Magisk will show a Superuser Request popup
-
Select GRANT
-
Your prompt should change to
#(root) -
Verify with:
idShould show:
uid=0(root) gid=0(root) groups=0(root)...
🎉 DONE!
Your NVIDIA Shield TV 2019 Pro is now running:
- LineageOS 22.x (Android 15 base)
- microG (Google services replacement)
- Magisk 28.0 (root access)
Troubleshooting
Bootloop after Part 7?
You need to complete Part 8. The TWRP install alone doesn't work - you MUST do Direct Install from the app.
To recover:
- Get into fastboot (hold A+B on gamepad while plugging in power)
- Reflash clean boot image
- Start again from Part 7
Magisk app "Select and Patch a File" crashes?
LineageOS doesn't have a proper document picker. This is why we use the two-step TWRP + Direct Install method instead.
fastboot reboot says "unknown reason"?
Use this instead:
fastboot oem continue
or
fastboot continue
Can't get into bootloader/fastboot?
Method 1: adb reboot bootloader
Method 2: Hold A+B buttons on gamepad while plugging in Shield power
Method 3: Use Android phone as USB HID keyboard (advanced)
"No command" in recovery?
You booted to stock recovery, not TWRP. Reflash TWRP per Part 3.
Why This Two-Step Process?
After 2 years of failed attempts, here's why this works:
-
CLI magiskboot patching - Causes bootloop on Shield (unknown incompatibility)
-
TWRP-only Magisk install - Can't find the preinit storage partition, so Magisk doesn't persist properly
-
Magisk app Direct Install - Has Shield-specific detection code that correctly identifies mmcblk0p32 as preinit storage
The solution: Use TWRP to get Magisk partially installed (enough for the app to see "Magisk patched boot image detected"), then use the app to complete the installation properly.
Keep These Files
Save backups of:
- Your clean
boot.img(before any Magisk patching) - TWRP recovery image
- Magisk v28.0 APK
- LineageOS ZIP
Guide created after mass profanity and 2 years of bootloops. Now go enjoy your rooted Shield.