examples: TCL Smart TV Pro G09 (G09_4K_GB, Google TV 12), UK firmware in Brazil

30 packages, tested with the launcher as Home and through a reboot. config.json holds the dock
(push it with tools/theme.sh), and the README has the install and undo steps for this set.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Mateus ZanesandClaude Opus 5.5 committed 2026-10-20 12:44:59 -03:00
1 parent 022c57da7c
commit 9045b0d63d
5 files changed
+135

No files matched your search

+1
View File
@@ -212,6 +212,7 @@ BYINTEK, JMGO, Portronics, Stellamore, Wanbo and XGIMI projectors
| TCL QM6K Pro, 2025 (G08, MediaTek tcl9618) | Google TV 14 |
| TCL Smart TV (G07, G07_4K_GB_NF, Realtek RTD2851A, 2 GB) | Google TV 11 |
| TCL Smart TV Pro (G05, G05_4K_US, MediaTek MT5889) | Google TV 11 |
| TCL Smart TV Pro (G09, G09_4K_GB, Amlogic T5M, 2 GB), UK firmware, Brazil | Google TV 12 |
| TCL UnionTV, Latin America (TCL-built like Thomson 32HE5800, Realtek RT2841) | Android TV 9 |
| Thomson 32HE5800 (TCL-built UnionTV, Realtek RT2841), Spain | Android TV 9 |
| Toshiba Fire TV (AFTHA004, hazel) | Fire OS 7 / Android 9 |
+1
View File
@@ -89,6 +89,7 @@ on that firmware, grouped and commented. These are starting points: comment out
| `tcl-qm6k-google-tv/` | TCL QM6K Pro, 2025 (G08, MediaTek tcl9618) | Google TV 14 | Samba TV ACR (ttvs), TCL TV+, TCL Live, store/hotel demo; setupwraith must go for a custom launcher (also AU14, #23) |
| `tcl-g07-google-tv/` | TCL Smart TV (G07, G07_4K_GB_NF, Realtek RTD2851A, 2 GB) | Google TV 11 | TCL BI analytics (ttvs, also the firmware updater), TGuard, waterfall, TCL Live, TCL Home dashboard, messages, hotel/demo, partner auto-installs; voice, Miracast, MagiConnect, T-Solo, firmware updates and unused preloads off by choice, Chromecast kept; launcherx, setupwraith and dreamx off (Wi-Fi belonged to android.uid.system), reboot-checked; Input key works without InputKeyService, gear is scancode 561 (`settings_key_scancodes`), Netflix and YouTube buttons need an accessibility helper |
| `tcl-g05-google-tv/` | TCL Smart TV Pro (G05, G05_4K_US, MediaTek MT5889) | Google TV 11 | TCL Channel, waterfall, ttvs BI, TGuard; Quick Panel off by choice; setupwraith returned after a reboot, launcher half unverified |
| `tcl-g09-google-tv/` | TCL Smart TV Pro (G09, G09_4K_GB, Amlogic T5M, 2 GB), UK firmware, Brazil | Google TV 12 | TCL BI analytics, log upload, TIAS, TGuard, waterfall, TCL Live FAST channels, home-screen pushes, messages, store demo, hotel mode, partner auto-installs; Chromecast and USB media player off by choice; firmware updates come through Play Services, so ttvs can go; launcherx, setupwraith and dreamx off, reboot-checked; Input key works without InputKeyService; config.json has the dock |
| `tcl-uniontv-latin-america/` | TCL UnionTV, Latin America (TCL-built like Thomson 32HE5800, Realtek RT2841) | Android TV 9 | TCL BI analytics, promo rows/partner customizer, app store, cleaner, user center; Ambient Mode, TTS, TalkBack and voice off; Chromecast and firmware updater kept; standby (STR) takes Ethernet down, no network wake |
| `thomson-32he5800/` | Thomson 32HE5800 (TCL-built UnionTV, Realtek RT2841), Spain | Android TV 9 | TCL BI analytics, TCL app store/user center, TV Guard cleaner, Google recommendation rows; 1.4 GB low-RAM; voice, USB media players off by choice |
| `toshiba-fire-tv-aftha004/` | Toshiba Fire TV (AFTHA004, hazel) | Fire OS 7 / Android 9 | Amazon ACR, metrics, shopping, tutorials, Miracast sink; streaming preloads off by choice; debloat only |
+64
View File
@@ -0,0 +1,64 @@
# TCL Smart TV Pro G09 (Google TV, Android 12)
UK firmware `G09_4K_GB` (STT2.230203.001 AS24, Amlogic T5M, 2 GB RAM), set up in Brazil. Both halves
work on this set: the debloat list and the Clean Your TV launcher as Home. Tested on 19 October 2026,
including a reboot.
| File | What it is |
|---|---|
| `debloat.txt` | The 30 packages that were disabled, grouped and commented |
| `config.json` | Dock order, hidden apps, Live TV app, columns; push it with `tools/theme.sh` |
All commands run from the repo root, with the TV's IP in `TV_HOST`. USB debugging must be on while you
run them (Settings → System → Developer options).
## Install, from scratch or again
The order matters: the setup wizard (setupwraith) is disabled while Google TV's home still owns Home,
then `build-and-install.sh` starts the new launcher and only then disables launcherx.
```bash
TV_HOST=<tv-ip> tools/disable.sh examples/tcl-g09-google-tv/debloat.txt
TV_HOST=<tv-ip> launcher/build-and-install.sh
TV_HOST=<tv-ip> tools/theme.sh examples/tcl-g09-google-tv
TV_HOST=<tv-ip> tools/venv/bin/python -I tools/tv.py 'settings put secure screensaver_components com.gathin.tvhome/.ClockDream'
```
The last line swaps the Ambient screensaver (`dreamx`, disabled by the list) for the launcher's Clock.
## Undo everything
```bash
TV_HOST=<tv-ip> tools/restore.sh examples/tcl-g09-google-tv/debloat.txt com.google.android.apps.tv.launcherx
TV_HOST=<tv-ip> tools/venv/bin/python -I tools/tv.py 'settings put secure screensaver_components com.google.android.apps.tv.dreamx/.service.Backdrop'
```
The launcher stays installed but is no longer Home. Never re-enable just
`com.google.android.tungsten.setupwraith` on its own while the new launcher is Home; `restore.sh` brings
Google TV's home back first.
## Re-enable one app
```bash
TV_HOST=<tv-ip> tools/venv/bin/python -I tools/tv.py 'pm enable com.tcl.ui_mediaCenter'
```
Comment its line out in `debloat.txt` so the next run leaves it alone. Without a computer: Settings →
Apps → See all apps → Show system apps → pick the app → Enable. The two off by choice are
`com.google.android.apps.mediashell` (Chromecast built-in) and `com.tcl.ui_mediaCenter` (USB media
player).
## Change the dock order
Edit `dock_apps` in `config.json`: package names, left to right; an app that isn't installed is skipped.
`tools/tv.py 'pm list packages -3'` lists the installed ones. Push it again with the `theme.sh` line
above, no rebuild needed. `com.tcl.tv` and `com.tcl.suspension` are in `hidden_apps` because the Inputs
pill already covers Live TV and the inputs. All keys: [`themes/README.md`](../../themes/README.md).
## Notes for this set
- The remote's Input button keeps working without Google TV's home: TCL draws that panel itself, so the
launcher's optional `INPUT_KEY_SERVICE` is not needed.
- Firmware updates come through Play Services and are untouched.
- Screenshots come out black while HDMI or Live TV is on screen; press Home first.
- Switch USB debugging off when you're done; the launcher keeps working without it.
+15
View File
@@ -0,0 +1,15 @@
{
"dock_apps": [
"com.google.android.youtube.tv",
"com.netflix.ninja",
"com.globo.globotv",
"com.amazon.amazonvideo.livingroom"
],
"hidden_apps": [
"com.tcl.tv",
"com.tcl.suspension"
],
"live_tv_package": "com.tcl.tv",
"columns": 4,
"rows_below_dock": 0
}
+54
View File
@@ -0,0 +1,54 @@
# TCL Smart TV Pro, UK firmware (device G09, product G09_4K_GB, Amlogic T5M), used in Brazil
# Android 12 (Google TV), firmware STT2.230203.001 AS24, 2 GB RAM
# Same firmware family as examples/tcl-g10-google-tv.
#
# Apply: TV_HOST=<tv ip> tools/disable.sh examples/tcl-g09-google-tv/debloat.txt
# Undo: TV_HOST=<tv ip> tools/restore.sh examples/tcl-g09-google-tv/debloat.txt com.google.android.apps.tv.launcherx
# Everything is DISABLED, not uninstalled. Comment out any line you want to keep.
#
# Stock launcher: com.google.android.apps.tv.launcherx. Live TV app: com.tcl.tv (also owns HDMI playback).
# Keep com.tcl.tvinput, com.tcl.suspension (Input/source menu), com.tcl.dashboard, com.tcl.autopair,
# com.tcl.systemserver (mic hotkeys), com.tcl.providers.config and com.tcl.initsetup (channel install).
# Firmware updates come through Play Services (gms SystemUpdatePanoActivity); there is no TCL OTA package.
# TCL telemetry and analytics
com.tcl.ttvs # TCL BI/awareness/identifier services
com.tcl.logkit # log capture and upload
com.tcl.interactive # TCL TIAS background service
com.google.android.feedback
# TCL content, ads and promos
com.tcl.channelplus # TCL Live FAST channels, also removes them from Live TV
com.tcl.waterfall.overseas # TCL content "waterfall" recommendations
com.tcl.tv.tclhome_passive # pushes TCL content to the home screen at boot
com.tcl.partnercustomizer # TCL tweaks to Google TV home rows
com.tcl.messagebox # TCL pushed messages and promos
android.autoinstalls.config.google.gtvpai # partner auto-installs
com.tcl.smartlink.core # bundles a silent app installer
# Background services
com.tcl.guard # TGuard: device-use tracking, memory cleaner
com.tcl.usercenter # TCL account sign-in
com.tcl.exhibit # store demo
com.tcl.esticker # store demo stickers
com.tcl.hotelmenu # hotel mode
com.google.android.tv.remote.service # Google TV phone-app remote
# Preloaded apps
com.tcl.ocean.instructions # e-manual
com.tcl.repairguide
com.tcl.gamebar # re-enable for the console game-mode overlay
com.tcl.UpdatePeripheral # re-enable to update a TCL soundbar
com.tcl.hearaid # hearing test / volume adaptation
com.google.android.marvin.talkback
com.google.android.play.games
com.google.android.videos # Google TV / Play Movies storefront
com.google.android.youtube.tvmusic
com.google.android.apps.tv.dreamx # ambient screensaver; use the launcher's Clock screensaver
# Off by choice
com.google.android.apps.mediashell # Chromecast built-in
com.tcl.ui_mediaCenter # USB media player
# Home screen (disabled by launcher/build-and-install.sh once the new launcher is Home)
com.google.android.tungsten.setupwraith # setup wizard, claims HOME after launcherx is disabled