2026-08-15 16:42:47 +02:00
2026-08-15 16:42:47 +02:00
2026-10-15 10:08:41 +02:00
2026-08-15 16:42:47 +02:00
2026-10-15 02:51:22 +02:00
2026-10-05 11:26:17 +02:00
2026-10-08 15:36:30 +02:00
2026-08-29 10:47:04 +02:00
2026-10-08 15:36:30 +02:00
2026-08-15 16:42:47 +02:00

Jellyframe Watch your Jellyfin movies and shows on a virtual screen in VR.

Jellyframe is a free, open source app that connects to your Jellyfin server so you can browse your library, choose a title, and position the screen where you want it. Your server supplies the movies and shows.

From JellyQuest to Jellyframe

This project started as JellyQuest, a Jellyfin VR app for the Quest 3. I renamed it Jellyframe because I plan to switch to Steam Frame, which is now the main target for future development. I do not have a Steam Frame yet, so I cannot test it on the headset, but I am still developing the Quest version under the Jellyframe name.

What you can do

Browse and search your Jellyfin libraries, watch 2D, side-by-side 3D, 180° and 360° video, and use your controllers to select titles and control playback. Choose a dark background, a cinema, or passthrough on supported devices, and let episodes play automatically in series order.

See Using Jellyframe for controls, screen settings, environments, and sign-in behaviour.

Get started

You need a Jellyfin server and an account on that server; the initial compatibility target is Jellyfin 10.11.6.

Follow the installation guide to download a build, install the app, and sign in on Quest 3, Windows with SteamVR, or Linux x64 and ARM64 with OpenXR.

Documentation

Current limitations

  • 180° projection and top-bottom 3D still need headset validation.
  • Steam Frame installation and playback remain untested.
  • Linux VR playback has been tested on a Steam Machine running SteamOS, using Vulkan and SteamVR. ARM64 and other Linux systems still need headset testing.
  • CI playback checks run without a headset and do not verify tracking, controller input, or stereo output.
  • Desktop mode only shows the interface. PC video playback requires an active OpenXR session with a connected headset.
  • PC OpenGL builds render video on a worker thread into buffered GPU textures, with software video rendering as a fallback. Decoding can still copy frames through system memory, and Vulkan builds use the software video renderer. High-resolution playback needs performance testing, especially with 8K and full-SBS files.
  • Specific 4K HEVC and HDR videos still need testing; HDR playback relies on your Jellyfin server to convert the video to standard dynamic range with correct colours.
  • Some files need your Jellyfin server to convert the video during playback, which can fail if the server cannot handle the conversion.
  • Audio and subtitle selection, favourites, and collections are not available yet.
  • Marking titles as watched manually and hiding playback controls automatically are planned but not available yet.

Licence

Jellyframe uses GPL-3.0-only; see Licence and attribution for licence terms and third-party credits.

Languages
GDScript 73.8%
C++ 14.9%
Python 4.1%
Java 3.9%
PowerShell 1.6%
Other 1.7%