Jump to content
C4 Forums | Control4

Unofficial ShieldTV Driver


JustinL

Recommended Posts

Here is an unofficial shield tv driver.  This works with both pro and regular versions of the shield.

For the non-pro 2017 version you will also need to buy a flirc since it doesn't have an IR receiver.  I have tested with this one:

https://www.amazon.com/gp/product/B01MS2V7GM/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

For flirc you will need to up load the configuration file to flirc.

The C4 driver is well tested and I have been using it for close to a year with no issues.  

The flirc driver was created a few minutes ago and is not well tested.

Here is what should work:

arrow keys, cancel (back), menu (home), pause, play, enter, fast forward/rewind, skip forward/backward.

Note the C4 driver has analog out even though the device doesn't this was a work around i used because I had a DAC in the system.  

 

Disclaimer:  While I work at NVIDIA this driver is not an official NVIDIA driver and is not supported by them.  This was purely done for my own self interest and i'm sharing it so others can have it. Driver is provided as is.  If you have any issues post here and I'll try to help but make no guarantee of support.  Nor do I guarantee this driver won't spontaneously destruct :)

 

shieldtv-flirc.fcfg

 

These drivers are released under the WTFPL license:  http://www.wtfpl.net/

 

ShieldTV.c4z

Link to comment
Share on other sites


Thanks,  you are right.  They probably have the pre-2017 version.  In 2017 NVIDIA released a cheaper non-pro version which no longer has an IR receiver built in (nor IR blaster in the remote).  I have edited the OP to make this clear.  Hopefully people find use in this.  I've also edited the first post to make clear the license.

 

Reference:  

https://forums.geforce.com/default/topic/987100/shield-tv-2017-only-pro-has-ir-receiver-/

Link to comment
Share on other sites

1 minute ago, JustinL said:

I didn't put one in it.  I just cooked a generic DVD driver and build from there.  I didn't know you can customize the icon.  how do you do that?

no idea, would be cool to have a nice nvidia shield icon/graphic though....instead of the plain one...

21DC01A1-D4EC-4DEC-A715-C974910A117E.jpeg

Link to comment
Share on other sites

ok I'll look and see if it is editable.  I didn't see an easy way to.change the icon but I wasn't looking for it.  my system just uses a physical remote so I never saw the icon.

 

if anyone knows how to change it let me know.

Link to comment
Share on other sites

I played with this a bit.  I downloaded the driver editor and found a place to edit some images but it doesn't seem to help give the icon to the driver.  I don't have time right now to figure this out.  Hopefully someone can tell me how to do this or better yet edit the driver to add an icon and then repost it here :)

Link to comment
Share on other sites

I played with this a bit.  I downloaded the driver editor and found a place to edit some images but it doesn't seem to help give the icon to the driver.  I don't have time right now to figure this out.  Hopefully someone can tell me how to do this or better yet edit the driver to add an icon and then repost it here
I don't think think the DVD proxy supports icon? Button I couldn't be mistaken. I know if you change to the cable proxy it does

Sent from my Pixel XL using Tapatalk

Link to comment
Share on other sites

From what I read as long as the driver is c4z format it should support a display icon, at least on most AV proxies.

Put this in the capabilities section of the driver:

<navigator_display_option proxybindingid="5001">
  <display_icons>
    <Icon height="140" width="140">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_140.png</Icon>
    <Icon height="130" width="120">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_130.png</Icon>
    <Icon height="120" width="120">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_120.png</Icon>
    <Icon height="110" width="110">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_110.png</Icon>
    <Icon height="100" width="100">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_100.png</Icon>
    <Icon height="90" width="90">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_90.png</Icon>
    <Icon height="80" width="80">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_80.png</Icon>
    <Icon height="70" width="70">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_70.png</Icon>
    <Icon height="60" width="60">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_60.png</Icon>
    <Icon height="50" width="50">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_50.png</Icon>
    <Icon height="40" width="40">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_40.png</Icon>
    <Icon height="30" width="30">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_30.png</Icon>
    <Icon height="20" width="20">controller://driver/tv_ip_websocket_lg/icons/device/lgsmarttv_20.png</Icon>
  </display_icons>
</navigator_display_option>


Of course you'll want to change 'tv_ip_websocket_lg' to whatever the c4z filename is and you will likely want to change 'lgsmarttv_<size>' to something else. You'll also want to make sure it's bound to the right proxybindingid.
 

Link to comment
Share on other sites

I have based this off of cable.  Unfortunately the driver is c4i and I don't want to pay money to get a c4i to c4z converter.  

 

I'm checking to see if I can get a better driver editor.  Using 2.0.21 currently.

 

is there a suggested editor out there that will met me convert from c4i to c4z?

Link to comment
Share on other sites

I figured out how to save a c4z.  

 

I added this block to the xml under capabilities:

 

<navigator_display_option proxybindingid="5000">
  <display_icons>
    <Icon height="256" width="256">256Copy.png</Icon>
  </display_icons>
</navigator_display_option>
 

 

I then added 256Copy.png to the zip file and renamed to c4z.  Unfortunately this still doesn't work.

 

Here are some questions I have.

 

1)  The number 5000 up there.  I matched that to "cable" which is what my device is binding to.  Is that correct?

2) Do I need an icon for every height/width size?

3) How do I specify the relative path not on the device but included in the driver?

 

 

 

 

Link to comment
Share on other sites

Thank you for your help.

But I must still be doing something wrong.

I interpreted your comment like this:

 

<navigator_display_option proxybindingid="5000">
  <display_icons>
    <Icon height="256" width="256">controller://driver/NVIDIA Shield TV/256Copy.png</Icon>
  </display_icons>
</navigator_display_option>
 

 

Unfortunately I still don't see the icon in navigators.  I gotta take the kids to the aquarium now so i'm out for a bit.  Instead I see a generic icon with a hexagon with a circle and a dot in it.

Link to comment
Share on other sites

Thanks,

 

I think i'm making progress.  Now when I select watch The icon for the SheildTV doesn't appear right away but after a second goes back to the default.

 

Do I need to make an image for every size or will it automatically a larger image if necessary? 

Is PNG the suggested format?

Link to comment
Share on other sites

I figured it out!

 

The problem was I was not putting the icons under the www subdirectory.  I was putting them at the root.  Once they were in the www directory it worked fine.  

 

I have updated the driver with icons and fixed a couple of other issues now that I have more control with the XML file.

 

Thanks for your help msgreenf.

 

Jed please try this new one out and let me know if you have any issues.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.