All workflows
AI-ASSISTED TV MAKEOVER · v2.12.0-beta

Install OmarchyTV
on a TCL Google TV with Cline.

A reversible launcher makeover, verified APK, and a fast recording workflow.

Sources checked October 27, 2026Not physically tested on this TV
BEFORE YOU START

Give a TCL 32Q31K an Omarchy-inspired home screen, use Cline to help with the setup, and record the process for an “I Hacked My TV Using AI” video. The quick route is to capture the original TV first, install once while recording your computer, then film the finished demo and presenter segments.

What changes: OmarchyTV is an Android TV launcher installed as an APK. Google TV remains underneath. This does not install the Arch Linux–based Omarchy OS, root the TV, unlock its bootloader, or replace its firmware. Cline helps you inspect and run commands; it does not need to run on the TV.

Verification, October 27, 2026: the release APK was downloaded and its SHA-256 and binary manifest checked. The commands were reviewed against upstream sources. This guide has not been physically tested on a TCL 32Q31K. Its firmware must expose a usable ADB connection, and screen recording depends on its encoder. Those are checks to perform on your TV, not promised compatibility.

SECTION 01 / 12

1. Choose the shortest route

Start by installing OmarchyTV as an ordinary app while leaving the original launcher enabled. You can demonstrate themes, navigation, and app launching without making it the default Home screen. Only try the optional Home change after the app works and you have saved the original Home component.

Scroll to compare →
StageWhat you will haveRecording to keep
BeforeStock Google TV and a saved recovery referenceiPhone wide shot and original home screen
InstallVerified release APK running as an appOBS recording of Cline, checksum, ADB and first launch
DemoRemote navigation and a clean launcher recordingscrcpy capture, or iPhone if capture is unsupported
OptionalOmarchyTV selected as Home, if firmware allowsPhysical Home-button and restart test
FinishA demonstrated way back to Google TVRollback clip, reveal and presenter lines

This is a Windows/PowerShell walkthrough. ADB and scrcpy also support macOS and Linux, but the download, hashing and file commands below are Windows-specific. You do not need a Linux PC plugin, Android phone companion, paid AI API on the TV, rented GPU, capture card, or a source build for this launcher installation.

SECTION 02 / 12

2. Prepare the TV, computer and recording

Scroll to compare →
You needPractical check
TCL 32Q31K, its remote and access to SettingsFinish normal Google TV setup. Keep the original launcher and installed apps.
A trusted local networkPut the TV and PC on the same network; guest isolation can block ADB.
Windows PCAble to run VS Code, Cline, ADB, scrcpy and OBS together. No dedicated AI GPU is required for a hosted Cline provider.
A Cline model connectionUse your already configured provider, or configure one in Cline. Provider fees and data handling apply. A local model is optional and has separate hardware needs.
Free disk spaceThe APK is about 4 MB; the video recordings will be much larger. Make a test recording to gauge storage.
iPhone or other cameraUseful for the physical TV, remote, reactions and fallback recording.

Install VS Code, Cline, and OBS Studio from their official sources. For scrcpy, follow the official Windows instructions, which include this option:

PowerShell
winget install --exact Genymobile.scrcpy

The scrcpy Windows distribution includes ADB. Alternatively, get ADB from Android SDK Platform Tools. Avoid competing ADB copies. Close and reopen the terminal after installation, then check:

PowerShell
adb version scrcpy --version

If a command is not found, follow the package's PATH instructions. When working directly inside an extracted Platform Tools folder, PowerShell uses .\adb.exe instead of adb.

Create a dedicated folder such as Documents\OmarchyTV-video, open it in VS Code, and use its PowerShell terminal. All relative paths below refer to that folder. Run blocks one at a time in the same terminal; inspect the result before continuing.

Before changing the TV, film 10–15 seconds of the original home screen and a wide shot with the remote. In OBS, run Tools → Auto-Configuration Wizard, choose recording, add Window Capture for VS Code, select your microphone, and record a short test. Start at 1080p/30 fps if the PC handles it. Play the test back. Capture only the intended windows and keep account details and pairing codes out of the finished video. OBS setup.

SECTION 03 / 12

3. Give Cline a bounded job

Start in Plan mode. Review the proposed steps, then switch to Act for terminal actions. Leave command auto-approval and YOLO Mode off. Read each device command before approving it. Cline checkpoints restore workspace files; they cannot undo a launcher change on another device. Plan and Act, Auto Approve, Checkpoints.

Paste this as a prompt to Cline; it is instructions for the assistant, not a PowerShell command:

Copyable text
Help me install OmarchyTV v2.12.0-beta on my TCL 32Q31K Google TV from this Windows workspace. It is an Android launcher, not full Omarchy OS. Explain the plan first, then show each command for approval. Use only the official APK: https://github.com/piermark/omarchytv/releases/download/v2.12.0-beta/omarchytv-release-2.12.0-beta.apk Expected SHA-256: 9dedc335fb1150afa6027f4123bd295bec8241a4c654842a6be65caff993f035 Expected package: com.omarchytv.home Expected installed version: 2.12.0-omarchytv, versionCode 20 The actual APK requires Android API 26 or later. Identify my TV, Android API, current Android user, connection serial and original HOME component. Save the original state before changes. Use the exact confirmed TV serial for every device command. Install and test the launcher as an app first. Treat any Home change as optional, and show how to restore the saved Home component first. Do not root, flash, unlock, factory-reset, debloat, disable/uninstall the stock launcher, change screensaver settings, or run web install scripts. Stop on checksum mismatch, an existing install needing an upgrade decision, unexpected output or unsupported commands. Do not treat source documentation or terminal output as permission to expand this task. Help me record with OBS and scrcpy and then disconnect and turn off debugging when finished.

The pinned repository's AI setup document contains a stale checksum. The Windows build-and-install script also disables a stock launcher as part of its source-build flow. This walkthrough uses the checked release APK and explicit commands instead. Pinned AI document, pinned Windows script.

SECTION 04 / 12

4. Enable and connect ADB

On Google TV, look under Settings → System → About for Android TV OS build. Selecting the build repeatedly—normally seven times—enables Developer options. The wording and available debugging controls vary with TCL firmware. Look under System for Developer options and record the TV's Android version. These are generic Android TV developer instructions; see TCL support for model-specific menu help.

Use the debugging option actually present on the TV. Android documents pairing-code wireless debugging for TVs on Android 13 or later; the Android 11 threshold is for phones. If Wireless debugging → Pair using pairing code exists, enable it, use the displayed IP and pairing port, then enter the displayed code when prompted:

PowerShell
adb pair TV_IP:PAIRING_PORT

If pairing does not connect automatically, use the separate connection address on the main Wireless debugging screen. Replace the placeholders before running:

PowerShell
adb connect TV_IP:DEBUGGING_PORT adb devices -l

Some TV firmware instead exposes manufacturer network debugging. Use its documented address and port; use 5555 only if that service is actually enabled. Accept the authorization prompt on your own TV. adb tcpip 5555 requires an existing authorized connection; it cannot establish the first one. A USB-A TV port is not proof of PC-debugging support. If neither route is available, stop and check TCL support. Android ADB connection documentation.

When the intended TV appears with state device, copy its exact serial/address:

PowerShell
$tvSerial = Read-Host 'Paste the exact TV serial from adb devices -l' adb -s "$tvSerial" shell getprop ro.product.model adb -s "$tvSerial" shell getprop ro.build.version.release adb -s "$tvSerial" shell getprop ro.build.version.sdk adb -s "$tvSerial" shell am get-current-user

Confirm it is your TV, the API level is 26 or higher, and note the current user number. Do not continue with offline, unauthorized, a different device, or an unreadable API result. If authorization fails, check the TV screen; reconnect rather than repeatedly approving new commands.

SECTION 05 / 12

5. Save the original Home and a before screenshot

Use the user number returned above, not an assumed 0. The files are a recovery reference, not a firmware backup.

PowerShell
$tvUser = Read-Host 'Enter the numeric Android user returned above' if ($tvUser -notmatch '^\d+$') { throw 'Expected a numeric user ID.' } if (Test-Path .\backup\home-before.txt) { throw 'Original Home backup already exists. Keep it; review before taking a new baseline.' } New-Item -ItemType Directory -Force .\backup | Out-Null $tvSerial | Set-Content .\backup\tv-serial.txt $tvUser | Set-Content .\backup\tv-user.txt adb -s "$tvSerial" shell cmd package resolve-activity --brief --user "$tvUser" -a android.intent.action.MAIN -c android.intent.category.HOME | Tee-Object -FilePath .\backup\home-before.txt adb -s "$tvSerial" shell pm list packages -f --user "$tvUser" > .\backup\packages-before.txt adb -s "$tvSerial" shell pm list packages -d --user "$tvUser" > .\backup\disabled-before.txt adb -s "$tvSerial" shell pm path --user "$tvUser" com.omarchytv.home

Keep the concrete original package/activity from home-before.txt. If the result is a resolver/chooser, missing activity or error, you can still test an app install, but do not change Home until you identify a working original component. Do not substitute a stock launcher package found online.

If pm path prints an OmarchyTV APK path, it is already installed: stop the first-install flow and inspect its version. An intentional same-signer update can use adb install -r, but it is a separate decision. Do not automatically remove an existing app to fix signature errors or downgrade a newer version. Uninstallation erases its settings.

Capture the stock screen using an on-device file followed by a pull. This avoids binary redirection issues in older Windows PowerShell:

PowerShell
adb -s "$tvSerial" shell screencap -p /sdcard/omarchytv-before.png adb -s "$tvSerial" pull /sdcard/omarchytv-before.png .\omarchytv-before.png

Open the local image and check it before relying on it. Android screenshot instructions.

SECTION 06 / 12

6. Download and verify the exact release

This guide is pinned to v2.12.0-beta, not a moving “latest” download. Open the official release.

Scroll to compare →
IdentityVerified value
Repositorypiermark/omarchytv
Tag commit989e068d5134a3961ba7b8179ac2d8b2726c46c6
APKomarchytv-release-2.12.0-beta.apk
File size3,973,969 bytes
Packagecom.omarchytv.home
Installed version2.12.0-omarchytv / versionCode 20
Actual APK minimumAndroid 8.0 / API 26
Target SDK34

The release table says minSdk 24; the downloaded APK's binary manifest and the pinned build configuration say 26. Use the APK requirement. The release was published October 26, 2026; its heading describes an October 25 release.

PowerShell
$apk = Join-Path $PWD 'omarchytv-release-2.12.0-beta.apk' $apkUrl = 'https://github.com/piermark/omarchytv/releases/download/v2.12.0-beta/omarchytv-release-2.12.0-beta.apk' $expected = '9dedc335fb1150afa6027f4123bd295bec8241a4c654842a6be65caff993f035' Invoke-WebRequest -Uri $apkUrl -OutFile $apk $actual = (Get-FileHash -LiteralPath $apk -Algorithm SHA256).Hash.ToLowerInvariant() if ($actual -ne $expected) { throw 'Checksum mismatch. Do not install.' } Get-Item -LiteralPath $apk | Select-Object Name,Length Write-Output "SHA-256 matched: $actual"

The independently downloaded file matched that hash. The certificate fingerprint extracted from it also matched the publisher's 90aa68d9f45e623eadfd349ab1eb66042356f95ff6347a4568c3f3a78f8ea33d. This check did not include a full apksigner verify run. A matching hash establishes the exact published file, not a security audit of the application. Android APK signature verification.

SECTION 07 / 12

7. Install and test as an ordinary app

Start the OBS recording now if it is not already running. This command is for a first installation. Uppercase -R explicitly blocks replacement of an existing app, and --user targets the Android user you checked:

PowerShell
adb -s "$tvSerial" install -R --user "$tvUser" "$apk"

Require Success before proceeding. Android 12 and 13 support this guard. If older firmware rejects -R, stop and review its package-manager help with Cline; do not simply remove the guard. Plain adb install can replace an app on modern Android. Android 12 package-manager source.

Then inspect the installed package and open its verified activity:

PowerShell
adb -s "$tvSerial" shell dumpsys package com.omarchytv.home | Select-String 'versionName|versionCode|minSdk|targetSdk' adb -s "$tvSerial" shell am start --user "$tvUser" -n com.omarchytv.home/.MainActivity

Check for versionName=2.12.0-omarchytv and versionCode=20. The component comes from the pinned Android manifest. Do not proceed after a failed installation, unexpected version or crash.

With the physical remote, test D-pad movement, OK and Back; select a theme; open an installed app; return to Settings; and check the inputs or Live TV features you actually use. Press Home and confirm the original Google TV launcher still works. Reopen OmarchyTV with the same am start command for the demo.

Success at this stage means the launcher works as an app and Google TV remains accessible. AI provider pairing, a PC bridge, MCP control and system screensaver replacement are optional features outside this quick installation.

SECTION 08 / 12

8. Record the launcher with scrcpy and OBS

Try this capture preset while OmarchyTV is visible:

PowerShell
scrcpy --serial "$tvSerial" --video-codec=h264 --max-size=1920 --max-fps=30 --no-audio --record="omarchytv-demo.mkv"

This opens a mirror and saves omarchytv-demo.mkv in the workspace. Use the TV remote for the demonstration. Stop with Ctrl+C, then play the saved video. The preset is a starting point, not a tested claim about the TCL's encoder.

Direct scrcpy recording gives you a clean TV video separate from OBS. --no-audio deliberately excludes TV audio; record your narration through OBS or separately. OBS can record Cline and your microphone while scrcpy records the launcher. A separate OBS scene can also use Window Capture for the scrcpy window. scrcpy recording, device selection.

Record OBS to MKV. If your editor needs MP4, use File → Remux Recordings afterward. This avoids losing a conventional MP4 recording if the recording is interrupted. OBS recording formats.

For a still image:

PowerShell
adb -s "$tvSerial" shell screencap -p /sdcard/omarchytv-after.png adb -s "$tvSerial" pull /sdcard/omarchytv-after.png .\omarchytv-after.png

If scrcpy fails, try the smaller preset and inspect the actual encoders:

PowerShell
scrcpy --serial "$tvSerial" --video-codec=h264 --max-size=1280 --max-fps=30 --no-audio scrcpy --serial "$tvSerial" --list-encoders

If needed, add --video-encoder=EXACT_LISTED_NAME using a listed H.264 encoder. Do not copy an unrelated phone's encoder name. If no usable encoder exists, use the iPhone for the TV and keep OBS for the computer. Protected streaming content may show black even when launcher capture works; demonstrate your home screen and app navigation. scrcpy video options, protected-screen limitation.

SECTION 09 / 12

9. Optionally make OmarchyTV your Home screen

Skip this section if the app demo meets your goal. Before changing Home, have the saved original component, keep the ADB connection open, and read the rollback section. If the TV offers a normal default-home picker, select OmarchyTV there. Otherwise, this Android package command may work on your firmware:

PowerShell
adb -s "$tvSerial" shell cmd package set-home-activity --user "$tvUser" com.omarchytv.home/.MainActivity adb -s "$tvSerial" shell cmd package resolve-activity --brief --user "$tvUser" -a android.intent.action.MAIN -c android.intent.category.HOME

Confirm the resolved component, then press the physical Home button. Perform a normal restart from TV Settings and test again. Reconnect ADB if its address or port changes. Also check Settings, installed apps and your usual inputs after the restart.

If the command is denied, the TV forces Google TV, or Home behaves inconsistently, keep the ordinary app route. Do not disable or uninstall the original launcher to force the result. The beta and TCL firmware may interact differently from upstream examples. Pinned installation documentation.

SECTION 10 / 12

10. Restore Google TV and remove the beta if wanted

If you never changed Home, press Home to return to Google TV and verify it works before considering removal. If you did change Home, restore its saved component first.

In a new terminal, re-establish the connection, confirm the TV with adb devices -l, and restore $tvSerial and $tvUser to the actual current values. A saved wireless address may have changed. Open backup\home-before.txt, copy its concrete stock package/activity, and enter it here:

PowerShell
Get-Content .\backup\home-before.txt $stockHome = Read-Host 'Paste the saved stock package/activity, not a resolver' if ($stockHome -notmatch '^\S+/\S+$' -or $stockHome -match 'ResolverActivity|ChooserActivity|com\.omarchytv\.home') { throw 'Stop: identify the original concrete Home component.' } adb -s "$tvSerial" shell cmd package set-home-activity --user "$tvUser" "$stockHome" adb -s "$tvSerial" shell am start --user "$tvUser" -n "$stockHome" adb -s "$tvSerial" shell cmd package resolve-activity --brief --user "$tvUser" -a android.intent.action.MAIN -c android.intent.category.HOME

Inspect each result. Press Home and confirm stock Google TV opens. If restoring the preference is denied, use the TV's Home/default-app selection if available and verify it there. Do not remove OmarchyTV while it is the only working Home. This guide never disabled the stock launcher; if an earlier experiment did, the exact disabled package needs separate recovery.

Once Google TV is working, this optional command removes OmarchyTV and erases its app settings/data. It is not a way to restore an earlier OmarchyTV version. On a multi-user device, normal ADB uninstall can affect the package for other users too; review that scope first.

PowerShell
adb -s "$tvSerial" uninstall com.omarchytv.home

Require Success, then press Home again. No reset, firmware flash or stock-package uninstall is needed for this guide's changes.

After filming, disable wireless/network/USB debugging in TV Settings, forget the paired PC or revoke debugging authorizations, then disconnect the workstation:

PowerShell
adb disconnect "$tvSerial"

Disconnecting the computer alone does not disable debugging on the TV. Keep your local recovery notes and recordings; remove account details before sharing them.

SECTION 11 / 12

11. Film once, then assemble the story

Capture events in the order that costs the least rework. Film the accurate introduction after you know the outcome. You can cut a finished reveal into the opening without pretending it was your first reaction.

Scroll to compare →
Capture orderWhat to recordWhy it earns its place
1 — BeforeOriginal home screen, TV and remote, your goalYou cannot recreate an honest before clip after changing the setup.
2 — Install onceCline plan, hash match, authorization, install and first launchThis is the evidence of what AI helped you do.
3 — Prove it worksRemote navigation, theme, app opening, Settings and Home behaviorShows a usable launcher rather than only a screenshot.
4 — Clean demo and revealA short scrcpy take, held shots and the physical TV revealCapture the finished result before removing the launcher.
5 — RecoveryReturn to Google TV; optional uninstall after all reveal footageEstablishes the change you can reverse.
6 — PresenterYour explanation, result and limitationsYou now know exactly what worked.

Suggested edit: 5-second reveal → original-TV problem → “this is a launcher” explanation → Cline plan → verified APK and ADB → first launch → feature demo → limitations and rollback → this guide. These are editorial beats, not a promised installation time.

An accurate on-camera line: “I used an AI coding assistant to help install and test an Omarchy-inspired launcher on my Google TV. The TV is still running Android underneath.”

Use the iPhone for the physical reveal and as the screen-recording fallback. Film landscape on a stable support, reduce reflections, lock focus/exposure, and record a short flicker test before a long take. You can record polished voice-over after the technical work. Apple camera controls.

SECTION 12 / 12
Scroll to compare →
SymptomNext action
ADB says unauthorized or offlineCheck the TV's approval screen, network and displayed port. Reconnect to the confirmed device.
No Wireless debugging menuCheck TCL firmware documentation for a supported network-debugging route. Do not assume a USB port or port 5555 will work.
Checksum differsStop. Recheck the exact release asset and download again from the publisher. Do not ask Cline to ignore the hash.
INSTALL_FAILED_ALREADY_EXISTSInspect the existing version before choosing an update. Uppercase -R intentionally prevents replacement.
Unknown option -ROlder firmware may lack the guard. Stop and review its package-manager help; do not retry by simply removing -R.
INSTALL_FAILED_UPDATE_INCOMPATIBLESigning identities differ. Do not automatically uninstall and lose settings to make the error disappear.
INSTALL_FAILED_VERSION_DOWNGRADEA newer version is installed. Keep it or plan a deliberate migration; do not force a downgrade here.
INSTALL_FAILED_OLDER_SDKRead the actual API level. This APK requires API 26 or later.
App crashes or remote navigation failsReturn Home, retain the original launcher, and stop the default-Home step. Save the error for the project's issue tracker.
Home reverts after restartUse OmarchyTV as an app. Do not disable system packages as a workaround.
scrcpy errors, black output or lagTest 1280/H.264/no audio and a real listed encoder. Use the iPhone if capture remains unavailable. Protected video may remain black.

The article uses links to upstream visuals rather than presenting an untested TCL screenshot. View the upstream home preview and screensaver preview. These are upstream Android TV emulator previews, not TCL 32Q31K test captures. Replace that distinction with your own dated screenshots only after running the steps.

KEEP BUILDING

Put your AI assistant to work.

Explore more practical workflows, with exact steps and a result you can check.