个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证LG webOS TV launcher: a fast, remote-first home screen with live video wallpapers, widgets, Jellyfin, Moonlight game streaming and Home Assistant. Native Rust + OpenGL ES.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A fast, remote-first launcher and home screen for LG webOS TVs, with an Apple TV feel.
Luma replaces the cluttered LG Home with one calm screen: your favorite apps, live video wallpapers, widgets, your Jellyfin library, your PC games over Moonlight and your Home Assistant devices. It's a native Rust app drawn with OpenGL ES, so it stays smooth on TV hardware.
Free and open source (MIT). Fork it, change it, ship it.
▶ Watch the full promo video (1 min)
Home
Widgets
Movies, series and music (Jellyfin, Plex)
com.denisefremov.luma.player) with audio and subtitle track selection, quality and seek previews. Playback progress syncs back to your server.Games (Moonlight)
Smart Home (Home Assistant)
Remote and pointer
Luma is built and maintained by one person in their free time. It's free and will stay free. Donations decide how much time goes into it: they keep updates coming, pay for test hardware and move the roadmap forward (Plex, more TV models, new widgets). If Luma makes your TV better, a coffee helps keep it alive.
Made by Denis Efremov, an interface designer with 16+ years of experience and the maker of Luma and Rift, two free open-source launchers. Read the design story in the Luma case study.
TKPVRy9oYjLsbQMtbDzvkXDu73mg7tLN5uLuma runs as a normal app without root. On a rooted TV (Homebrew Channel, elevated), Settings › System › Root features appears with extras:
| Feature | Without root | With root |
|---|---|---|
| Open Luma when the TV turns on | — | ✓ |
| Turn LG Home "Auto Launch" off from Luma | — | ✓ |
| Leave a Moonlight stream with Start + Select pressed twice | — | ✓ |
| Full app and HDMI input list, app icons | basic | ✓ more reliable |
| Detect whether an HDMI input has a signal | — | ✓ |
Without root the Root features section is hidden, and Luma never tries to change system files.
Add this repository in Homebrew Channel › Settings › Repositories:
https://github.com/funnymataleao/luma-webos-launcher/releases/latest/download/repo.json
Then install Luma and Luma Player from the list. The companion player is required for Jellyfin and Plex video playback.
Download com.denisefremov.luma_2.2.160_arm.ipk from Releases and install it with
webOS Dev Manager or ares-install.
To play Jellyfin and Plex videos, also install com.denisefremov.luma.player_0.0.11_all.ipk from the same release.
To use Moonlight, install Moonlight for webOS and pair it with your PC first, then open Luma.
Requirements: Rust 1.88+, Node 22+, pnpm 10, SDL2 (for the desktop preview).
pnpm install --frozen-lockfile
pnpm sdk # downloads the webOS NDK and runtime into .build/
export WEBOS_NDK="$PWD/.build/toolchain/arm-webos-linux-gnueabi_sdk-buildroot"
pnpm run package # → dist/*.ipk, sha256sums, repo.json
Desktop preview with sample data (no TV needed):
pnpm assets
pnpm dev
Tests: pnpm test. Lint and format: pnpm check, pnpm format. More in development.md.
| Part | Built with |
|---|---|
| Launcher | Rust 2024, SDL2, OpenGL ES 2 with custom GLSL shaders |
| Text and vector art | owned_ttf_parser, our own SVG → triangle compiler (lyon tessellation), signed-distance edges |
| Images | image (PNG, JPEG, WebP), decoded off the render thread |
| Networking | ureq + rustls, tungstenite WebSocket (Home Assistant), mdns-sd and UDP discovery |
| Moonlight pairing | rcgen, rsa, x509-parser, AES (GameStream / Sunshine protocol) |
| QR codes | qrcode |
| Video wallpapers | webOS hardware media pipeline (C helpers in native/), HEVC and H.264 |
| Player | Separate web app: HTML5 video, HLS, vanilla JS |
| TV integration | Luna service bus, Homebrew Channel elevated service |
| Build tooling | pnpm, Node, sharp, @webos-tools/cli, Nix flake, oxlint / oxfmt, Changesets |
| Data sources | Open-Meteo, Jellyfin, Plex, Home Assistant, Steam store artwork, public crypto exchange APIs |
All bundled fonts are under the SIL Open Font License; each font ships with its OFL.txt. See assets.md for wallpapers, icons and their licenses.
Brand logos belong to their owners. Luma is not affiliated with LG, Apple, Amazon, Valve, Jellyfin, Plex or Home Assistant.
Luma started as a fork of ecklf/lg-luma by ecklf and contributors. Thank you for the native renderer, the build pipeline and the original idea.
Also thanks to webOS Homebrew, Moonlight, Sunshine / Apollo, Jellyfin and Home Assistant.
Most of the code in this fork was written with AI coding assistants (Claude Code and OpenAI Codex), directed and tested on a real LG OLED C1 by the maintainer. Every change was checked on the TV before release.
MIT. Original copyright © 2026 Luma contributors.