TV Unlock
A practical toolkit for cleaning up LG webOS TVs and installing a simpler home screen.
- Sideload / dev mode
- Stable
- Medium brick risk
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.
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"):
- 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.
- 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.
- Optional custom home screen
python3 tools/build.py …
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
--confirmThis 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.
Credits, license and support
- License
- MIT