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.

Difference between revisions of "ViveLighthouse"

From IQ-Station Wiki
Jump to navigation Jump to search
(Initial version -- just talking about Oliver's work (more to come))
 
m (Added 3 new sections: Hardware limitations, compatible versions and see also)
Line 1: Line 1:
{{TOCright}}
The Vive Lighthouse is a consumer VR position tracking system sold by HTC, and used
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
by several VR HMDs (headsets), such as the original Vive, the Vive Pro, and the
Line 18: Line 19:
The first of the two listed blog entries focusses more on setting up the Lighthouses,
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.
and the second blog entry focuses mostly on connecting the HMD display to Linux.
''(Note: presently that blog seems to be down, which is one of the reasons I'm distilling
<!-- ''(Note: presently that blog seems to be down, which is one of the reasons I'm distilling
information here, but I also have found links to those blog entries on the Wayback
information here, but I also have found links to those blog entries on the Wayback
Machine.)''
Machine.)'' -->


Before we begin though, here are Oliver's key blog entries if you want to go
Before we begin though, here are Oliver's key blog entries if you want to go
Line 28: Line 29:
* http://doc-ok.org/?p=1763 &mdash; An Illustrated Guide to Connecting an HTC Vive VR Headset to Linux Mint 19 (“Tara”)
* http://doc-ok.org/?p=1763 &mdash; An Illustrated Guide to Connecting an HTC Vive VR Headset to Linux Mint 19 (“Tara”)
** [https://web.archive.org/web/20210301225158/http://doc-ok.org/?p=1763 via the Wayback Machine]
** [https://web.archive.org/web/20210301225158/http://doc-ok.org/?p=1763 via the Wayback Machine]
=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 [https://tundra-labs.com Tundra Labs] sells a [https://www.tundratracker.com 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 <TT>driver_lighthouse.so</TT>
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 <TT>driver_lighthouse.so</TT>
file based on their file system.
(As most people needing this information will be running on <TT>linux64</TT>
operating systems, I've limited the table to just those files.)
{| class="wikitable"
|+ Mapping <TT>driver_lighthouse.so</TT> to Vrui versions
|-
! Vrui Version !! SteamVR version !! linux64/driver_lighthouse.so size
|-
| ?? || ?? || 2957781 bytes <!-- 001 -->
|-
| 4.6-003 || 1.2.6 || 3409653 bytes <!-- 002 -->
|-
| 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.
* [https://github.com/OSVR/OSVR-Vive OSVR's Vive Repo]
** [https://github.com/OSVR/OSVR-Docs/blob/master/Configuring/HTC-Vive.md OSVR Vive Configuration doc]
* [https://github.com/lubosz/OSVR-Vive-Libre Vive Libre interface to OSVR]

Revision as of 22:19, 28 February 2022

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.