Skip to content

Implementation Details

Andrew Rabert edited this page Jun 27, 2026 · 5 revisions

CEF Offscreen-Rendering (OSR)

Name When Description
about On-Demand A centered "About" dialog box with Jellyfin Desktop version information. Appears only when explicitly navigating to it via the context menu
overlay Startup-Only Jellyfin Desktop's server connect UI and loading spinner
web Indefinite The connected Jellyfin server's web UI

MPV

Video Output## CEF Offscreen-Rendering (OSR)

Name When Description
about On-Demand A centered "About" dialog box with Jellyfin Desktop version information. Appears only when explicitly navigating to it via the context menu
overlay Startup-Only Jellyfin Desktop's server connect UI and loading spinner
web Indefinite The connected Jellyfin server's web UI

MPV

Video Output

MPV's libmpv render API lacks many important features that the standalone MPV player window supports (gpu-next, HDR, etc). Jellyfin Desktop works around that by essentially starting and wrapping a standalone MPV window. Implementation varies by platform.

Platform Implementation
Wayland Use wl-proxy to intercept MPV's Wayland connection and reparent the video surface to a subsurface of Jellyfin Desktop.

MPV's libmpv render API lacks many important features that the standalone MPV player window supports (gpu-next, HDR, etc). Jellyfin Desktop works around that by essentially starting and wrapping a standalone MPV window. Implementation varies by platform.

Wayland

Use wl-proxy to intercept MPV's Wayland connection and reparent the video surface to a subsurface of Jellyfin Desktop.

Clone this wiki locally