Immersive Visualization / IQ-Station Wiki

This site hosts information on virtual reality systems that are geared toward scientific visualization, and as such often toward VR on Linux-based systems. Thus, pages here cover various software (and sometimes hardware) technologies that enable virtual reality operation on Linux.

The original IQ-station effort was to create low-cost (for the time) VR systems making use of 3DTV displays to produce CAVE/Fishtank-style VR displays. That effort pre-dated the rise of the consumer HMD VR systems, however, the realm of midrange-cost large-fishtank systems is still important, and has transitioned from 3DTV-based systems to short-throw projectors.

ViveLighthouse

From IQ-Station Wiki
Revision as of 23:19, 28 February 2022 by WSherman (talk | contribs) (Added 3 new sections: Hardware limitations, compatible versions and see also)
Jump to navigation Jump to search

The Vive Lighthouse is a consumer VR position tracking system sold by HTC, and used by several VR HMDs (headsets), such as the original Vive, the Vive Pro, and the Valve Index. The Lighthouse tracking system provides amazing tracking capabilities at a consumer price point and was one of the products that helped usher in the modern era of VR for everyone.

One issue with Lighthouse tracking is that it has limited support for Linux and MacOS. (Not no support, mind you, which is good, but it's certainly not easy to setup Lighthouse systems on Linux.) Indeed, to date, there is only one public source with sufficient information to setup a working Lighthouse system running on Linux.

The system that best (only) enables Lighthouse tracking on Linux is the Vrui VR Integration library developed at the University of California, Davis, by Oliver Kreylos.

Oliver explains how to setup the Vive (and Linux itself) in a series of blog posts on his "Doc OK" blog. The first of the two listed blog entries focusses more on setting up the Lighthouses, and the second blog entry focuses mostly on connecting the HMD display to Linux.

Before we begin though, here are Oliver's key blog entries if you want to go directly to the source:

Hardware Limitations

It's not obvious to the general user, but the Vive (and probably also true for the Valve Index) HMDs are what provides access to the two controllers. Pucks and be paired instead of controllers, but only two tracked objects (in addition to the HMD itself) can be connected to the HMD. Additional devices require a Vive Puck Watchman, which is a small form-factor USB dongle, and each Watchman can connect to either one Vive Puck or one Vive Controller.

The company Tundra Labs sells a Tundra Tracker puck and dongles, with dongles that can handle 3, 5 and 7 devices.

Compatible Versions

Determining how to interface with the Lighthouse system is made more difficul because Valve routinely changes the internal API to the driver_lighthouse.so dynamically loadable shared-object file. And the changes to the interface are not made widely available. This problem is exacerbated by the fact that there is no quick way to discern what version of the API an individual file might be accessed through.

Thus I am creating a table listing known (by me) versions of the driver_lighthouse.so file based on their file system. (As most people needing this information will be running on linux64 operating systems, I've limited the table to just those files.)

Mapping driver_lighthouse.so to Vrui versions
Vrui Version SteamVR version linux64/driver_lighthouse.so size
?? ?? 2957781 bytes
4.6-003 1.2.6 3409653 bytes
4.6-005 ?? 3544108 bytes
?? ?? 3615672 bytes
?? 1.7.6 3809497 bytes
6.0 ?? 4035190 bytes
8.0 ?? ??

See Also (other attempts for Lighthouse on Linux)

Note that many of these are defunct efforts, but they may still have nuggets of valuable information.