Skip to content

What the dashboard changes on the TV

Nothing on the read-only root filesystem is written. Everything below other than the server's own files happens only when the owner switches it on, and the riskier controls ask for confirmation in the dashboard first.

Files and startup

Change Where Undone by
The server, its config and state /var/lib/tvweb Uninstalling
Boot hook that starts the server /var/lib/webosbrew/init.d/50-tvweb, a link into the app when installed from the Homebrew Channel Uninstalling
Boot log /var/lib/webosbrew/tvweb-boot.log, kept under 32 KB Uninstalling
Boot hook that holds switched-off services down /var/lib/webosbrew/init.d/20-tvweb-services, only once a service is switched off Switching the services back on, or uninstalling
Home-screen tile The Homebrew Channel app, or with deploy.sh a developer app Removing the app
Packages being installed /media/developer/temp/glasshouse-install, deleted when the install ends or at the next start Itself
Install job and services run as root install-job.json and elevated.json in /var/lib/tvweb Uninstalling

Installed from the Homebrew Channel, uninstalling the app stops the server starting at boot straight away, and within a few minutes the server removes the rest, including its Home Assistant entities. Installed with deploy.sh, see Uninstalling.

Features that change how the TV runs

These last until a reboot and are put back by the boot hook, so they end with the first reboot after uninstalling.

Feature What it does Undone by
Ad blocker Bind-mounts a replacement /etc/hosts Switching it off
Hidden home-screen tiles Bind-mounts edited appinfo.json files, then restarts the app manager so the home screen rereads them. Experimental: turned on under Server → Experimental features. Not offered when installed from the Homebrew Channel, since the restart happens during boot Switching tile hiding off
Switched-off background services Stops them and masks their systemd units under /run, then stops any found running again every five minutes Switching them back on
Replacement screen saver Bind-mounts over the built-in screen saver app. Experimental on webOS 10 and later, where the built-in one is a Flutter app: turned on under Server → Experimental features Choosing the stock screen saver

Changes that stay

These go through LG's own services and persist like any change made in the TV's menus. Uninstalling the dashboard leaves them as they are.

Change Note
Uninstalling an app Permanent; reinstall it from the LG Content Store
Installing an app Installed as a developer app; remove it from the Apps tab or the Homebrew Channel. Its services stay elevated to root if that was chosen
Picture mode, energy saving, sound output, Quick Start+, sleep timer Ordinary TV settings
Screen Shift, Logo Luminance Adjustment OLED panel settings in the TV's own menus
Global Stress Reduction and Temporal Peak Control OLED burn-in protections. Switching one off asks for confirmation, and neither is exposed to Home Assistant. Not switched back on by uninstalling
Service menu lock Unlocking asks for confirmation. Not locked again by uninstalling
Privacy consents, advertising ID reset, advertising cookies The same agreements as in the TV's settings

Network

The dashboard listens on port 8080, on the whole network unless it is limited to the TV itself in config.json or from Settings on the TV. Installed from the Homebrew Channel it starts limited to the TV, until the owner opens it during setup. While a phone is being used to enter Home Assistant details, port 8081 answers a one-time code for up to ten minutes. The server connects out only to the configured MQTT broker and, when update checks are switched on, to GitHub's releases API. Update checks are off by default.