github aelrased/NuvioDesktop v0.1.6-alpha

latest releases: 0.1.13-alpha, 0.1.10-alpha, 0.1.9-alpha...
one month ago

Fixes applied (commits 4866617 through a138e92)

Compilation errors

All unresolved references (desktopHwdecMode, customMpvProperties, compose_player_volume) are now defined across all platform targets. Build compiles cleanly.

SIGSEGV crash

Root cause was the render thread accessing freed mpv state during dispose(). Fixed by calling mpv_wakeup() before setting alive=0, eliminating the 16ms race window (a138e92).

Memory leak (13 GB)

Caused by decoded-frame accumulation in the mpv render pipeline. Mitigated with:

  • vd-lavc-dr=no to prevent decoder from holding decoded frames
  • video-latency-hacks=yes to reduce buffering overhead
  • Proper frameReady flag reset and buffer lifecycle in renderFrameToBuffer()

Laggy playback

The 16ms poll loop was not properly synchronized with mpv render updates. The render thread now uses mpv_wait_event() with a 16ms timeout and MPV_RENDER_UPDATE_FRAME flag checks, matching vsync cadence.

Colors too bright

Added proper color-space configuration:

  • target-prim=bt.709, target-trc=srgb
  • video-output-levels=full
  • icc-profile-auto=yes
  • deband=yes, dither-depth=auto

libmpv 0.40 compatibility

Removed MPV_RENDER_PARAM_MIN_FRAME_DURATION which is not supported in libmpv 0.40+ (08cc40a).

Desktop icons

Replaced oversized icons with properly sized PNGs (16-256px). Linux taskbar icon set via AWT Toolkit.

Linux packaging

  • DEB: Added 20+ runtime dependencies (libmpv2, libasound2, libpulse0, etc.) so apt installs them automatically
  • AppImage: Added AppStream metadata, update information for Gear Lever, and .zsync for delta updates

Don't miss a new NuvioDesktop release

NewReleases is sending notifications on new releases.