lbgos
43ebc19a06
Exercise installed Basalt defaults in the complete test suite
2026-10-12 00:23:31 +03:00
lbgos
e373caa0b1
Record cold acquisition timing in native SteamVR logs
2026-10-12 00:19:09 +03:00
lbgos
2966b3eaf1
Keep Rift S controllers uninitialized before optical acquisition
2026-10-11 22:19:46 +03:00
lbgos
e078018041
Find installed Basalt without a Steam launch override
2026-10-11 22:13:37 +03:00
lbgos
855ccd6a3c
Use observed VIO history for room-map camera exposures
2026-10-11 21:54:35 +03:00
lbgos
1a779622d7
Document automatic SteamVR registration and ordinary Steam launch
2026-10-11 21:51:52 +03:00
lbgos
b06c2a3f4d
Keep the mirror GLX context on one thread and render settings on Wayland
2026-10-11 21:46:47 +03:00
lbgos
55e27157ee
Sync the verified Rift S r25 runtime and tracking fixes
2026-10-11 21:45:52 +03:00
lbgos
8073a7f104
Register Rift S automatically in Steam user sessions
2026-10-11 21:43:22 +03:00
lbgos
8c13ac33e4
Render the native SteamVR compositor mirror in settings
2026-10-11 21:24:53 +03:00
lbgos
b0dfabdc62
Open native SteamVR VR View from Rift S settings
2026-10-11 21:16:23 +03:00
lbgos
a767bebba1
Add the Rift S settings app
2026-10-09 23:27:08 +03:00
lbgos
dff6cab92c
Rift S: SLAM guard, Touch controller tracking, native room setup and SteamVR integration
...
Squashed from the working branch. Adds the Basalt patches, constrained
constellation pose solver, Rift S optics, world anchor and boundary
persistence, SteamVR camera queue and room setup guard, and tests.
2026-10-09 22:49:57 +03:00
Christoph Haag
b1c850a015
cmake: Support OpenCV 5
...
Signed-off-by: Christoph Haag <christoph.haag@collabora.com >
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2910 >
Backported to dev-constellation-tracker branch
2026-09-12 09:45:38 +10:00
Jan Schmidt
882770528e
d/rift_s: Ignore camera frames with repeated timestamps
...
Ignore frames with repeating incoming timestamps
This happened one time when the headset crashed, right
before it did a USB disconnect.
2026-03-25 17:50:34 +11:00
Jan Schmidt
c3991f129e
d/rift_s: Don't access controller struct from failed radio callbacks
...
Failed radio callbacks only happen on shutdown, and the controller
may have been destroyed by then and be an invalid pointer
2026-03-25 17:50:34 +11:00
Jan Schmidt
61d1c378dd
d/rift_s: Shutdown sequence fixes
...
Make the driver shut down cleanly, by ensuring to
disable sending camera frames to the SLAM tracker
once the HMD device is destroyed (otherwise the camera
frame sending can block inside the VIT impl when queues
fill).
Fix refcounting of the Rift S system object, so it gets
freed once the controllers and HMD xrt_devices are destroyed.
2026-03-25 17:50:34 +11:00
Jan Schmidt
08b700bd67
d/wmr: Add controller debug var for observed LED brightess
2026-03-25 17:50:34 +11:00
hare_ware and Jan Schmidt
cd3e679904
d/wmr: Set exposure and gain for controller frames
...
Co-Authored-By: Jan Schmidt <jan@centricular.com >
2026-03-25 17:50:34 +11:00
Beyley Cardellio
5dbb1d1d8a
t/constellation: Use RANSAC-PnP pose refinements
2026-03-25 17:50:34 +11:00
hare_ware
0345373ae5
d/wmr: Add Samsung Odyssey Motion Controller aim & grip pose offsets
2026-03-25 17:50:34 +11:00
hare_ware
15ad2815c5
d/wmr: Added support for setting aim pose offsets
2026-03-25 17:50:34 +11:00
Jan Schmidt
4498ad3c25
d/wmr: Fix the controller status request at startup
...
Send the correct status request commands for HP and Odyssey
BT radios.
2026-03-25 17:50:34 +11:00
Beyley Cardellio
9d85edbb3c
t/constellation + d/wmr: Controller device masks for SLAM
2026-03-25 17:50:34 +11:00
Beyley Cardellio
32ace6776b
a/tracking+xrt: Split SLAM hand masks into separate hand+controller masks
2026-03-25 17:50:34 +11:00
Beyley Cardellio
f10443a21c
t/constellation: Remove unneeded constant
2026-03-25 17:50:34 +11:00
Beyley Cardellio
1d67d4d633
d/wmr + t/constellation: Add brightness feedback loop
2026-03-25 17:50:34 +11:00
Beyley Cardellio
d81bd34c59
d/wmr: Tweak some constellation tracking parameters
...
Seems to marginally improve things
2026-03-25 17:50:34 +11:00
Beyley Cardellio and Jan Schmidt
68428910be
t/constellation + d/wmr: Add callback for checking LED visibility
...
This allows the constellation tracker to properly ignore LEDs
that are occluded, with the occlusion function being part of
the LED model.
Co-authored-by: Jan Schmidt <jan@centricular.com >
2026-03-25 17:50:34 +11:00
Beyley Cardellio
e7dab88abd
t/constellation: Bump max constellation devices to 4
...
precursor to "tracked object" support for the rift driver (a third touch controller, in conjunction with the headset and two main controllers)
2026-03-25 17:50:34 +11:00
Beyley Cardellio
db2ce6237b
t/constellation: More descriptive device types
...
Make the device description in the logs more useful by
recognising other tracked devices than just left/right controllers
2026-03-25 17:50:34 +11:00
Jan Schmidt
369b4c4f7c
t/constellation: Apply LED model <-> device transforms
2026-03-25 17:50:34 +11:00
Jan Schmidt
810c5b3887
d/rift d/wmr: Add to LED model API change
2026-03-25 17:50:34 +11:00
Jan Schmidt
581ee2f4f8
t/led_models: add a device->model pose
...
Rift HMDs have their LED models facing the other way compared to
controllers, and the pose needs converting
2026-03-25 17:50:34 +11:00
Jan Schmidt
43e81bbca0
d/rift_s: Add IMU position to pose adjustments
...
Adjust LED model and reported poses to/from IMU-relative
as needed (even though the difference is small)
Adjust the grip pose back by 10cm
2026-03-25 17:50:34 +11:00
Jan Schmidt
58ddbddec8
d/rift_s: Fix mismatched lock/unlock. Update pose position
...
Fix use of os_mutex_unlock() instead of os_mutex_lock() in a
few places.
Update the ctrl->pose position when optical updates arrive,
so the debug UI shows the position changing
2026-03-25 17:50:34 +11:00
Jan Schmidt
524e6bc035
d/rift_s: Flip cam and controller models for the constellation tracker
...
Pass camera poses and controller models in OpenCV coords. Later this
should be reverse, and WMR should flip models and cameras, so the
constellation tracker doesn't have to
2026-03-25 17:50:34 +11:00
Jan Schmidt
9121993660
d/rift_s: Mark controllers as position tracked
2026-03-25 17:50:34 +11:00
Jan Schmidt
4bcc9df215
d/rift_s: Set realtime perms on the USB thread
2026-03-25 17:50:34 +11:00
Jan Schmidt
603d5c2142
rift_s: Assign a common tracking origin
...
Controllers are tracked using the same origin as the headset now
2026-03-25 17:50:34 +11:00
Jan Schmidt
24c46574b3
d/rift_s: Rearrange cameras in the constellation tracker
...
Rearrange the camera order so front cameras are first in the lineup,
to make it easier to debug things
2026-03-25 17:50:34 +11:00
Jan Schmidt
a69e3a4e2b
d/rift_s: Fix controllers reporting generic tracker pose
...
Allow the constellation tracker to retrieve the generic tracker
pose for it to match LEDs against
2026-03-25 17:50:34 +11:00
Jan Schmidt
70753635bd
d/rift_s: Report tracked controller position if found
2026-03-25 17:50:34 +11:00
Jan Schmidt
baac4192ee
d/rift_s: Adjust LED blob brightness thresholds
2026-03-25 17:50:34 +11:00
Jan Schmidt
bd7ca9fce4
d/rift_s: Register controllers with the constellation tracker
2026-03-25 17:50:34 +11:00
Jan Schmidt
e2c6da6aa8
d/rift_s: Create a constellation tracker and feed video
...
Not yet connected to the controllers themselves
2026-03-25 17:50:34 +11:00
Jan Schmidt
140e540e0a
d/rift_s: Fix clock-stabilisation at startup and enable SLAM
2026-03-25 17:50:34 +11:00
Jan Schmidt
594d11d0e0
t/constellation: Fix a silly typo
2026-03-25 17:50:34 +11:00
Jan Schmidt
c9f14c1056
d/wmr: Adapt to new constellation tracker API
2026-03-25 17:50:34 +11:00
Jan Schmidt
2316392400
tracking: Make constellation tracker WMR independent
...
Remove all dependency on the WMR driver from the
constellation tracker
2026-03-25 17:50:34 +11:00