About the Shield TV PVR Project
I wanted to use my NVidia Shield TV not just for gaming and Netflix, but did not like the idea to loose the (in my view) really cool wifi remote and gamepad by switching to 'that other full android' image that is currently available on xda. So i decided to jump on the road and add those few additional features I was missing to the stock system by myself..
After some (many) hours of work to get the nvidia supplied source packages trimmed down and fixing bugs in the kernel, I can finally say its running pretty good now!
Here is what is working right now:
- A full kernel compile can be done in just about 3-8 minutes contrary to more than one and a half hours when using the unmodified nvidia package
- The stripped down development package I built is only taking about 1.5 GB of harddrive space, there is no need to download all of these 20+ GB of mixed stuff from the slow nvidia servers anymore, no need to wait for the repo tool to unpack and etc - its just fetch and compile a bootimage right away.
- I have added full NTFS (r+w) support to the kernel, so you can just plug-in any ntfs formatted harddrive or usb stick and use it like the fat32 formatted drives that were already supported.
- I have added DVBAPI support back into the kernel so you can plug-in a supported DVB-C/DVB-S/DVB-S2/DVB-T/DVB-T2 tuner stick and use it to watch, record and stream live TV from your shield - full PVR powers baby!
(I had to patch the base kernel to allow that as there was some 32/64 bit ioctl compatibility issue that I think was one of the reasons why nvidia did not include dvbapi - it took a long time googling around to get this working..)
- I have built the latest tvheadend server version from source aswell, on my shield it gets started using a bootscript and its really easy to install using adb
This is my current setup:
I have connected 3 DVBSky DVB-C/T/T2 USB tuner sticks to a powered USB 3.0 hub and plugged that into the shield. Since there were no drivers for my usb stick brand available, I have patched the dvbsky branch of the kernel tree with a backported version of these drivers. (For those of you that have different brand sticks, there are 2 other branches available, one with all the stock kernel-supplied dvb drivers, one with all the drivers from media_tree). It is now easily possible to
watch live TV (using Kodi with tvheadend htsp plugin) with full EPG etc
stream live TV to the kids room (my kids are using kodi installed on a fire tv stick that is connected to an old 19" lcd screen)
stream transcoded (bandwidth saving) live tv to my tablet and smartphone over the internet
record tv shows on demand, timers can be programmed using a smartphone (tvheadend helper app) aswell as through the kodi interface
All these features are in heavy use by my family right now and without any real impact on the overall speed of the shield console - read: completely transparent in the background! (I have attached a 500 GB USB 3.0 hard drive (ntfs formatted) to the shield for storage of the recorded tv shows - obiously.)
Get yourself a Shield PVR
Just grab a linux-supported tuner stick and a harddrive, flash one of the precompiled kernels and install tvheadend from my androidfilehost area - it surely is not for the fainthearted as there are currently no step-by-step instructions, but I think everyone with a little knowledge on how to use adb and fastboot can do it.
Of course I will try to help out if you run into problems, you can post your questions/suggestions/bug reports into the issue tracker or to my thread at xda.
Contribute
If you want to say thanks and help continuing my work you can hit that donate button on my androidfilehost area, it is not in any way required tho. If you want to contribute code/patches/ideas - just do so using the usual channels (issue tracker, xda thread).
How do I get set up for development?
Check the official repo wiki page, I have added some scripting code examples and etc to the wiki there.
Check my twitter account aswell for latest updates and a preview video showing my actual shield in action!
I wanted to use my NVidia Shield TV not just for gaming and Netflix, but did not like the idea to loose the (in my view) really cool wifi remote and gamepad by switching to 'that other full android' image that is currently available on xda. So i decided to jump on the road and add those few additional features I was missing to the stock system by myself..
After some (many) hours of work to get the nvidia supplied source packages trimmed down and fixing bugs in the kernel, I can finally say its running pretty good now!
Here is what is working right now:
- A full kernel compile can be done in just about 3-8 minutes contrary to more than one and a half hours when using the unmodified nvidia package
- The stripped down development package I built is only taking about 1.5 GB of harddrive space, there is no need to download all of these 20+ GB of mixed stuff from the slow nvidia servers anymore, no need to wait for the repo tool to unpack and etc - its just fetch and compile a bootimage right away.
- I have added full NTFS (r+w) support to the kernel, so you can just plug-in any ntfs formatted harddrive or usb stick and use it like the fat32 formatted drives that were already supported.
- I have added DVBAPI support back into the kernel so you can plug-in a supported DVB-C/DVB-S/DVB-S2/DVB-T/DVB-T2 tuner stick and use it to watch, record and stream live TV from your shield - full PVR powers baby!
- I have built the latest tvheadend server version from source aswell, on my shield it gets started using a bootscript and its really easy to install using adb
This is my current setup:
watch live TV (using Kodi with tvheadend htsp plugin) with full EPG etc
stream live TV to the kids room (my kids are using kodi installed on a fire tv stick that is connected to an old 19" lcd screen)
stream transcoded (bandwidth saving) live tv to my tablet and smartphone over the internet
record tv shows on demand, timers can be programmed using a smartphone (tvheadend helper app) aswell as through the kodi interface
All these features are in heavy use by my family right now and without any real impact on the overall speed of the shield console - read: completely transparent in the background! (I have attached a 500 GB USB 3.0 hard drive (ntfs formatted) to the shield for storage of the recorded tv shows - obiously.)
Get yourself a Shield PVR
Just grab a linux-supported tuner stick and a harddrive, flash one of the precompiled kernels and install tvheadend from my androidfilehost area - it surely is not for the fainthearted as there are currently no step-by-step instructions, but I think everyone with a little knowledge on how to use adb and fastboot can do it.
Of course I will try to help out if you run into problems, you can post your questions/suggestions/bug reports into the issue tracker or to my thread at xda.
Contribute
If you want to say thanks and help continuing my work you can hit that donate button on my androidfilehost area, it is not in any way required tho. If you want to contribute code/patches/ideas - just do so using the usual channels (issue tracker, xda thread).
How do I get set up for development?
Check the official repo wiki page, I have added some scripting code examples and etc to the wiki there.
Check my twitter account aswell for latest updates and a preview video showing my actual shield in action!
Code:
Androidfilehost (prebuilt images): https://androidfilehost.com/?w=files&flid=48701
Github repo: https://bitbucket.org/nopnop9090/shieldtv-kernel
Wiki: https://bitbucket.org/nopnop9090/shieldtv-kernel/wiki
Last edited: