Nvidia SHIELD TV 2015 / 2015 Pro / 2017 Pro (nvidia-foster)
Nvidia SHIELD TV | |
Manufacturer | Nvidia |
---|---|
Name | SHIELD TV |
Codename | nvidia-foster |
Released | 2015 |
Type | set-top box |
Hardware | |
Chipset | Nvidia Tegra X1 (T210) |
CPU | 4x 1.0-2.2 GHz Cortex-A57, 4x 1.3 GHz Cortex-A53 |
GPU | Tegra X1 (GM20B) |
Display | HDMI |
Storage | 16/500 GB |
Memory | 3 GB |
Architecture | aarch64 |
Software | |
Original software | Android (TV) |
Original version | 5.1 |
FOSS bootloader | partial |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
This means that it cannot be selected in pmbootstrap.
Flashing |
Broken |
---|---|
USB Networking |
Works |
Internal storage |
Works |
SD card |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Works |
IR RX |
Works |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
Ethernet |
Works |
Miscellaneous | |
FDE | |
USB-A |
Works |
USB OTG | |
HDMI/DP |
Works |
Primary Bootloader |
Broken |
---|---|
Secondary Bootloader |
Partial |
Mainline |
Works |
Internal Storage |
Broken |
SD card |
Works |
USB Host |
Broken |
USB Peripheral |
Broken |
Buttons |
Works |
This page is for P2571 board based (foster) SHIELD TV variants.
Contributors
Users owning this device
- Illen (Notes: 16 GB variant, runs mainline)
How to enter flash mode
Connect the device to host (using microUSB port), power it on and after 2 seconds hold the power button until bootloader menu shows up.
Installation
Booting mainline kernel
The vendor bootloader (CBoot) passes the device tree blob from DTB partition. Flashing this partition is proven to be unsafe, which makes it not feasible to boot non-vendor kernel. Fortunately U-Boot supports the P2571 board and it works good enough to be used as a secondary loader.
Mainline kernel status
Most of features are working except:
- Hardware video decoding/encoding
- Cooling fan (therefore I don't recommend overloading it too much).
- eMMC/SATA are disabled because there's no TegraPT support included in the fork.
GPU reclocking
You can put this GPU into higher power state for better performance (like older NVidia GPUs running with nouveau).
cat /sys/kernel/debug/dri/1/pstate
01: core 76 MHz AC DC *
02: core 153 MHz
03: core 230 MHz
04: core 307 MHz
05: core 384 MHz
06: core 460 MHz
07: core 537 MHz
08: core 614 MHz
09: core 691 MHz
0a: core 768 MHz
0b: core 844 MHz
0c: core 921 MHz
0d: core 998 MHz
DC: core 76 MHz
Seems like currently 0a
state is the highest stable.
echo 0a > /sys/kernel/debug/dri/1/pstate
Lightbar
Mainline fork includes the Lightbar LED driver brought from vendor kernel.
This lightbar support 3 modes; normal (default), breathing and blinking
echo breathing > /sys/class/leds/nvidia:green:lightbar/effects
Or to just shut it off:
echo 0 > /sys/class/leds/nvidia:green:lightbar/birghtness
Mainline U-Boot status
Can boot from SD cards, USB/eMMC doesn't work. Uses simple framebuffer for video output because there is no HDMI video out support for Tegra 210 in U-Boot.