# PlxNative: reconstructing a native webOS media-client interface

> An unofficial Plex client built after the author investigated LG webOS native media interfaces with Ghidra and coding agents. It draws its own Rust/OpenGL interface and uses the television’s decoder, with documented host, simulator and real-device test tiers.

- Type: Case study
- Targets: App
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-17
- Added to the catalog: 2026-10-17
- Original resource: <https://github.com/GLinnik21/plx-native>
- Primary source: <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/README.md>
- Catalog page: <https://awesomerea.org/resources/plx-native-case/>
- Record JSON: <https://awesomerea.org/resources/plx-native-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/plx-native-case/index.md)

## Requirements & limits

- **Prerequisites:** Requires a Plex account/server and a compatible LG TV. The baseline is webOS 4.0+, with explicitly documented 3.4.3/3.9.3 exceptions; the latter needs a newer source build than prebuilt v0.8.0.
- **Prerequisites:** Product builds need macOS (x86_64 or arm64) or arm64 Linux, the webOS NDK, the pinned Rust toolchain and CMake. The desktop simulator has a different host/setup path.
- **Limits:** Developer Mode normally needs no root but requires renewal. Some k5lp/k3lp devices cannot play under its sandbox, and k6hp crashes remain unresolved.
- **Scope:** The scope is movies and TV shows, excluding music, photos, live TV and DVR. Selected relay/encrypted-server paths lack end-to-end viewing tests; timing and playback results remain author/device-specific.
- **License:** GPL-3.0-or-later for project code, with separate brand and third-party terms including bundled FFmpeg.

## Primary sources

1. <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/README.md>
2. <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/docs/building.md>
3. <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/docs/install-and-verify.md>
4. <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/LICENSE>
5. <https://github.com/GLinnik21/plx-native/blob/0b0b22092b204432834c75f32148dbd16ec3493b/THIRD-PARTY-NOTICES.md>
6. <https://www.reddit.com/r/ClaudeCode/comments/1x043yp/i_used_claude_code_to_reverseengineer_an_lg_tv/>

## More in Apps

- [Windows Calculator: reconstructing percentage rules](https://awesomerea.org/resources/rea-calculator-percent-case/index.md) · Case study
- [Feishu: an author-reported isolated second app instance](https://awesomerea.org/resources/feishu-dual-instance-case/index.md) · Case study
- [PhotoCraft: editor workflow reconstruction and PSD round-trip boundaries](https://awesomerea.org/resources/photocraft-case/index.md) · Case study
- [WordCraft: document workflow reconstruction and bounded DOCX compatibility](https://awesomerea.org/resources/wordcraft-case/index.md) · Case study
- [GridCraft: spreadsheet workflow reconstruction and XLSX round-trip limits](https://awesomerea.org/resources/gridcraft-case/index.md) · Case study
- [DeckCraft: presentation workflow reconstruction and bounded PPTX interchange](https://awesomerea.org/resources/deckcraft-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
