googletv blog post and remove meta

This commit is contained in:
Murphy 2025-03-11 20:56:04 -04:00
parent d362c2b81b
commit 4346f96257
Signed by: freya
GPG key ID: 9FBC6FFD6D2DBF17
21 changed files with 312 additions and 0 deletions

View file

@ -0,0 +1,312 @@
---
name: How to unenshittificate your Google TV
date: 25-03-11T19:00:00-05:00
desc: Google sucks. I have a google tv. I dont want google on my tv. Go away.
---
In August 2024 I bought my first tv ever at Wallmart, a Pillips 7000 series 4K
Ultra HD LED Google TV. For only $280 I had a 4K tv that I could use to stream
content from my PS3, Wii, and my local media server. It's a bit sluggish running
a cheap 32-bit arm processor, but thats not my biggest problem with the tv. I
got sick of those damn ads.
### Those damn ads
Below is the promotional image for the tv I purchased from phillips. The biggest
thing on the screen is an Oppenheimer ad, taking up 50% of the screen real
estate. Below is "Top picks for you" which google puts in ads or
"recommendations" for movies/shows that promoters want me to watch. And finally
below that is a list of apps installed on the tv which contains a ton of preloaded
apps that you cannot remove from my tv. My tv came with Netflix, Prime Video,
Tubitv, and Univision none of which I use. But because I could not uninstall
these apps from my tv I was locked into them.
![Google TV](public/blog/googletv.jpg)
Even being a tech savy person I didn't realize what I was getting into when I
bought my tv. I personaly use Linux, Ad Block in my Firefox browser, and
heavly manage what software is running on the devices I own. When faced with my
tv I wanted to do the same. I wanted to strip away the ads, the recommendations,
the preinstalled applications, and make the tv truly mine. In this guide I am
documenting the process on how to do just this. But first I must quickly talk
about dumb tvs.
### Just use a dumb tv
The easy and commenly recommended solution to my problem is to just
> "Get a dumb tv! They dont have any preinstalled apps or ads, just your content."
It is true that dumb tvs would solve my problem, but the problem is that you
cannot but dumb tvs, or at least in retail. Back in the early 2000s all tvs were
dumb, I have a tv that is 720p with massive bezels that just shows content from
my console and computers but its 720p. I want a tv that is at least 1440p and
50in. I commenly have people over where I live and its a nice-to-have. The problem
is that dumb tvs that fit this criteria are not sold to consumers any more. It
is more profitable for OEMs to slap smart software on to their devices to get
monetary kickbacks from either Google, Roku, or Amazon. There are still dumb tvs
being sold to business but you should expect to pay a pretty penny for one.
Since they are made for businesses, and the manufacturer doesnt get kickbacks,
they cost a lot more. Getting a Dumb tv is not a solution for most people,
especially those who already bought an affordable smart tv from retail.
### The Guide
Ok so now that dumb tvs are out of the way, this is the plan on how you
"unenshittifiy" your Google/Android tv.
The core of this guide centers around that Google TVs run android, a mobile
linux based distribution. All android devices support a USB debugging feature
called adb (Android Debug Bridge) that allows the user to access higher
privileged settings then normal. With adb you can disable and partially uninstall
preloaded applications, change the user interface (called the launcher), and
sideload custom applications that is not provided in Androids "Google Play Store".
In an itemized list this guide will:
1. Replace the default launcher with [flauncher](https://github.com/CocoCR300/flauncher)
Flauncher is a launcher (default user interface) for Google TVs. It is simple
and just shows the instaleld apps on the tv, no ads, nothing else. I am using a
fork of flauncher that includes some fixes and improvements, but you can also
just use the original [here](https://gitlab.com/flauncher/flauncher).
2. Removing all preinstalled applications
No more Netflix or Amazon Prime Video if you dont use them!
3. Removing everything Google
Google likes to inject their services into everything they use spying on you
in the process. In the process we will add apps that replace some of the
functionality lost when removing these apps.
#### ⚠️ Warning ⚠️
Before you start or do anything listed in this guide or any other guide be warned
that you are completing these operations AT YOUR OWN RISK with FULL LIABALITY if
anything is to go wrong. It is unlikely that anything listed here should result
in bricking your tv is is possible. I will also note that many google tvs can
still be factory reset to fix anything if the tv does break, but you should
still proceed with caution.
#### 1. The user interface
The image posted in the opening to this blog shows the default user interface
for Google TV and as described it sucks. In Android everything is an app including
the default user interface that your tv loads into, and on Android these are
called launchers. On most Android phones you can select your launcher of choice
but google tv does not let you do that directly. To change the user interface
you MUST install an app that supports being a luncher and then disable the
Google TV launcher AFTER installing the custom launcher. If you do this in the
wrong order you will likely brick your tv.
First download your launcher of choise. As stated earlier I am using Flauncher
for this, but there are other launchers avaliable if you wish to look around.
Also be warned that you trust the software and developer of the launcher you
are installing, as running untrusted code can result in malware.
Once you have downloaded your launcher (it should be an APK) we then need to
install it to your tv. To do this we need to connect adb to your tv. To enable
debugging on your tv, fist open settings and find the entry listing your tvs
build number (usually under System > About). Click this option multiple times
and the tv should state that "You are now a developer". Go back into just System
settings and enter "Developer Options". Find USB debugging and enable it. Then
connect a USB cable to your tv and a computer that you installed
[android tools](https://developer.android.com/tools/releases/platform-tools)
onto. Run...
```bash
$ adb devices
```
... and a prompt to verify your device should show up on your tv. Approve this
message and you now have adb connected to your tv.
Finally run...
```
$ adb install <path to apk>
```
... to install the custom launcher onto your tv.
To verify that this works open the launcher app from your default google tv
interface. If it works great! If it doesnt show up as a google tv app or doesnt
work I would reccommend using a different launcher.
![Google TV running Flauncher User Interface](public/blog/flauncher.jpg)
Above is my tv running FLauncher! Horray!
Now you will notice that when your press the home button on your Google TV
remove, select the home option in the input menu, or restart your tv that it
will boot into the default user interface. You have two options to fix this
##### Option 1: Remap the home button
Using [Button Mapper](https://play.google.com/store/apps/details?id=flar2.homebutton&hl=en_US)
which is avaliable in the play/[auora](https://auroraoss.com/) store, you can
remap your home button to open your custom launcher application instead of
acutally going home (which is the Google TV default interface). The downside
to this is that the tv will always boot into the Google TV default interface
and menus like the input switcher will do the same. If you always want your
custom launcher see option 2.
##### Option 2: Disabling the default launcher
On my Google TV the launcher application was called `com.google.android.apps.tv.launcherx`.
Using adb you can disable the launcher application (along with another app)
to stop google tv from using the default interface.
```bash
# Disable com.google.android.apps.tv.launcherx which is the default launcher on CCwGtv
$ adb shell pm disable-user --user 0 com.google.android.apps.tv.launcherx
# com.google.android.tungsten.setupwraith will then be used as a 'fallback' and will automatically
# re-enable the default launcher, so disable it as well
$ adb shell pm disable-user --user 0 com.google.android.tungsten.setupwraith
```
With the default launcher disabled google tv SHOULD fallback to your custom
launcher application at all times. If it does not do this the tv will result
in a soft brick. Be warned.
#### 1.5. Fixing the input switcher (with Livetv from mediatek)
If you are using a physical google tv (tv) and not just a streamer such as a
chromecast, disabling the custom launcher will break your input switcher if your
custom launcher does not support switching inputs on its own (flauncher does not).
If this is the case you need to find a different input switcher application.
My google tv uses mediatek for alot of its software which I think alot of them
are. If you have the same luck that I did you MAY have an application hiddden
in your tv called `com.mediatek.wwtv.tvcenter`. This application will bring
back a custom input switcher that I like alot better then the default included
one. There are two things you can try to get this working if your tv uses
mediatek.
##### Option 1: Install from file
I recommend trying option 2 first. If it doesnt work due to missing application
then try this option.
Try to find an file called 'Livetv.apk' on your tv. Within adb shell run
```bash
adb shell find / -name "Livetv.apk"
```
With luck you should find an apk on your tv with this name and the package name
of `com.mediatek.wwtv.tvcenter`. If you do run
```bash
adb shell pm install --user 0 <path to apk on tv>
```
If your tv does not have an apk you can try using the one from my tv hosted
[here](/public/blog/Livetv.apk).
##### Option 2: Install from package manager
Run the following commands
```bash
adb shell pm install-existing --user 0 com.mediatek.wwtv.tvcenter
adb shell pm enable --user 0 com.mediatek.wwtv.tvcenter
```
If the commands fail stating that the apk is not found try option one if you
havent done it. If the commands fail stating that an app is already installed
try checking the tv if the input switcher works or the "Livetv" app is installed.
If not then your SOL (from what I know).
#### 2. Removing preloaded applications
Now that we have a working custom launcher we need to remove the preloaded
applications on the tv. On my tv the following applications were preloaded and
can be removed with:
```bash
# Netflix
$ adb shell pm uninstall --user 0 com.netflix.ninja
# Prime Video (Amazon)
$ adb shell pm uninstall --user 0 com.amazon.amazonvideo.livingroom
# Tubitv
$ adb shell pm uninstall --user 0 com.tubitv
# VIX (Univision)
$ adb shell pm uninstall --user 0 com.univision.prendetv
# Youtube
$ adb shell pm uninstall --user 0 com.google.android.youtube.tv
```
If you have other apps you can just replace the command above with the package
name of the app you want to remove. If using flauncher you can view the package
name by long pressing over the app icon.
If you still want youtube I recommend [SmartTube](https://github.com/yuliskov/SmartTube)
as an alternative.
#### 3. Removing everything google
The main google apps on my tv that I dont want are the google play store, google
play services, gboard (google keyboard), and the google app.
If you are to disable gboard (google keyboard) you MUST install a different
keyboard first and enable it. I recomment [LeanKeyboard](https://github.com/yuliskov/LeanKeyboard).
You can disable these applications with the following
```bash
# Google Play Store
adb shell pm disable --user 0 com.google.android.play
# Google Play Services
adb shell pm disable --user 0 com.google.android.gms
# Google App
adb shell pm disable --user 0 com.google.android.katniss
# Gboard
adb shell pm disable --user 0 com.google.android.inputmethod.latin
```
Horray! You may now notice that you can no longer install applications from
your google tv. The solution is installing an f-droid client and alternative
play store client. I recommend [Droid-ify](https://github.com/Droid-ify/client)
and [Auora Store](https://auroraoss.com/) respectively. Droid-ify will allow
you to install apps from F-droid which is a free and open souce (FOSS) repository
of android apps. Auora Store will allow you to install applications from the
google play store without having to log in.
#### 4. Fixing issues on reboot
Finally you may notice that your google may reset some changes every time
your tv reboots. On my tv google will re-enable google play services (GMS) and
the google app. My tv will also disable the "Livetv" app that allows me to switch
inputs. Below is the script I use everytime I fully restart my tv. You dont
have to run this if the tv goes to sleep, and you should modify this script
to reflect your situation.
```bash
#!/bin/sh
# script to run everytime tv is restarted
# unfucks the tv and does good things
# > connect to tv
# if you are using debugging over a usb cable this is not needed. I connect adb
# over tcp so I need to specify where adb needs to connect. If you are also
# using tcp make sure to change the ip to the ip of your tv.
adb connect 10.254.0.182
# > fuck google (tv enables them on boot)
adb shell pm disable --user 0 com.google.android.gms
adb shell pm disable --user 0 com.google.android.katniss
adb shell am force-stop com.google.android.gms
adb shell am force-stop com.google.android.katniss
# > fix livetv (gets borked on boot, allows changing of inputs)
# this app gets into a weird state on reboot so it needs to be uninstalled
# so that it can be reinstalled/enabled. Make sure to add -k to keep user
# settings and data when uninstalling.
adb shell pm uninstall -k --user 0 com.mediatek.wwtv.tvcenter
adb shell pm install-existing --user 0 com.mediatek.wwtv.tvcenter
```
### Were Done!
Unless I missed anything you should now have a fully debloated, more functional,
less ad ridden Google TV. Horray! If you ever run into any issues I always
recommend checking out the [XDA Fourms](https://xdaforums.com/) or searching your
problem in a search engine. I hope this worked out for you and you now have a
tv that is truly yours.
![Debloated Google TV playing PS3 game](public/blog/beatmania.jpg)
Now if you excuse me I am going to go play some beatmania on my debloated
Google TV. :)

Binary file not shown.

After

(image error) Size: 137 KiB

Binary file not shown.

After

(image error) Size: 227 KiB

Binary file not shown.

After

(image error) Size: 257 KiB

Binary file not shown.

Before

(image error) Size: 110 KiB

After

(image error) Size: 109 KiB

Binary file not shown.

Before

(image error) Size: 287 KiB

After

(image error) Size: 286 KiB

Binary file not shown.

Before

(image error) Size: 197 KiB

After

(image error) Size: 196 KiB

Binary file not shown.

Before

(image error) Size: 403 KiB

After

(image error) Size: 402 KiB

Binary file not shown.

Before

(image error) Size: 417 KiB

After

(image error) Size: 416 KiB

Binary file not shown.

Before

(image error) Size: 21 KiB

After

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 22 KiB

After

(image error) Size: 2.7 KiB

Binary file not shown.

Before

(image error) Size: 191 KiB

After

(image error) Size: 171 KiB

Binary file not shown.

Before

(image error) Size: 421 KiB

After

(image error) Size: 401 KiB

Binary file not shown.

Before

(image error) Size: 29 KiB

After

(image error) Size: 9.1 KiB

Binary file not shown.

Before

(image error) Size: 616 KiB

After

(image error) Size: 596 KiB

Binary file not shown.

Before

(image error) Size: 4.1 KiB

After

(image error) Size: 3.4 KiB

Binary file not shown.

Before

(image error) Size: 12 KiB

After

(image error) Size: 11 KiB

Binary file not shown.

Before

(image error) Size: 63 KiB

After

(image error) Size: 62 KiB

Binary file not shown.

Before

(image error) Size: 14 KiB

After

(image error) Size: 14 KiB

Binary file not shown.

Before

(image error) Size: 680 KiB

After

(image error) Size: 656 KiB

Binary file not shown.

Before

(image error) Size: 81 KiB

After

(image error) Size: 60 KiB