Things I Found Out the Hard Way to Get the Most of the Nvidia Shield

I bought an Nvidia Shield (2017 model) on sale for $140 at the end of 2018 and am amazed by how much this tiny device can accomplish. It’s connected to our 58″ 4K Samsung TV and became the hub for our family’s media consumption, though getting things to that point was quite more involved than I would have liked. Here are some notes to maximize your experience while minimizing the hassle to get there. If I were to buy a Shield now, I’d get the 2019 model because I keep reading that the AI 4K upscaling looks amazing.

Media Server: Use a USB Hard Drive so that Plex Can Scale and Remain Stable

In the past I went back and forth between running Plex and Emby on my PC, but I really wanted to move that task off my desktop which was one of the reasons why I bought the Shield in the first place. Shields come with Plex Media Server (PMS) pre-installed, so this is the option I went with.

In my experience PMS works well on the Shield but if you have a large library, you do NOT want to set it up on the feeble 16GB of internal storage, as you’ll fill that in a hurry with all the media metadata, even if you turn off video thumbnails in your libraries’ advanced settings. I also went through two Sandisk USB keys but the whole thing would always end up flaking out at some point.

What eventually brought sanity and stability to the whole thing was to:

  1. Hook up a USB hard drive to the Shield. I freed up an old 2TB Western Digital drive I had on my network. The sweetspot for best price/TB these days is with the 8TB WD Elements hard drive.
  2. Install PMS from scratch and move it to external storage before you load media to your libraries, otherwise it takes forever or outright fails.
  3. Then and only then add media to your libraries.

You can mount remote drives on the Shield which will let you load them in PMS. I have a Synology NAS, two USB drives connected to my router, and a Google Drive mounted on my PC via Stablebit CloudDrive all loaded in PMS (25+TB and counting). I was able to stream 4K content from the cloud with only occasional, slight stuttering or pausing after changing Kodi’s AdvancedSettings.xml as described here (though cloud streaming randomly just won’t work, which can be quite frustrating).

Do not let your attached hard drive get completely full, otherwise your Shield will badly crash. Ask me how I know.

We access Plex via various devices either through apps (e.g. on a 4K Fire Stick in one of the bedrooms) or the Plex web app. And of course on the Shield itself, as described in the next section.

I may reconsider which software to use when I buy a new NAS where I may offload the media server function, but in the meantime running both the media backend and frontend on the Shield works rather well. See Plex vs. Emby vs. Jellyfin.

Plex Library Pro Tips: Movies, TV Series, Documentaries, Video Tutorials, Sports…

If you apply the recommended naming conventions (TV, movies), Plex is usually good at auto-matching and fetching the right metadata, but some content types can be tricky and tiny punctuation can throw it off (e.g. you can’t put colons in Windows file names), as well as titles in other languages than English. A few notes to save you a lot of grief:

  • Make sure to put documentary standalones in a Movie library while documentary series should be in a separate TV library. Some documentaries are tricky as you may think they’re standalones but they’re actually part of a loose TV series (think stuff from National Geographic).
  • When TV shows won’t match, find the offending series in TheTVDB then force a match by ID. You can do the same with IDs from IMDb in movie libraries.
  • UFC fights are usually recognized if you set them in a movie library.
  • Multi-part video tutorials is the content type I found most tricky to handle, as the big public databases don’t have metadata about them. Trial and error led me to using collections with the following settings:
    • Library type: Movies. If you use Other Videos you’ll have to merge them manually in Plex, which would need to be redone if you ever have to reset said library, which in my experience is bound to happen.
    • Scanner: Plex Movie Scanner.
    • Agent: Plex Movie.
    • Hide items belonging to collections (stacked content is based on Collections).
    • Rename files with Flash Renamer following the “- partx.ext” convention.
    • Group parts of the same tutorial under the same “album”, by tagging them with mp3tag, which works on mp4 video files, so if you have AVIs you’ll want to convert them with VLC first. For categorization I don’t use tags, which never got any love in the Plex UI, but rather self-defined genres.
    • Even more control like setting up pictures for cast members may be done with custom agent libraries, though I haven’t done that yet.
  • Audiobooks require that you jump through a number of similar hoops as tutorials (except as a Music library) so that the user experience makes sense for this specific type of media. See:

While plugins such as Web.Tools are no longer supported by Plex, they still work, and you can install them on the Shield’s PMS.

Media Player: Stick to Plex & Android Apps for Ease of Use While Kodi is Where It’s At for Extreme Customization

I like Plex as a server but the media player is a bit limited. Kodi on the other hand is infinitely configurable thanks to all its settings, skins, and addons, and handles more content types. Among the most useful additions to core Kodi, I recommend:

  • PlexKodiConnect, a better approach than the official Plex for Kodi solution. Bear in mind though that this adds more GBs of metadata for your Shield to handle, making the external hard drive requirement only more important.
  • Arctic Zephyr 2: good-looking and very flexible skin. The whole widget / submenu / submenu widget logic takes some time to get used to, but it lets you lay out your content exactly the way you want to. Do back up your skin settings when you have something you like, as it’s pretty easy to lose a lot of work with a couple of operator errors or because of crashes.
  • Trakt.tv lets you keep track of what you’ve watched and liked. You can also access public lists and create your own, which you can turn into skin widgets via OpenMeta. Lesser-known alternatives: TV Time, Simkl.
  • The MovieDB helper – details about movies, shows, actors. I use it to load Trakt lists (e.g. stuff that my wife watches by herself).
  • Library Node Editor – use this if you don’t want your stand-up comedy or documentaries mixed with fiction TV series.
  • Lazy TV – I use this to be able to automatically play the next episode of a series at the end of the one I just finished watching. (Similar functionality is built in Plex.)
  • Google Music EXP. We used to have a Google Music family subscription which I found was fantastic value for the money. Of course in their infinite wisdom Google had to mess up a good thing, and YouTube Music is such as pathetic replacement it’s not even funny. I just moved to Spotify Premium Family and it’s unlikely I’ll look back. I haven’t tried to put Spotify in Kodi, I’m happy to just use the Android TV app. Spotify works well with a variety of devices via Spotify Connect.
  • Youtube – I gave up for the time being after Google put some restrictions that killed the default option. There are some workarounds but I’m fine using Youtube outside or Kodi or via Chromecast.
  • Google Drive to directly access cloud content.
  • When things go wrong, you’ll want to access the logs at:
    \Android\data\org.xbmc.kodi\files.kodi\temp

Warning: do NOT go crazy with addons! Some of them are memory hogs and I slowed my system to a crawl a couple of times until I went through a disabling spree. Install only a few addons at a time, keep only those you actually use, and monitor your Kodi performance before installing more stuff. Playing large video files requires significant amounts of free RAM.

Finally, the following have intriguing possibilities but in some cases I haven’t figured out how to best use them in combination with widgets and submenus:

To fully customize menu interactions, you can set up actions manually by calling built-in GUI functions such as as ActivateWindow(), by using a custom item (at the bottom of options for “Action > Choose item for menu”), like this:

ActivateWindow(Videos,"plugin://script.skin.helper.widgets/?action=next&mediatype=episodes&reload=$INFO[Window(Home).Property(widgetreload)]")

There are more advanced things I’ve not been able to do yet, such as:

  • Setting up a widget / widget submenu combo to directly browse movies by actor or director
  • Hiding watched content in widgets
  • Casting PVR and addons to other devices
  • Synchronizing watched status from Trakt to Plex, which you want to do in case you reset your Plex libraries.
  • Mimicking in Kodi the Plex player’s ability to play theme music for TV shows. There’s tvmelodies and probably a couple similar solutions that require you to download theme mp3s manually. That’s too much work!

If I lost you and all the above sounds too complicated, start by reading this skin widget setup tutorial.

What’s the takeaway? You can go crazy molding Kodi to your unique requirements, but it’s easy to make it unstable and the whole endeavor can turn into a real timesink. If you want something that just works, stick to the Plex UI. The latter has been improving lately with native support for subtitles and may well meet your needs as is.

IPTV

Hardcore IPTV users seem to prefer the separate TiviMate app, but I haven’t tried it yet. Meanwhile many Kodi addons seem to be a huge waste of time, with transient content and/or low-quality streams that can’t compete with a curated collection of quality encodes from the top private torrent trackers. Still, I found a couple useful options:

  • IPTV Simple Client to emulate channel surfing with program schedules and summaries.
  • Catch-Up TV & More – the best IPTV source I’ve found so far, especially for francophone content. You can set it up for live TV.
  • Rai TV: Italian content.
  • RTP: Portuguese. They also have a decent Android app.
  • Xumo: has many free English-speaking channels, including Bloomberg, though a lot of that is cable junk.

It seems possible to hack your way into loading several URLs into the PVR but I haven’t pursued that yet, will update this entry when I get around to it.

Useful Apps

Since the Shield is an Android device there are thousands of apps you could install but these few are must-haves:

Remote Access

There are a few ways you can control your Shield remotely. You will need to go back and forth between your Shield and other devices for authorization purposes, so some of that stuff may best be done with a smartphone or tablet while sitting in front of your TV.

  • You can share the Shield’s internal and external storage on your network, I mounted the USB drive connected to my Shield as a drive on Windows for convenience.
  • I really wanted to be able to control the Shield’s UI from my PC, which turned out to be its own side quest. I first tested TeamViewer, got it to share the screen, but couldn’t get clicks to register. I then tested Vysor which did handle clicks but the resolution in the free version is really blurry. I finally set up scrcpy as explained in this video, which like Vysor relies on enabling ADB network debugging after you’ve turned on developer mode in the Shield (Settings > About, scroll down to Build, click on it 7 times). This is very responsive at a good resolution, is free, and you can even copy/paste! The main limitation is scrcpy doesn’t forward sound, and I haven’t found how to do a long press (keyboard shortcuts).
  • Kodi has a web interface to change its settings remotely.

Gaming

You can stream games from you PC, including your Steam library, using either the native GameStream app or Moonlight. Since it’s the type of setup that requires back-and-forth authorizations between your Shield and PC, remote control can save you running up and down the stairs like I’ve had to do many times in the past!

Geforce Now is a letdown for us because they don’t have servers in Chile and the 150+ms ping to North American ones is a deal breaker. Other than that, seems like a good option.

There are also extensive emulator options but my son turned out to be much less interested in them than I thought, so I’ve only dabbled with this. It does take some time to set it all up. See:

Of course you could always run Android games.

Ancillary Devices: Mobile Devices, Remotes, Voice Assistants, Home Automation

Like many users I’m not a fan of the Shield’s remote. I recently bought a Rii i25 air mouse remote / keyboard combo which I’m satisfied with. Before that, I used a Logitech wireless keyboard as well as Nvidia’s mobile app, but I never found either option to be as “couch friendly” as a physical remote.

Speaking of managing your Shield from a mobile device, besides the aforementioned Nvidia app, here are the main options:

  • Plex – obviously limited to whatever is in your Plex library. Includes Chromecast.
  • Kore – the official remote from Kodi. Decent, nothing too fancy, works, no Chromecast.
  • Yatse – on paper the paid version does does a lot more than Kore, thanks to its ability to cast Kodi to other devices. Unfortunately I haven’t been able to get streaming to work reliably.
  • Wako – Trakt meets Kodi remote, but the ads are intrusive and the lifetime contribution a bit steep (and no, I’m not going to subscribe to a mobile app).

I put a Govee Wifi backlight behind the TV, not essential but it is a nice touch and responds to Alexa most of the time. Let’s be honest, all these home widgets work every time, 60% of the time.

Speaking of Alexa, one of many abandoned side quests was to use this: Kodi Connect – Alexa. It’s an involved process that failed for me half-way through but this reportedly works well… when it does. There’s something similar for Google Assistant.

PlexKodiAddon supports Alexa, though it’s a bit more cumbersome to use because you have to say “Alexa, ask/tell Plex to…” instead of using Alexa’s native media support. But Alexa keep losing track of the Plex server and can’t find other players such as our Samsung TVs or Fire TV Stick 4K even though they’re supposed to be supported devices. I always feel “so close yet so far” with voice assistants.

I’d also like to chain Plex and Govee instructions through an Alexa routine for extreme laziness but didn’t get that quite working to satisfaction yet.

Jeff Flemming in the comments below suggests settings up a Home Assistant server, which has many integrations including AndroidTV, Plex, and Kodi, and may send ADB commands to launch specific apps on the Shield via the ADB – Android Debug Bridge. I’d want to run this on my NAS, but docker is not supported on my ancient Synology DS213j. My next NAS will probably be a DS920+ which should set me up for a decade.

I’m definitely going to look into this, might spin it on my PC for now. See for instance: Alexa to Plex: Resume TV series with no remote buttons (node red).

If you want media players in other rooms that don’t need the full-fledged Shield experience, I’ve had a good experience with:

  • Amazon’s Fire Stick 4K, a good $50 option as a Plex client with an Android-like interface.
  • TCL TVs with almost-stock Android TV (in the US it looks like they mostly push Roku but I think there’s regular Android TV too, like in the rest of the world).

Conclusion

To summarize my recommendations:

  • Get the core storage right or you won’t have a sustainable solution.
  • Ditto with networking: cable your home with Cat6 Ethernet cable if you can, or get good wifi routers (possibly mesh) if you can’t.
  • Plex and selected Android TV apps are where it’s at for reliable, responsive behavior.
  • Kodi can unlock a world of customization, but prepare to spend a lot of time getting there. This is not the spouse/kids-friendly option.
  • Home automation is fun but like Kodi, it’s never as simple as it looks.
  • In the end there’s no perfect solution, accept that there are tradeoffs.
  • If you don’t want your family to endlessly mock you because your awesome media server is yet again borking, cut back on the cutting edge experimental stuff!

Note: Amazon links include an affiliate tag.

7 thoughts on “Things I Found Out the Hard Way to Get the Most of the Nvidia Shield

  1. Jeff Flemming

    If your looking into complete Alexa/Google assistant integration I suggest homeassistant. Cheapest way is to run it on a pi3 or pi4. That or run it docker. HA has a lot of community support. I’m running ADB I. It over the network to my shield and it opens up a lot of doors that you simply can’t get with the built in Integration. You can do a LOT bit it does take so e technical skills if you want to get really involved.

    Reply
  2. Jeff Flemming

    Meant to leave this here. Guide on how to open any app using HA. The great thing is you create everything in HA then push it to Amazon and Google. Then everything just shows up in the Alexa or Google Home app. I just wish I knew more about pushing commands from ADB.

    Going to try the Plex plugin for Kodi. Kodi is absolutely the best media player out there but it’s not great at file naming conventions, at least not “out of the box”. Half my TV shows up as a date of 1982 which tells me nothing so I use the built in file browser….

    https://www.reddit.com/r/homeassistant/comments/dsyqsv/can_we_use_homeassistant_to_open_apps_on_android/

    Reply
  3. otravers Post author

    Thanks Jeff, I’m going to be playing with this for sure! I updated the entry to reflect your suggestions.

    Reply
    1. otravers Post author

      I had never heard of it so I looked it up, it might be good but it looks pretty dead to me.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *