lvra.gitlab.io/content/docs/fossvr/wmr_lighthouse_hacky.md
2025-02-15 00:49:04 +01:00

2.6 KiB

title weight
WMR Lighthouse (no SteamVR) 9000

WMR Lighthouse (no SteamVR)

This describes a WMR Lighthouse setup using the steamvr_lh driver.

It's different from WMR Lighthouse

This doesn't use steamvr to re-map the head from some lighthouse tracking device. Instead it does this natively, so SteamVR is only necessary for the proprietary steamvr_lh driver.

For now this is a hacky approach as Monado's builders don't support the functionality yet:

I made this for WMR as i have a reverb G2 & vive 1 (used only for it's 2 watchman dongles)

you can easily adapt this for other headsets in a hacky way, until these issues are closed.

I use this as my only vr setup on arch and it works fine.

Setup:

Setup your lighthouse system on SteamVR Windows. The Linux SteamVR version does not work well. On windows: Update everything, pair everything & setup your room boundaries.

Linux setup:

  • install steam
  • Download SteamVR on Steam (try non beta version first)
  • configurations from windows copied over

How to copy your windows steam configurations to Linux

  • mount your windows drive (e.g. at /mnt)
  • cp "/mnt/Program Files (x86)/Steam/config" ~/.steam/steam/ -r

Build

Grab my hacky Monado

git clone https://gitlab.freedesktop.org/Zuzka/monado

(if it's too old, try to merge upstream into it and fix it)

Ensure you have all required dependencies installed beforehand (Envision or Monado docs might help)

cmake -G Ninja -B build -DCMAKE_INSTALL_PREFIX=/usr -DXRT_BUILD_DRIVER_SURVIVE=0 -DXRT_BUILD_DRIVER_VIVE=0 -DXRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE=1

sudo ninja -C build install

You may get this error:

CMake Error at cmake/OptionWithDeps.cmake:141 (message):
  XRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE specified but not available: failed
  check XRT_HAVE_STEAM
Call Stack (most recent call first):
  CMakeLists.txt:327 (option_with_deps)

In which case it's okay to just comment (put # at beginning of line) of line 372.

USAGE:

  • set following environment variables in your e.g. bash_profile:
  • export LH_DEVICE_SERIAL="{YourSerial}"
  • get the actual tracking device serial via motoc monitor or by another way.

USEFUL RESOURCES: