Skip to content

Releases: JJDizz1L/NuvioLinux

Nuvio Linux 0.1.17-alpha

Choose a tag to compare

@JJDizz1L JJDizz1L released this 07 Aug 21:58
0316273

0316273 fix(player): 0.1.17 UI parity — drop action-button shadow, align API defaults @JJDizz1L
326cc87 fix(simkl): port anime-movie classification and poster res parity (0.1.17) @JJDizz1L
d65fe64 fix(player): keep cursor visible while sources/episodes panels are open @JJDizz1L
58668a2 feat(i18n): merge upstream translations for 0.1.17 @JJDizz1L
e247a23 feat(images): HTTP cache-control aware Coil fetcher (upstream 0.1.17) @JJDizz1L
6b11585 fix(desktop): upstream locale, device registration and version alignment (0.1.17) @JJDizz1L
d944823 fix(desktop): restore maximized window placement across restarts (upstream PR #309) @JJDizz1L
74294a5 feat(plugins): split scraper source cache from metadata + QuickJS loading (0.1.17) @JJDizz1L
9cd5a75 refactor(desktop): extract runtime assets into the XDG cache dir (0.1.17) @JJDizz1L
a7383b3 feat(player): port upstream player UI, subtitles and libass styling (0.1.17) @JJDizz1L
133f124 feat(tracking): port upstream watched/projection/watching refinements (0.1.17) @JJDizz1L
0ae1d68 feat(sync): port upstream provider credential sync (0.1.17) @JJDizz1L

0.1.16.2

Choose a tag to compare

@JJDizz1L JJDizz1L released this 06 Aug 07:24
e3b19d1

Nuvio Linux 0.1.16.2

Package-only hotfix release of 0.1.16-alpha (release 3) — addresses the RPM
executable-permission bug (issue #11) and ships several playback/windowing
fixes accumulated since v0.1.16.1. All artifacts share release number 3.

Fixes & features

  • #11 — RPM installs a non-executable launcher (fixed). copyRecursively
    reset file permissions to 0644, so bin/nuvio-linux shipped as 0744
    (owner-exec only) and non-root users got "missing executable permissions"
    when launching from KDE/dnf. The payload now re-applies executable bits
    from the app image (launcher and libapplauncher.so ship as 0755). The
    .deb had the same latent bug and is fixed too.
  • #8 — stuck fullscreen on KDE (self-heal). Compose's placement write is
    applied off-EDT via GraphicsDevice.setFullScreenWindow and never
    verified; rapid toggling or monitor switches could drop the exit
    transition. Toggles are debounced (250 ms) and the real AWT state is
    verified 150 ms after each transition, force-correcting the WM if it
    didn't honor the request. NUVIO_FULLSCREEN_DEBUG=1 logs the toggle path.
  • #7 — XWayland sizing (niri et al.). The Compose layout size lags the
    compositor-assigned bounds by one event; the video render buffer is now
    driven straight from AWT componentResized and windowState.size is
    re-asserted synchronously. NUVIO_WINDOW_DEBUG=1 also logs a 1 s tick to
    capture stuck states.
  • Tiling window managers (niri, sway, i3, bspwm, …). AWT assumes a
    reparenting WM; on tiling compositors it can render into a small box in
    the corner of the window. The app now detects non-reparenting WMs before
    the first AWT access and enables _JAVA_AWT_WM_NONREPARENTING in-process
    (JDK 21 reads it via native getenv). Conditional — KDE/GNOME unaffected;
    NUVIO_FORCE_NONREPARENTING=1 overrides; a user-set variable is respected.
  • #12 — screen sleeping during playback (KDE). While media plays the app
    holds a logind Inhibit (sleep:idle) via systemd-inhibit, so KDE
    PowerDevil no longer blanks the screen mid-video; falls back to a
    cookie-based org.freedesktop.ScreenSaver/PowerManagement Inhibit via
    gdbus inside the Flatpak sandbox. Released on pause/EOF/dispose.
  • Cursor auto-hide. The OS cursor is hidden (blank 1×1) while the
    playback controls overlay is hidden and restored on mouse movement, focus
    changes and dispose.
  • Packaging. A single release counter (NUVIO_PACKAGE_RELEASE, now 3)
    drives the Arch pkgrel, RPM Release and the DEB/AppImage/Flatpak
    filenames so every artifact carries the same release number.

Changelog

e3b19d1f fix(display): enable AWT non-reparenting mode on tiling WMs
da5807de feat(player): keep the desktop awake during playback (issue #12)
b5946f02 feat(player): hide cursor with the playback controls overlay
73871ff2 fix(player): sync render surface size from AWT window (issue #7)
40e56388 fix(player): self-heal dropped fullscreen transitions on KDE (issue #8)
9ed610b7 build(packaging): single package release counter across all formats
572190b2 fix(packaging): restore executable bit in rpm/deb payload (issue #11)

Artifacts

nuvio-linux-0.1.16alpha-3-x86_64.pkg.tar.zst        (Arch; signed, .sig attached)
nuvio-linux-0.1.16alpha-3.x86_64.rpm                (Fedora/RHEL, Requires: mpv)
nuvio-linux_0.1.16-alpha-3_amd64.deb                (Debian/Ubuntu, Depends: mpv)
nuvio-linux-0.1.16-alpha-3-x86_64.AppImage
nuvio-linux-0.1.16-alpha-3.flatpak
nuvio-linux-gpg-key.asc                             (packaging signing key)
SHA256SUMS.txt

Issue #11: install the RPM (or the Arch/deb package) and relaunch —
the launcher is executable for all users again.

0.1.16.1

Choose a tag to compare

@JJDizz1L JJDizz1L released this 04 Aug 23:33
4985b0f

c8c1971 fix(simkl): visible feedback and state sync for watchlist adds @JJDizz1L
e14cdd2 feat(trakt): wire credential sync, watch-source outbox and Simkl parity @JJDizz1L
95cc40a feat(desktop): display server detection + window resize diagnostics @JJDizz1L
1a1473c fix(desktop): track fullscreen state authoritatively @JJDizz1L
6ecf415 fix(linux): withhold DRM render node from mpv on NVIDIA @JJDizz1L
450feaa fix(discord): make presence settings local-only, drop from profile sync @JJDizz1L
ede0c10 fix(arch): sign release packages + document key trust @JJDizz1L

Nuvio Linux 0.1.16-alpha

Choose a tag to compare

@JJDizz1L JJDizz1L released this 03 Aug 02:43
f483639

Nuvio Linux 0.1.16-alpha

First release of the 0.1.16-alpha app version. Brings the Simkl tracking integration, Linux player refinements, sync cleanup, and upstream fixes.

Highlights

  • Simkl tracking: connect your Simkl account (PKCE/PIN), sync watchlists, watched history, playback progress and scrobbles — including anime with per-season MAL/Kitsu ID tracking.
  • Player: fullscreen toggle in the overlay, volume slider + mouse-wheel volume, tap-to-jump seek, smoother sliders, resume from saved position on continue-watching and source switch, skip-outro seek clamp.
  • Sync: removed the broken realtime invalidation channel, retry incomplete foreground pulls, desktop navigation layout now syncs across profiles.
  • Fix: nuvio-account sign-in works again (Supabase credentials are baked into all packages).
  • Packages: Arch, DEB, RPM, AppImage, Flatpak — all built for baseline x86-64.

Commits

f483639 fix(packaging): reset RPM release to 1 for the 0.1.16-alpha app version @JJDizz1L
28b41af feat(tracking): port upstream Simkl provider + tracking architecture (0.1.16) @JJDizz1L
158c8de fix(player): resume from saved position on continue-watching and source switch @JJDizz1L
bb87861 fix(player): invert wheel volume, smooth sliders, tap-to-jump seek @JJDizz1L
e81cf03 feat(player): fullscreen button, volume slider, and mouse-wheel volume on Linux @JJDizz1L
90e13c1 refactor(sync): remove realtime sync, retry incomplete foreground pulls @JJDizz1L
26ee7b7 fix(search): remove recent history icons @JJDizz1L
f151158 feat(i18n): Slovak and Greek translation updates @JJDizz1L
a10f553 fix(watched): mark whole series as unwatched @JJDizz1L
f4ada8d fix(sync): sync desktop navigation layout across profiles @JJDizz1L
3d56e49 fix(player): clamp skip-outro seek below the duration boundary @JJDizz1L
533d115 Update Arch instructions. Will Clean up README for clearity and standardization @JJDizz1L

0.1.15.4

Choose a tag to compare

@JJDizz1L JJDizz1L released this 02 Aug 16:45
5e96c68

0.1.15.4 release notes

Package release of Nuvio Linux 0.1.15-alpha (app version unchanged).
Rebuilds every distribution with a baseline x86-64 JDK.

Fixed since v0.1.15.3

  • App failed to launch with "CPU ISA level is lower than required" on
    x86-64-v3 CPUs
    (AVX2, no AVX-512) — issue #3. The v0.1.15.2/.3 builds
    accidentally bundled the CachyOS cachyos-znver4 JDK (built for
    x86-64-v4 / AVX-512). All packages are now rebuilt with the baseline JDK;
    the bundled JRE and launcher report x86 ISA needed: x86-64-baseline in
    every artifact.
  • Added dist/check-portability.sh so this class of regression fails the
    build instead of shipping.

Artifacts

  • nuvio-linux-0.1.15alpha-3.x86_64.rpm (Fedora/RHEL)
  • nuvio-linux_0.1.15-alpha_amd64.deb (Debian/Ubuntu)
  • nuvio-linux-0.1.15alpha-3-x86_64.pkg.tar.zst (Arch)
  • nuvio-linux-0.1.15-alpha-x86_64.AppImage
  • nuvio-linux-0.1.15-alpha.flatpak
  • SHA256SUMS.txt

0.1.15.3

Choose a tag to compare

@JJDizz1L JJDizz1L released this 02 Aug 14:17
10c1d90

0.1.15.3 release notes

Package release of Nuvio Linux 0.1.15-alpha (app version unchanged).
Rebuilds every distribution with the corrected native bridge and the Flatpak
network/codec/hardware-decode fixes.

Fixed since v0.1.15.2

  • Native playback was broken in every package (JNI symbols not renamed
    during the com.nuvio.appcom.nuviolinux.app rebrand): the native
    bridge now exports the correct com.nuviolinux.app symbols, so video plays
    again everywhere (Arch, RPM, DEB, AppImage, Flatpak).
  • Flatpak could not play network sources (no network protocols / TLS in
    the sandbox's ffmpeg, and mpv was silently linking the SDK's limited
    ffmpeg instead of our build): the sandbox now ships its own shared ffmpeg
    with network + TLS + a comprehensive codec list (DTS/TrueHD/PCM/MP3/Vorbis/
    WMA/FLAC/Opus/E-AC-3 + h264/hevc/vp9/av1 + vaapi hwaccels).
  • Flatpak VA-API hardware decoding for AMD (zero-copy vaapi[nv12]),
    with Intel (iHD via the VAAPI.Intel extension) and NVIDIA (native nvdec via
    CUDA) support built in — validated on AMD, pending real-hardware checks.
  • mpv internal log messages are now forwarded to the app logs so stream/open
    failures are visible instead of silently spinning.

Artifacts

  • nuvio-linux-0.1.15alpha-2.x86_64.rpm (Fedora/RHEL)
  • nuvio-linux_0.1.15-alpha_amd64.deb (Debian/Ubuntu)
  • nuvio-linux-0.1.15alpha-2-x86_64.pkg.tar.zst (Arch)
  • nuvio-linux-0.1.15-alpha-x86_64.AppImage
  • nuvio-linux-0.1.15-alpha.flatpak
  • SHA256SUMS.txt

All packages require system mpv at runtime except the Flatpak, which bundles
libmpv + ffmpeg built from source.

0.1.15.2

Choose a tag to compare

@JJDizz1L JJDizz1L released this 02 Aug 02:54
46626ad

0.1.15.2 release notes

Package release of Nuvio Linux 0.1.15-alpha (app version unchanged). All
distribution formats were rebuilt so every artifact shares the same version
(Arch 0.1.15alpha-1, RPM 0.1.15alpha-1, DEB 0.1.15-alpha, AppImage and
Flatpak 0.1.15-alpha) and ship full desktop integration.

Since v0.1.15.1

  • cb8c48f feat(rebrand): Nuvio Linux — full disassociation from upstream + XDG desktop integration @JJDizz1L
  • f3deee1 feat(packaging): add Fedora RPM, AppImage, and Flatpak distributions @JJDizz1L
  • 9e00b22 refactor(settings): purge dead Android/iOS/Windows settings and UI @JJDizz1L
  • 137a0fe refactor(player): Linux-only playback pipeline, drop AWT/Swing path @JJDizz1L

Also includes the Linux-only de-platforming groundwork (removing Android/iOS/
macOS/Windows source and packaging, Linux-only CI) and package version
normalization.

Artifacts

  • nuvio-linux-0.1.15alpha-1.x86_64.rpm (Fedora/RHEL)
  • nuvio-linux_0.1.15-alpha_amd64.deb (Debian/Ubuntu)
  • nuvio-linux-0.1.15alpha-1-x86_64.pkg.tar.zst (Arch)
  • nuvio-linux-0.1.15-alpha-x86_64.AppImage
  • nuvio-linux-0.1.15-alpha.flatpak
  • SHA256SUMS.txt

All packages require system mpv at runtime except the Flatpak, which bundles
libmpv built from source.

NuvioLinux 0.1.15.1

Choose a tag to compare

@JJDizz1L JJDizz1L released this 01 Aug 01:53
8ad02e3

Generic x86-64 (baseline) build.

The previous release bundled the local CachyOS JDK, which is compiled for x86-64-v3/v4 (AVX2/AVX-512) and would not run on older CPUs. This release was built with a baseline x86-64 JDK (Eclipse Temurin 21.0.12) — verified zero AVX-512/AVX2 instructions in the bundled JVM and native libs.

Package: nuvio-linux-0.1.0-2-x86_64.pkg.tar.zst

NuvioLinux 0.1.15-alpha

Choose a tag to compare

@JJDizz1L JJDizz1L released this 01 Aug 00:08
d1ed986

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 -si

Commits since the fork point (upstream/Dev @ fe85aaa4)

  • 2629b468 feat(desktop): add Linux native mpv playback via JNI bridge
  • 153c6ddf chore(desktop): add debug logging for Linux native playback flow
  • c6cd8375 fix(desktop): set gpu-context=x11 instead of auto for wid embedding
  • beacbe30 feat(desktop): add Arch Linux PKGBUILD for local packaging
  • 9bc1e943 fix(desktop): empty sha256sums for empty source in PKGBUILD
  • cca53ab6 fix(desktop): remove paint-wait guard blocking Linux embed flow
  • 1e4523c3 feat(desktop): replace X11 wid embedding with libmpv GL render API on Linux
  • 8cc8114c feat(player): add configurable streaming cache and fix frame pump churn
  • f44def43 feat(desktop): add Discord Rich Presence with IPC reconnect handling
  • af4c8799 fix(dist/arch): rename package to nuvio-linux and add missing runtime deps
  • 2c8b0b76 fix(dist/arch): point desktop entry at /opt/nuvio-linux
  • d1ed986c docs: rewrite README for the NuvioLinux hard fork

⚠️ Alpha

Alpha-quality, intended for testers. Expect breaking changes with every update.