Commit Graph
8342 Commits
Author SHA1 Message Date
Beyley Cardellio bfdfdb7a85 d/uvc: Mark stream as not running before locking event waiting
Fixes a race condition on exit

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:16:06 -05:00
Beyley Cardellio 2a8ba96282 d/uvc: Don't try to push a null sink
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:16:01 -05:00
Beyley Cardellio cf0a6d5a86 d/uvc: Return correct result codes for xrt_fs funcs
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:15:55 -05:00
Beyley Cardellio 944a8f6df8 d/uvc: Make libusb device descriptor const
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:15:46 -05:00
Beyley Cardellio cf2d9c7640 xrt: Add 64-bit little-endian float type
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:15:39 -05:00
Beyley Cardellio af3f3dc170 xrt: Fix fallback byte order macros
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2750>
2026-02-14 00:15:34 -05:00
Bernhard Jung 09aa6195c6 c/render: Fix RENDER_MAX_LAYERS to 128
RENDER_MAX_LAYERS is set to 128 independent of XRT_MAX_LAYERS.
Also, the pipeline specialization of max_layers is removed, because
specialization does not affect the memory layout of arrays within
structs, which can lead to an UBO memory mismatch the corresponding
C struct has smaller arrays.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2747>
2026-02-13 06:59:34 +01:00
Bernhard Jung 6b0e2cedc6 c/shaders: Refactor per layer ubo data
Instead of every parameter being an array we define an array of a
struct that contains all parameters per layer.

By doing so, the array of fixed size structs is at the end of the ubo
and we don't see any misalignments when specialization cannot reduce
the array length.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2746>
2026-02-12 23:53:05 +00:00
Beyley Cardellio a29e919185 t/common: Add Oculus Rift builder
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2743>
2026-02-12 19:58:56 +00:00
Beyley Cardellio 9f61f1ffd5 d/rift: Refactor interface to reduce duplicated code in external builder
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2743>
2026-02-12 19:58:56 +00:00
Bernhard Jung fc0dba551b cmake: Add INCLUDE_DIRS argument to spirv_shaders
The include dirs to be used for compiling shaders can be passed to the
spirv_shaders function with the multi value arg INCLUDE_DIRS.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2745>
2026-02-12 14:23:40 +00:00
Jakob Bornecrantz fb362e942d ipc: Remove some usage of strcpy
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2740>
2026-02-12 13:19:51 +00:00
Bernhard Jung 16fb777074 c/render: Fix gfx pipeline for projection layer with multiple layers
Fix split layer_shared.frag into quad and projection to prevent misalignment issues of the UBOs in vert/frag.

Also: fix spelling: tanget -> tangent
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2744>
2026-02-12 13:35:52 +01:00
Beyley Cardellio 7aa33fceaa doc: Document !2668
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2668>
2026-02-10 01:21:59 +00:00
Beyley Cardellio 5b0330d1a8 t/common: Add PS VR2 builder
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2668>
2026-02-10 01:21:59 +00:00
Beyley Cardellio 77f2b1017f doc: Document !2581
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
Beyley Cardellio 5b4793796d d/survive: Intergrate d/vp2
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
Beyley Cardellio 69f419a3d7 d/survive: Refactor to multiple files and add ICD+scene solver env vars
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
Beyley Cardellio 34cae212e1 d/steamvr_lh: Add ICD override environment variable LH_OVERRIDE_IPD_MM
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
Beyley Cardellio 282bbd7119 d/steamvr_lh: Add d/vp2 integration
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
Beyley Cardellio 86358a9316 d/vp2: Read config, implement distortion and brightness/noise cancelling
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2581>
2026-02-09 19:56:55 -05:00
rcelyte 723652b545 d/solarxr: Feed device poses to server
For now this utilizes SlimeVR's separate "SteamVR Feeder" API,
waiting on https://github.com/SlimeVR/SlimeVR-Server/issues/895.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2609>
2026-02-09 14:57:35 +00:00
rcelyte 6cc6d2c6a0 d/solarxr: Sync at fixed rate
This improves tracking latency by allowing SlimeVR to synchronize updates with its processing loop.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2609>
2026-02-09 14:57:35 +00:00
rcelyte 6e7bbc7005 d/solarxr: Fix flatpak socket path
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2609>
2026-02-09 14:57:35 +00:00
Matt Coffin 69834fe93b c/cylinder: Fix aspectRatio for compute compositor
the compute compositor had the math for `aspectRatio` backwards for
cylinder layers, causing textures to appear stretched

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2699>
2026-02-09 14:18:29 +00:00
Beyley Cardellio 9090a2f220 doc: Document !2607
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:31 +00:00
Beyley Cardellio ba99006d44 d/psvr2: Rewrite time tracker to be more accurate
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:31 +00:00
Beyley Cardellio cd496cf624 d/psvr2: Add compositor scanout information
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:31 +00:00
Beyley Cardellio a7b5f5e104 d/psvr2: Tracking improvements
- Add IMU -> head offset
- Gyro dead reckoning
- Correctly define tracking origin

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:30 +00:00
Beyley Cardellio d2f4efdca5 d/psvr2: Move protocol definitions and HMD struct to another file
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:30 +00:00
Beyley Cardellio 0b914224d1 d/psvr2: Always choose nearest quaternion to last slam pose
This prevents the motion estimation from thinking the device has rotated nearly 360 degrees when the SLAM tracker gives us the 2nd poled quaternion for the orientation, since it does not appear to do any kind of continuity checking itself.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:29 +00:00
Beyley Cardellio 1802843782 d/psvr2: Use X-macro for freeing transfers
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:29 +00:00
Beyley Cardellio 48218c3f12 d/psvr2: Fix get_view_poses function for upstream changes
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:28 +00:00
Beyley Cardellio 7ca5d153b8 d/psvr2: Implement serial number parsing
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:28 +00:00
Beyley Cardellio 3f602bac54 d/psvr2: Exit libusb context after closing device
We also disable USB device close due to a libusb bug. This shouldn't
leak resources.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:27 +00:00
Beyley Cardellio ed592836cb d/psvr2: Expose PS VR2 interaction profile
Function button (path called "system" for consistency, but named "function button" by Sony's documentation) is fully implemented, but output haptics are exposed but unimplemented, pending getting them working on post-PC firmwares.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:27 +00:00
Beyley Cardellio 425b4b6f7f d/psvr2: Implement brightness control
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:26 +00:00
Beyley Cardellio 38468a5778 d/psvr2: Add documentation for a bunch of fields
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:26 +00:00
Beyley Cardellio 68e901f522 d/psvr2: Use relation history for SLAM poses
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:26 +00:00
Beyley Cardellio ceea208449 d/psvr2: Expose presence sensor
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:25 +00:00
Beyley Cardellio e0947693a8 d/psvr2: Update driver and read from HMD's distortion calibration block
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:25 +00:00
Joel-Valenciano b04f4a7690 d/psvr2: Add IMU clock tracking
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:24 +00:00
Joel-Valenciano ef8ec2a347 d/psvr2: Avoid USB stop deadlock & free USB transfers
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:24 +00:00
Joel-Valenciano 58fd083a0d d/psvr2: Begin basic time tracking
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:24 +00:00
Joel-Valenciano 3d6bf82a55 d/psvr2: Implement PS VR2 asymmetric distortion function
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:23 +00:00
Jan Schmidt 38cf11713d d/psvr2: Initial PS VR2 HMD driver
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2607>
2026-02-09 10:54:22 +00:00
Jakob Bornecrantz a383486e85 ipc: Make all XrTime references be within the same ballpark for all clients
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2733>
2026-02-09 10:45:13 +00:00
Beyley Cardellio 8b46a393b7 doc: Document !2475
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2475>
2026-02-07 19:34:08 -05:00
Beyley Cardellio 7b7d11ab8f d/uvc: Add userspace UVC driver
This currently has no dependents in upstream Monado, however this is needed by my downstream Rift CV1 driver.

Most of this code is imported from OpenHMD, and ported to Monado's codebase by me. It was originally written
by Phillip Zabel, and expanded by thaytan for OpenHMD.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2475>
2026-02-07 19:34:08 -05:00
Beyley Cardellio 689196c1b7 d/rift: Implement controller haptics
This is done using sync radio commands because if we don't then we tend to drop haptic events, the radio on the CV1 is *really* slow so we just synchronously send haptics and it *should* still be able to keep up with everything else going on. If this becomes an issue, perhaps sending haptics should be moved to a thread different from the one reading radio data? It doesn't appear to be an issue in my testing, at least.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2731>
2026-02-07 04:37:44 +00:00