Skip to content

Instantly share code, notes, and snippets.

@pmarks-net
Last active April 1, 2025 07:06
Show Gist options
  • Save pmarks-net/15b2d8c0f7bf99bb2e776dff50709192 to your computer and use it in GitHub Desktop.
Save pmarks-net/15b2d8c0f7bf99bb2e776dff50709192 to your computer and use it in GitHub Desktop.

Buying a Dumb Smart TV in 2025

When shopping for a new TV recently, I wanted something inexpensive but not full of ads. Enter one of the greatest features of the modern era, "basic tv mode" on Google TV platform:

I purchased a TCL QM7, but presumably all Google TVs are similar: it prompts to configure "Google TV" or "Basic TV" mode on startup. After confirming that Google TV mode resembles the interface from Idiocracy, I factory reset and chose basic mode. The result is a streamlined Android interface with a few preinstalled apps (YouTube, Netflix, etc.) that aren't much of a bother if you just want to select HDMI inputs and call it a day.

Note that basic mode still forces you to agree to some terms before using the TV, just not as many as Google TV mode. The TV also has a microphone, but it can be disabled via a toggle switch on the bottom.

UPDATE: Apparently Google TV still shows ads on top of the home screen in basic mode. Blocking "androidtvlauncherxfe-pa.googleapis.com" in my router's DNS seems effective for now, but I'm not happy about this.

However, I was curious whether I could sideload APKs in basic mode. There are various guides suggesting that I use TCL's "Safety Guard" app, but on my QM7 this just launches Google Play and prompts me to sign in and activate Google TV. I also tried copying F-Droid.apk to a flash drive, but it was not visible in the file browser.

Here is the solution:

  • System > About > Android TV OS build > tap several times to enable developer mode
  • Enable USB debugging # TV should start listening on TCP port 5555
  • Connect to WiFi and note the IP address
  • From a PC on the network with adb installed:
    $ adb connect ip_address_of_tv
    $ adb devices
    $ adb -s ip_address_of_tv:5555 install F-Droid.apk
    
  • Settings > Apps > See all apps > F-Droid > Open

F-Droid has poor support for TV remote input, so I had to plug in a USB mouse to download additional apps. An alternative is to run am start -a android.intent.action.SEARCH -n org.fdroid.fdroid/.views.main.MainActivity --es query "" from adb shell. Jellyfin for Android TV installs cleanly with an icon on the home screen, and works well with the TV remote.

This is all bog-standard Android stuff, so hopefully it should continue working on all Google TV products, assuming the manufacturers don't figure out how to lock out developer mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment