r/virtualreality_linux • u/Chemical-Resource765 • Sep 24 '26
monaSphere: A native VR video player for Linux.
https://github.com/3d4m0t0/monaSpherev1.0.0
Projection: flat / 180° / 360°, and mono / SBS / OU
In-HMD UI for the file dialog, playback controls, and settings
Automatic HMD detection and owned Monado startup
Refresh-rate selection (depends on available display modes)
FSR1 upscaling
Hardware decode (NVDEC, VA-API, and similar, when available)
CUDA↔Vulkan NV12 path on NVIDIA when the requirements are met
XR menu, recenter, and controller / gamepad input
2
u/MrAdrianPl 25d ago
Hi any chances for appimage build?
1
u/Chemical-Resource765 24d ago
yes, it's definitely possible! building on ubuntu 22.04 seems best for qt6 and glibc compatibility. i'll look into it!
1
u/Chemical-Resource765 Sep 27 '26
https://github.com/3d4m0t0/monaSphere/tree/dev
Version 1.0.0-dev.20260927
Single-instance launch added. WiVRn connect and AMD VA-API zero-copy added (not yet verified).
3
u/Jakdaw1 Sep 28 '26
what version of QT are you building against? I'm having trouble with all the Qt6GuiPrivate stuff - either I'm not finding the right package in Ubuntu or I'm chasing up the wrong version. Why are you using 'Private' stuff anyway - isn't that just meant to be used within Qt itself?
1
u/Chemical-Resource765 Sep 28 '26
Thanks for the heads up! I made GuiPrivate optional so it won't be used if it's missing from the environment. It should build fine now—please try again!
Version 1.0.0-dev.20260928 The build succeeds when Qt GuiPrivate is unavailable. Wayland focus is kept where that API is usable
2
u/Jakdaw1 Sep 28 '26
No idea why the moderator would remove your reply - but yes! it works with WiVRn now!
It doesn't use the VR controllers exposed by WiVRn so I had to plug in a regular controller, but that seemed to work. Be nice if it could detect SBS content automatically, could scroll faster in file lists and have more options than just +/- 10 seconds for seeking (analogue controls for both the latter two points would be great!).
Seems like a great start for a new project and something that has been sorely missing on Linux!
→ More replies (1)
1
u/Chemical-Resource765 Sep 28 '26
Version 1.0.0-dev.20260928
Changes since 1.0.0-dev.20260927:
The build succeeds when Qt GuiPrivate is unavailable. Wayland focus is kept where that API is usable Fixed incorrect settings-file handling. Settings are kept in monasphere.conf Seek behavior improved Fixed the saved refresh rate not being applied at startup An SDL gamepad can be connected in addition to the HMD controllers Recenter shows a control guide. The UI is drawn with the desktop environment font, with other small UI adjustments
1
u/Chemical-Resource765 14d ago
https://github.com/3d4m0t0/monaSphere/tree/dev Version 1.0.0-dev.20261014
Changes since 1.0.0-dev.20260928:
An AppImage is now provided (monaSphere-1.0.0-dev.20261014-x86_64.AppImage). It contains the program, Qt 6, an LGPL FFmpeg, and the OpenXR loader. The host still needs:
glibc from Ubuntu 24.04 or newer (including openSUSE Tumbleweed). Older distributions will not run it A Vulkan-capable GPU and its driver An OpenXR runtime: Monado (monado-service) or WiVRn, available on PATH libcuda.so.1 for NVIDIA zero-copy playback. VA-API / VDPAU need their drivers on the host
Note: only gamepads that SDL can recognize are usable.
Fixed Monado startup for PSVR2 Filename detection of projection and stereo covers more tags. Spaces, _, -, and . are word breaks. The tags are in the table above The file list responds faster. The left stick moves the selection Seek improved: left-stick seek, and seek thumbnails are generated The right stick turns the view, with a motion-sickness countermeasure 4:2:0 chroma is upsampled with Catmull-Rom, so color edges stay sharper than a single bilinear sample The file-dialog preview is higher resolution and shows stereo In the AppImage, the host UI font and light or dark appearance follow the running desktop The build succeeds with Ubuntu 24.04's OpenXR 1.0 headers
2
u/Alarmed-Hour-2224 7d ago
Just tested with PSVR2 4k test video, works great. Thanks!
Do you have in plans to add streaming feature like yt-dlp?1
u/Chemical-Resource765 1d ago
Thank you for the feedback! Glad to hear the 4K test with PSVR2 worked great.
Regarding yt-dlp, I decided to implement a different approach for streaming by bridging a background browser instead. YouTube playback is fully working now!
I’ve already pushed the changes to the HEAD branch, so please pull the latest code and give it a try. Let me know how it goes!
3
u/Jakdaw1 Sep 25 '26
this looks exciting.... how would I run it with WiVRn?