jellyfin/jellyfin-desktop

Media & Design

A desktop client for Jellyfin that plays media with hardware decoding and audio passthrough.

5,956
578
C++
GPL-2.0
5 years old

What it is

Jellyfin Desktop is a native desktop client for Jellyfin servers, built with Qt WebEngine and libmpv. It plays audio and video from a Jellyfin library on Windows, Linux, and macOS. The client supports hardware decoding, audio passthrough, and playback of more formats without transcoding (3). It is aimed at users who want a desktop playback experience rather than a browser tab, especially when direct playback and passthrough matter.

Getting started

Linux users can install the client from Flathub (7). Development builds track the latest commit on master and are available as archives for each platform:

Download and extract the archive for your platform, then launch the application and sign in to your Jellyfin server. The development builds are not versioned releases; they are built from the current master branch (8).

Building from source

Platform-specific build instructions live in the dev/ directory (18). The README does not list compiler or dependency versions, so those details are only in the platform build files.

Configuration and data locations

Settings are stored per profile under profiles/<profile-id>/. The main configuration file is jellyfin-desktop.conf; you can also place an mpv.conf in the profile directory to configure MPV directly (19).

  • Windows: %LOCALAPPDATA%\Jellyfin Desktop\profiles\<profile-id>\
  • Linux: ~/.local/share/jellyfin-desktop/profiles/<profile-id>/
  • Linux (Flatpak): ~/.var/app/org.jellyfin.JellyfinDesktop/data/jellyfin-desktop/profiles/<profile-id>/
  • macOS: ~/Library/Application Support/Jellyfin Desktop/profiles/<profile-id>/

Logs are kept in a logs/ subdirectory of the profile data location, with separate cache paths on each platform (19).

Practical notes

You need a reachable Jellyfin server and an account on it. Hardware decoding and audio passthrough depend on the host GPU, audio output path, and the media being played, so not every combination is guaranteed to work. The application is licensed under GPL-2.0.

HotRepo's take

HotRepo has one daily record for this repository: on 2026-11-02 it ranked 11th on the C++ daily list with 5,956 stars and 10 stars gained. That is a single snapshot, so it shows visibility in the C++ desktop-client space rather than a sustained trend. The project's value comes from its playback layer—libmpv-based decoding and passthrough—which sets it apart from a generic Jellyfin web wrapper (3).

Written by AI from the project's README, updated . The project's own docs are the source of truth.