v0.1.0
v0.1.0 — the first native build
A native Plex client for LG webOS: the interface is drawn with OpenGL ES 2 and video is decoded by the television's own hardware, rather than everything running in a browser.
This version is superseded — install the latest release instead. It cannot start at all on webOS 5 or newer, and it reads your media through whichever FFmpeg your television happens to ship.
If you used v0.2.0 or earlier: rotate your Plex token
The app's diagnostic log recorded a URL containing your Plex access token in full, written whenever an audio track was switched. Anyone holding that token can reach your Plex account and your media as you. The log file was readable by any process on the television, so nothing had to be sent to anyone for this to matter.
Every release up to and including v0.2.0 is affected. v0.2.1 and later are not.
What to do: open https://app.plex.tv/desktop/#!/settings/devices, remove this device, and sign in again on the television. That invalidates the old token. It costs you one QR scan.
What is fixed, and what is not: from v0.2.1 the token is never written, and every line the app's own logger emits passes a scrub on the way out, so the same mistake cannot recur through a different call site. The log still records your server's name, its address and what you have been watching — that is what it is for — so it is still not a file to post publicly.
What's new
- It signs in on the television. An on-screen QR code, then pick a Plex Home profile, browse and play.
- Direct play wherever your television can decode the file. The server is asked to convert only when it genuinely cannot.
- The playback you would expect. Resume, seek and scrub, chapters, audio and subtitle track switching, and progress reported back to your server.
Compatibility
- Plays video, verified by watching it — 2019 LG sets. One television, which reports platform release 4.10 (LG markets this generation as webOS 4.5).
- Starts — webOS 4.4.2 up to but not including 5.0. That range is the whole of it: this release links directly against
libAcbAPIand against FFmpeg library names that exist only on webOS 4.x, and a linked library name is a hard requirement for one exact name. - Does not start — webOS 5.0 and newer. The dynamic loader kills the process before anything appears. Installing it there gets you a tile that does nothing.
This is why the package declares webosRelease: '>=4.0, <5.0'.
Known issues
- Nothing at all on webOS 5.0 and newer — the app does not start.
- Codec capability is asserted rather than probed. The app tells your server it can handle HEVC, 4K and 10-bit because the developer's television can. On a lower-end panel that is wrong, and so is the fallback.
- Playback behaviour depends on your firmware, because the app reads your media through the television's own FFmpeg, and which parts of it LG compiled in cannot be determined from outside.
Installing
Download com.beb.plxnative_0.1.0_arm.ipk and install it with the Homebrew Channel or dev-manager-desktop. You do not need a rooted TV.
Nothing in this distribution chain is signed, so this sha256 is what tells you the file you have is the file published here:
fc0a67de5ff6e209f1ca36add1b34cb689fa71d50a5e47dfac3631c788995105 com.beb.plxnative_0.1.0_arm.ipk
Compare it yourself — the ipk.sha256 asset on this release records a path rather than a bare filename, so sha256sum -c will not find your download. shasum -a 256 com.beb.plxnative_0.1.0_arm.ipk on macOS or Linux, certutil -hashfile com.beb.plxnative_0.1.0_arm.ipk SHA256 on Windows. If the Homebrew Channel installs this for you from its catalogue it verifies the download on the television itself and you have nothing to do.
This release bundles no FFmpeg and no other third-party library, so no LGPL redistribution obligation arises from the package. Installing and checking a download is the longer version, and exactly what was built and shipped is in the technical audit for v0.1.0.