個人 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.