I decided to write up a step by step tutorial for rooting the Shield TV (2017) for the purpose of getting PS4 Remote Play working. There are bits and pieces of this scattered, but before doing this I couldnt find one tutorial that guided me from start to finish all in one place. The purpose of this is to provide it all in one place.
That said, I have taken bits and pieces of this from other tutorials, so all credit to the original authors. If they want any part of this removed I will do so upon request, but hopefully since this is all for the knowledge of the community it will be allowed to stay.
This follows the steps I took to make this work, if anything doesnt work or is different, refer to the links to the original tutorials at the end for more in depth information.
I used Windows 10, I do not know if the process is different for earlier versions.
Disclaimer
I am not responsible for anything that may happen to your device by following the instructions below. You do so at your own risk. If you do not feel comfortable making changes that have the potential of breaking your device, DO NOT PROCEED. If you root, your warranty will likely be completely void. This is your responsibility.
Hardware Required:
Windows PC (tutorial assumes Windows 10)
USB Mouse
Shield TV 2017
Shield Game Controller with USB to Micro USB cable
USB Type A Male to USB Type A Male cable
purchase https://www.amazon.com/gp/product/B01EQ7H85W/
or create http://www.instructables.com/id/Male-to-Male-A-to-A-USB-Cable/
Files to Download:
Minimal ADB and Fastboot http://nvidiashieldzone.com/download/minimal-adb-and-fastboot/
Shield Family Drivers http://nvidiashieldzone.com/download/shield-family-drivers/
TWRP 3.1.1-1 https://dl.twrp.me/foster/twrp-3.1.1-1-foster.img.html
Magisk v14 (or later version) http://tiny.cc/latestmagisk
Getting Started
Root:
Remote Play:
Note about using a controller:
I could not for the life of me get the controller to work with the Remote Play app with the controller paired directly to the Shield. I tried the Shield Game Controller, it didnt work, I tried the Sixaxis Controller app (i could control the android interface with the PS3/PS4 controller but not Remote Play), it didnt work. I used a workaround which leaves the PS4 controller paired to the PS4. I am using this clear on the other side of the house and it reached, so unless your going a huge distance it should work. This is the workaround:
This will make it so that your DualShock 4 will remain connected to the PlayStation 4 and be able to operate it while your screen is casting to your device. The only limitation is, of course, that you’ll be constrained to bluetooth range.
Hey I'm trying to replace the default launcher on my new TV. It's running Android 7.0 currently and I was able to connect to my computer following these instructions (https://android.stackexchange.com/questions/162935/completely-change-home-screen-on-android-tv)
Everything worked fine until the step
adb shell pm hide com.google.android.leanbacklauncher
Where I get an error saying I don't have the required permissions. Wondering if anyone has had success replacing the default launcher on a newer 7.0 Android TV and if so how they did it (ideally without rooting)
I found information saying that disabling (rather than hiding) the launcher will likely work on 7.0, however does anyone know if a factory reset can bring it back?
EDIT:
For anyone else with this issue who googles this I ended up using the following to remove the launcher rather than disable it
adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher
I was trying to get retroplayer working with my wireless xbox controllers (All Official MS gear) and couldnt get the Dpad or right stick to map , though it works on other nougat based Android devices both tablets and the Shield.
I have done some testing with a controller testing app and it shows that not only does the mibox not see the movement of either their Dpad or right joystick, but it's mapped the R1/L1 triggers to be the Joystick up/down, Left/Right respectively.
If I get a chance ill see if I can test newer builds (in 924 it worked) but if is anyone else using this setup and have it working?
EDIT: OK looking back at some past posts this may not be a driver issue, more a layout problem. The Mibox is now not registering the controller as an xbox device so is falling back to a Generic setup.
After some poking about it seems only the wired mapping was installed , I pushed two others I found here https://www.s-config.com/ouya-support-xbox-360-controllers/
The instructions below are a little rough and ready and im not 100% on the impact of disabling verity, I do know that when I re-enabled I had to reinstall the 1028 update via recovery
Step 0 - (not stricly necceasry but here for completeness) pull the files to compare
Step 1 - Make system writeable
Step 2 - Mount Systems and push new Generic.kl