I’ve had a few people ask how to test my OpenHMD development branch of Rift CV1 positional tracking in SteamVR. Here’s what I do:
- Make sure Steam + SteamVR are already installed.
- Clone the SteamVR-OpenHMD repository:
git clone --recursive https://github.com/ChristophHaag/SteamVR-OpenHMD.git
- Switch the internal copy of OpenHMD to the right branch:
cd subprojects/openhmd git remote add thaytan-github https://github.com/thaytan/OpenHMD.git git fetch thaytan-github git checkout -b rift-kalman-filter thaytan-github/rift-kalman-filter cd ../../
mesonto build and register the SteamVR-OpenHMD binaries. You may need to install
mesonfirst (see below):
meson -Dbuildtype=release build ninja -C build ./install_files_to_build.sh ./register.sh
- It is important to configure in release mode, as the kalman filtering code is generally too slow for real-time in debug mode (it has to run 2000 times per second)
- Make sure your USB devices are accessible to your user account by configuring udev. See the OpenHMD guide here: https://github.com/OpenHMD/OpenHMD/wiki/Udev-rules-list
- Please note – only Rift sensors on USB 3.0 ports will work right now. Supporting cameras on USB 2.0 requires someone implementing JPEG format streaming and decoding.
- It can be helpful to test OpenHMD is working by running the simple example. Check that it’s finding camera sensors at startup, and that the position seems to change when you move the headset:
- Calibrate your expectations for how well tracking is working right now! Hint: It’s very experimental 🙂
- Start SteamVR. Hopefully it should detect your headset and the light(s) on your Rift Sensor(s) should power on.
I prefer the Meson build system here. There’s also a
cmake build for SteamVR-OpenHMD you can use instead, but I haven’t tested it in a while and it sometimes breaks as I work on my development branch.
If you need to install
meson, there are instructions here – https://mesonbuild.com/Getting-meson.html summarising the various methods.
I use a copy in my home directory, but you need to make sure
~/.local/bin is in your
pip3 install --user meson