Jellyfin MPV Shim
MPV-Based Jellyfin Client with Offline Sync
Izzie Walton ✓ Verified
com.github.iwalton3.jellyfin-mpv-shimJellyfin MPV Shim is a fully featured Jellyfin client built on top of MPV with support for offline sync, media browsing, background casting, syncplay, music, live TV, books, and photos. It does not depend on or use a webview and doesn't mess with MPV's video output pipeline, allowing for HDR and tone mapping support.
Screenshots
Observed history
| App | Change | Version | When ↓ |
|---|---|---|---|
| updated | 3.1.0 | 5 Oct 2026 |
Upstream releases
Release notes supplied by the developer. These dates are not Flathub package publication times.
3.1.04 Oct 2026
Revamps offline sync, namely progress sync. UI language can now be overridden in settings. Many other small bugs found after the v3.0.0 release are also now fixed.
Changes:
- Improve server connection retry UI and allow re-logging in.
- Improve offline progress sync reliability and multi-user support
- The UI auto-refreshes in more places when state changes.
- Fixed video resume sometimes breaking playback position (#761, #765)
- Fixed issue where HDR gets disabled (#771)
- Fixed video playing while it is still loading (#785)
- Opening the application while playing now just raises the window
- Fixed intermittent blank library page on film ending
- Library sort is now remembered between visits
- Metadata refresh option added (#764)
- Missing episodes are now marked and don't get play attempts
- Added shuffle and description to season pages
- Prevented homepage flickering for HiDPI/many library users
- Added server discovery (#755)
- Allow viewing/playing downloads while online
- Fixed newlines being pasted into login forms
- Casting a photo album is now supported, although some servers sometimes send nothing
- Empty syncplay queues don't crash the player anymore
- Syncplay now uses the online source if your downloaded copy is stale
- Improved UI summoning reliability (#767)
- Added multimedia back/forward key support
- Added keybind kb_nav_back to go back and keep fullscreen (#762)
- Trickplay is now DPI-aware
- Clarified language-config settings (#766)
- Enabled flatpak screen wakelock support (#772)
- Added fontconfig support for distros like NixOS that put their fonts in non-standard places (#786)
3.0.07 Sept 2026
Adds a Jellyfin library browser and improved video controls built on top of MPV without any webviews, including offline sync and easy user switching.
Changes:
- Browse and search the whole library inside MPV, including music, comics, and books.
- Offline sync with automatic downloads
- Full Jellyfin player controls built on top of MPV
- Classic MPV controls can be used if desired, customization remains a priority
- Live TV including channels, guide, and recording
- Quick connect and easy server/user switching
- Navigate using keyboard, gamepad, or cast controls
- Includes presets for shaders, audio passthrough, and volume normalization
- Most settings are now managable without editing files
- HiDPI support, client-side decorations, and proper Wayland support
- Syncplay can be joined from homescreen and doesn't stall unexpectedly
2.10.03 May 2026
Changes:
- Fix python 3.14 compat issues on macOS (#487)
- Fix transcode termination failure (#492, #481)
- Prevent crash when opening menu during stream load (#493)
- Fix mpv_ext_no_ovr and OSC interaction (#499)
- Fix intro skip and custom seek bindings (#491)
- Make Pillow dependency optional (#494)
- Fix system tray icon to use X11 (#506)
- Fix H.265 transcode preference not being used in some cases (#531)
- Fix capability reporting, state sync, and websocket reconnect (#515)
- Fix application menu handling (#528)
- Fix installer not able to close application (#529)
- Add CLI flags to configure/update/delete account (#519)
- Use Jellyfin logo as window icon and idle background (#513)
- Add path substitutions feature (#511)
- Make external mpv process start retries and retry delay configurable in settings (#504)
- Implement local-network priority for Jellyfin server connections (#502)
- Added new language_config feature, allows mpv-style alang/slang config, conditional preferences, and more
- Fix issue where volume 0% is reported as 100% (#497)
- Add --help, --debug, --gui, and --no-gui options (#477)
- Make connection retry and health check more robust.
- Fix issue where ipv6 connections always register as remote. (#482)
- Fix issue where OSC menu didn't have background, affecting usability.
- Upgrade mpv version.
- Replace webview-based display mirror with tkinter-based one.
2.9.017 Mar 2025
Changes:
- Ignore empty client list failures. (#422)
- Update skip intro to use official media segments API.
- Pass media source into PlaybackInfo.
- Add optional mtls support. (#426)
- Catch exceptions when registering Discord join callback. (#440)
- Catch exceptions from pystray. (#434)
- Make main halt event work on non-glibc systems. (#432)
- Use latest package versions. (#429)
- OpenBSD improvements. (#428)








