Firmware Hero
0

TV Unlock

A practical toolkit for cleaning up LG webOS TVs and installing a simpler home screen.

  • Sideload / dev mode
  • Stable
  • Medium brick risk

Source code

This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it

Before you start

How hard is it?
HardUses the command line or developer tools.
What you need
  • Comfort with the command line
  • A computer
Can it break my device?
Small chance of trouble, with a way to recover.
Can I undo it?
The project doesn't say. Assume you can't.
Get itOpens github.com

Did it work for you?

Did TV Unlock work on your LG OLED C3?

No reports yet.

One-tap reports from owners. Bricked reports are checked before they count.

Compatibility

Devices: LG OLED C3.

No compatibility information yet.

Getting started

From the project's README ("Quick start"):

  1. Establish your own connection

Read the agent guide first. Set TVHOST, TVUSER, and TVSSHKEY in your shell using your own values; .env.example documents the names. The tools do not load .env automatically or acquire root.

Verify the TV's SSH host fingerprint using your trusted pairing process and use the same private known-hosts file as the tools:

mkdir -p .private ssh -i "$TVSSHKEY" -o UserKnownHostsFile=.private/knownhosts "$TVUSER@$TVHOST" id

All local audits, plans, credentials, and backups belong in .private/, which is ignored. Never publish a real TV inventory or connection transcript.

  1. Audit and make a cleanup plan

python3 tools/tv.py audit python3 tools/tv.py plan --disable-lg-ads

Add --remove-app APPID for each app the owner selects. The audit supplies the IDs. Optional --delete-retail-demos includes only the audited .lge showroom videos, never Gallery images or arbitrary directories. It creates a deletion plan, not a backup. Decide whether to back those files up privately before applying it.

Review .private/plan.json with the owner. Apply only that authorized plan:

python3 tools/tv.py apply --confirm

The tool rechecks the model/firmware, app removability, settings, and demo files before writing. Before/after audits and the result stay in .private/. If a step fails, stop and audit again; don't blindly retry a stale plan. Read the cleanup guide.

  1. Optional custom home screen

python3 tools/build.py …

Read the full instructions

Risk and recovery

Brick risk
Medium
Requires opening the device
No

From the project's README ("3. Optional custom home screen"):

python3 tools/build.py

For Developer Mode, install only the launcher with LG's CLI or webOS Dev Manager; use LG's documented pairing flow. The LG Home tile falls back to the system screen when the root-only helper is absent.

For compatible rooted TVs with Homebrew Channel and LG Input Hook already installed and verified:

python3 tools/home.py install
--launcher-ipk launcher/build/works.partridge.webos-launcher1.0.2all.ipk
--shortcut-ipk artifacts/local.tvrefresh.lghome1.0.1all.ipk
--confirm

This changes the Home key, hold-1, and startup behavior. It records the prior settings, preserves other key mappings, and doesn't create SSH keys or enable network services. See home setup and recovery before using it.

python3 tools/home.py restore --confirm

Restore disables the automatic router and restores the saved Home/hold-1 behavior. It leaves root and installed apps in place.

Read the full instructions

Credits, license and support

License
MIT