2026-03-24 13:30:20 -04:00
2021-04-13 11:46:53 -05:00
2026-02-17 09:58:41 +00:00
2026-02-17 13:09:42 -06:00
2025-10-23 12:05:18 +01:00
2026-09-12 09:45:38 +10:00
2025-01-24 10:12:01 +00:00
2025-01-24 10:12:01 +00:00
2019-09-18 09:30:16 +01:00
2026-10-09 23:27:08 +03:00
2025-12-09 15:57:50 -06:00

Rift S on Linux

Oculus Rift S support for Monado and SteamVR on Linux. It has inside-out head tracking with Basalt SLAM, Touch controller tracking from the controller LEDs, and room setup with a play-area boundary.

This is a fork of thaytan's Monado Rift S branch, dev-constellation-controller-tracking. The original Monado readme is in README-monado.md.

Status

Early project. It already works and is usable in SteamVR with the headset and both controllers. Good changes will keep landing here.

Known rough edges:

  • Controller behavior when the controllers leave the camera view is still rough.
  • The boundary does not persist reliably across restarts.

Build and install

Head tracking needs Basalt. Clone Basalt, apply the patches in patches/basalt/ in order, then build and install it by its own readme so that libbasalt.so is on the library path. If it is somewhere else, set VIT_SYSTEM_LIBRARY_PATH.

git clone https://gitlab.freedesktop.org/mateosss/basalt.git
cd basalt
git submodule update --init --recursive
for p in /path/to/this/repo/patches/basalt/*.patch; do patch -p1 < "$p"; done

The patches were made against Basalt main at df6e970.

Then build Monado. OpenCV, Vulkan and Eigen are required on top of Monado's usual dependencies.

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DXRT_BUILD_DRIVER_RIFT_S=ON -DXRT_FEATURE_SLAM=ON -DXRT_FEATURE_STEAMVR_PLUGIN=ON
ninja -C build
sudo ninja -C build install

The install puts the SteamVR driver in /usr/local/share/steamvr-monado. Register it with SteamVR and start SteamVR with the headset plugged in.

~/.local/share/Steam/steamapps/common/SteamVR/bin/vrpathreg.sh adddriver /usr/local/share/steamvr-monado

Unit tests build with the default BUILD_TESTING=ON and run with ctest --test-dir build.

Settings app

settings-app/ is a small desktop app (Tauri + React) for the headset. It shows tracking state for the headset and controllers, the room boundary, and lets you set software IPD, recenter, start room setup, export logs and restart SteamVR. It talks to SteamVR through OpenVR, so SteamVR has to be running.

cd settings-app
pnpm install
pnpm tauri build

License

Boost Software License 1.0, the same as Monado. See LICENSE. Third-party files keep their own licenses in LICENSES/.

Contact lbgos at contact@lbgos.dev.

r33
Latest
2026-10-23 01:01:13 +02:00
Languages
C 64.7%
C++ 27.8%
CMake 2.7%
Python 2%
Rust 0.6%
Other 1.9%