NuvioLinux 0.1.15-alpha
NuvioLinux — first hard-fork release
This is the first release of the NuvioLinux hard fork, diverged from
NuvioMedia/NuvioDesktop (feat/hwaccel-libmpv-linux). It focuses exclusively
on Linux development; macOS/Windows code paths are slated for removal.
What's in this release
Native Linux playback via MPV (libmpv)
Replaces the old embedded player with a C++/JNI bridge that embeds mpv through
its render API, drawing video directly into the Compose scene so all overlay UI
works on X11 and Wayland. The app runs under XWayland; the embedded player is
display-agnostic (offscreen EGL) and works on both backends.
- Dedicated offscreen EGL context + FBO +
glReadPixels, with a software-renderer fallback - Per-player render thread owns the GL context; all other mpv access is confined to the event thread (observe-driven caches + command queue)
- Fixes mpv 0.41 ABI mismatches (reply_userdata, shifted
MPV_FORMAT_*enum, event IDs) - Frame pump reuses a fixed pool of skia bitmaps instead of allocating per frame
Hardware acceleration
Zero-copy decode via VA-API (Mesa/AMD/Intel) and NVDEC (NVIDIA), chosen
automatically by the app's decoder setting, with a software fallback. Verified:
hwdec-current=vaapi, decoded surfaces land in VRAM.
HDR support
The embedded player loads your mpv.conf wholesale, so HDR/color configuration —
tone-mapping, target-peak, inverse-tone-mapping, profiles — applies as-is.
Configurable streaming cache
New Streaming Cache Size setting (64 MB–2 GB) plus a Cache to Disk
toggle under Playback settings, wired through the JNI into
demuxer-max-bytes/demuxer-max-back-bytes. Android reads the same setting;
the cache stays bounded by demuxer-max-bytes.
Discord Rich Presence
Show what you're watching or browsing on your Discord profile. Configurable under
Settings → Integrations → Discord Rich Presence, with reconnect handling so a
dead IPC socket (Discord restart / another client) self-heals automatically.
Arch Linux distribution
First-class Arch packaging: dist/arch/PKGBUILD builds a self-contained
nuvio-linux package (bundled JRE, no system Java required) with a launcher
(/usr/bin/nuvio-linux), a desktop entry, and nuvio:///stremio:// URI handlers.
git clone https://github.com/JJDizz1L/NuvioLinux.git
cd NuvioLinux/dist/arch
makepkg -siCommits since the fork point (upstream/Dev @ fe85aaa4)
2629b468feat(desktop): add Linux native mpv playback via JNI bridge153c6ddfchore(desktop): add debug logging for Linux native playback flowc6cd8375fix(desktop): set gpu-context=x11 instead of auto for wid embeddingbeacbe30feat(desktop): add Arch Linux PKGBUILD for local packaging9bc1e943fix(desktop): empty sha256sums for empty source in PKGBUILDcca53ab6fix(desktop): remove paint-wait guard blocking Linux embed flow1e4523c3feat(desktop): replace X11 wid embedding with libmpv GL render API on Linux8cc8114cfeat(player): add configurable streaming cache and fix frame pump churnf44def43feat(desktop): add Discord Rich Presence with IPC reconnect handlingaf4c8799fix(dist/arch): rename package to nuvio-linux and add missing runtime deps2c8b0b76fix(dist/arch): point desktop entry at /opt/nuvio-linuxd1ed986cdocs: rewrite README for the NuvioLinux hard fork
⚠️ Alpha
Alpha-quality, intended for testers. Expect breaking changes with every update.