Make your LG webOS TV feel at home on your Linux desktop.
Download · User guide · Contribute
Use your LG webOS TV as a Linux PC display with less reaching for the remote.
- Start and stop with your PC. Turn the TV on at boot and wake, and off at shutdown and before system sleep.
- Give the panel a break. Blank it when you step away, restore it when you return, and power off after five more minutes without activity.
- Keep playing. Supported gamepad activity keeps the panel awake on GNOME and compatible native Wayland sessions.
- Get comfortable. Adjust brightness and sound from your desktop.
Move a slider to apply its value, or click the sound icon to toggle mute. Adjust brightness and sound → Screenshots use sample TV data.
| What you can do | GNOME | Compatible native Wayland | Wayland with swayidle |
Other Linux sessions |
|---|---|---|---|---|
| Turn the TV on and off with your PC | ✅ | ✅ | ✅ | ✅ |
| Blank the panel while away and restore it on return | ✅ | ✅ | ✅ | ❌ |
| Keep the panel awake while using a gamepad | ✅ | ✅ | ❌ | ❌ |
| Adjust brightness and sound in the desktop app | ✅ | ✅ | ✅ | ✅ |
| Control the TV, change settings, and update from a terminal | ✅ | ✅ | ✅ | ✅ |
Most modern Linux desktop environments are supported. Automatic desktop detection is the default; most users can leave it selected. If the TV does not blank or restore as expected, follow the screen behavior and troubleshooting guide.
LG Buddy manages one TV. Connect it to the same network as your PC and enable TV On With Mobile / Wake-on-LAN. A static IP address and Always Ready are strongly recommended so the saved address stays valid and the TV remains ready to respond.
Official bundles contain prebuilt binaries. They require GTK 4.14,
libadwaita 1.5, and glibc 2.39 or newer—the Ubuntu 24.04 runtime baseline.
The release installer also needs Python 3 with venv/pip support and Zenity
for its compatibility tools. TV Sleep & Wake activation requires pkexec and
a desktop authorization agent. Install the prerequisites for your distribution:
Dependency commands for Debian/Ubuntu, Fedora, and Arch
sudo apt install python3-venv python3-pip zenity libgtk-4-1 libadwaita-1-0 pkexecsudo dnf install python3 python3-pip python3-virtualenv zenity gtk4 libadwaita polkitsudo pacman -S python python-pip python-virtualenv zenity gtk4 libadwaita polkitThe installer can also offer to install missing GTK/libadwaita packages on
these distributions, with your confirmation. Older desktops that need the
deprecated swayidle integration must install swayidle separately.
The shell installer supports conventional Linux installations with writable system locations. Official NixOS support is planned for 3.0.0; see issue #24.
-
Download and extract the release archive for your platform.
-
Run the installer as your regular user (no sudo):
chmod +x ./install.sh ./install.sh
The installer requests elevated access when needed.
-
The installed app opens to Pair a TV. Until a TV is saved, TVs is the only page and the other tabs are hidden. Enter the TV's IP address, MAC address, and HDMI input. Keep the TV on and approve its pairing request with the remote.
-
After pairing, LG Buddy attempts its default Idle Blanking and TV Sleep & Wake behaviors. There is no separate confirmation for each service; LG Buddy asks for desktop authorization only when a system operation needs it. The TV remains saved if authorization is declined or activation is unavailable, and the affected behavior stays off. Enable it later in Settings to retry.
After installation, use TVs to change the HDMI input and Settings to change blanking, sleep and wake, desktop integration, or update preferences. Installing with an existing TV configuration preserves its saved preferences.
For a headless setup, run ./configure.sh before ./install.sh; the user guide
keeps the command-line alternatives for scripts and machines without the GUI.
- Adjust brightness and sound without using the TV remote.
- Choose when the screen blanks and the TV sleeps to suit your desk routine.
- Pair a TV if the app has no saved connection, or change its HDMI input after moving your PC's cable.
- Use terminal commands for shortcuts, scripts, or a desktop without the GUI.
For installed GUI reconfiguration, use TVs and Settings. The headless
configure.sh path is for setup before installation; command-line alternatives
are listed in the user guide.
Read what changed in the release notes on GitHub.
To check manually, open Settings → Updates and choose Check for updates. The row disables and reads Checking… while it works, shows an up-to-date toast when no release qualifies, and changes to Install update… when one is available. The install dialog resolves the newest qualifying release for the saved channel, shows its version and channel, and displays indeterminate progress while it downloads, verifies, installs, and restarts. Your settings and TV pairing are preserved.
For preview releases, automatic check preferences, older installations, or a headless update path, see Update LG Buddy.
To build LG Buddy or work on a change, start with the development guide and contribution guidelines. The architecture overview explains how the pieces fit together; the release process covers publishing a version.
- chros73 for
bscpylgtv - JPersson77 for LGTV Companion, the original inspiration
- Faceless3882 for the original shell script implementation
