Repository navigation
Plex client test build 9.5.51 — lockup fix attempt + black-box logging
Pre-release🎬 Your movie library. Your private cinema. Your goggles.
This build turns HDZero goggles into a personal movie theater — and now backs up your flight recordings too. Lie back anywhere and watch your own movie collection on dual 1080p micro-OLED displays. Movies stream from your own media server over WiFi, decoded by the goggle's video hardware — the same silicon that handles 90 fps race footage barely breaks a sweat on a film.
✨ What it supports
- 🎞️ Plex AND Jellyfin — both media servers, behind the same poster-wall interface
- 📺 Movies AND TV shows — series open into an episode browser; everything streams the same way
- 📸 NEW: Immich DVR backup — upload your flight recordings straight from the goggle to your self-hosted Immich photo server. Pick exactly which files, see which are already backed up, watch per-file progress.
- 📼 Every video format your server can play — H.264, HEVC/H.265, MKV, AVI, 4K sources — the server converts anything automatically
- 🔊 Any audio track — DTS, AC-3, TrueHD downmixed to clean stereo
- 📶 Fully local — your movies and recordings never leave your home network
- 🔑 Smart-TV-style sign-in — Plex: plex.tv/link code. Jellyfin: Quick Connect code. Immich: API key (SD-card file or typed once). No painful typing.
- 🖼️ Instant browsing — poster artwork cached on the SD card
- 🛩️ FPV untouched — everything racers use is exactly where it was
Requires your own Plex (plex.tv), Jellyfin (jellyfin.org), and/or Immich (immich.app) server on the same network — all free. Community test build (design docs).
🆕 What's new in 9.5.51
- 🔊 Jellyfin streams pinned to a stereo, ≤30 fps, high@4.0 H.264 profile — matching exactly what the (working) Plex path produces. Surround-sound sources were previously converted to 5.1 audio the goggle has never been tested with; that's the top suspect for the lockup at playback start.
- 🩵 Lockup black box — the goggle now writes fsync'd breadcrumbs to
hwlog.txton the SD card at every stage of playback start. If it still locks up: power off, pull the SD card, and sendhwlog.txt— the lastplex:/mplayer:line names the exact stage that froze. - WiFi power-save fix (9.5.48), auto quality fallback, TV shows, quality picker, poster prefetch — all included.
📖 User guide
Install
Copy the file for your goggle to the root of the SD card, then Menu → Version → Update Goggle:
After updating, the Firmware page should show version 9.5.51 — if it doesn't, the goggle is still on an older build. Every test build from now on gets its own number.
HDZERO_GOGGLE2-77-184-9.5.51.bin— Goggle 2HDZERO_GOGGLE-77-206-9.5.51.bin— original Goggle (G1)- (
HDZERO_BOXPROhere is a plain 9.5.45 build without these features.)
Movies (Plex / Jellyfin)
- Menu → WiFi → Client mode → join your home network (one-time).
- Menu → Plex — the goggle lists every Plex and Jellyfin server it finds, labeled
[Plex]/[Jellyfin]. Click yours. (Manual entry:ip:8096= Jellyfin,ip= Plex.) - Sign in once: Plex shows a code for plex.tv/link; Jellyfin shows a Quick Connect code you approve in any signed-in Jellyfin app (enable Quick Connect once in its dashboard). SD-card token files (
plextoken.txt/jellyfintoken.txt) and on-screen entry also work. - Browse & play: scroll the poster wall, click for details, click again to play. During playback: click = pause, scroll = seek, long-press = back. Needs 2+ GB free on the SD card (the stream buffers there and is deleted after).
DVR backup (Immich)
- Menu → Immich (WiFi + SD card required).
- First time: create
immich.txton the SD card — line 1 your API key (Immich → Account Settings → API Keys), line 2server-ip:2283— it's picked up automatically. Or type both with the dial. - Your recordings appear as a list; files already backed up are marked uploaded in green.
- Click to tick files, Func-click to upload the selection (or just the highlighted file). Progress shows per-file MB; click cancels after the current file.
- Already-on-server files are detected by Immich itself and marked — you can't double-upload.
Known limitations (test build)
- Stuck on “Buffering…” with Jellyfin? The server sends video only as fast as it converts it. 4K/HEVC/HDR movies need a fast server or hardware transcoding (Jellyfin Dashboard → Playback → Transcoding → select your GPU). Quick check: play a normal 1080p movie — if that works, the goggle is fine and the server just can’t convert the 4K title in real time. The Dashboard home page shows the conversion speed while a stream runs; below ∼1.0x means it can’t keep up.
- Seek works within the downloaded portion of the stream.
- The media server does the remux/transcode — any PC/NAS-class server is fine.
- Please report issues (grab
hwlog.txtfrom the SD card if something misbehaves).
Source: plex-client branch @ d28a231