mirror of
https://gitlab.com/lvra/lvra.gitlab.io.git
synced 2025-07-02 01:35:30 +02:00
101 lines
3.6 KiB
Markdown
101 lines
3.6 KiB
Markdown
---
|
|
weight: 200
|
|
title: Pairing
|
|
---
|
|
|
|
# Pairing Lighthouse Controllers or Trackers
|
|
|
|
To pair lighthouse-tracked hardware such as the Valve Index "Knuckles" Controllers,
|
|
HTC Vive Wands, HTC Vive Pro controllers, Tundra Labs Trackers or VIVE Trackers you'll
|
|
need enough receivers (generally one for each device).
|
|
|
|
Receivers can be:
|
|
- Watchman dongles (plugged in your computer, preferably not on a USB hub)
|
|
- Tundra Labs "SW"-series dongles (now discontinued) can theoretically connect
|
|
3 or even 4 (depending on the version) devices. However stability leaves
|
|
much to be desired when connecting more than 2 (respectively 3) devices.
|
|
- If you have a lighthouse-tracked HMD (e.g. Valve Index, HTC Vive, Bigscreen Beyond),
|
|
two receivers (for the controllers) are already built in.
|
|
|
|
## Assigning Trackers
|
|
|
|
After pairing Trackers, you need to assign roles to each tracker.
|
|
|
|
This can be done through SteamVR _Settings > Controllers > Manage Trackers_
|
|
|
|
Alternatively you can also edit the settings-file `$HOME/.steam/steam/config/steamvr.vrsettings` by adding the following section:
|
|
|
|
```json
|
|
"trackers" : {
|
|
"/devices/lighthouse/LHR-xxx" : "TrackerRole_LeftShoulder",
|
|
"/devices/lighthouse/LHR-xxx" : "TrackerRole_RightShoulder",
|
|
"/devices/lighthouse/LHR-xxx" : "TrackerRole_Waist",
|
|
"/devices/lighthouse/LHR-xxx" : "TrackerRole_LeftFoot",
|
|
"/devices/lighthouse/LHR-xxx" : "TrackerRole_RightFoot"
|
|
}
|
|
```
|
|
Replace LHR-`xxx` with the Serialnumber of each tracker.
|
|
Serialnumbers can be obtained (after pairing) from `$HOME/.steam/steam/config/lighthouse/lhr-xxx`
|
|
|
|
TrackerRoles are formatted `TrackerRole_<yyy>` with `<yyy>` one of:
|
|
- None
|
|
- Handed
|
|
- LeftFoot
|
|
- RightFoot
|
|
- LeftShoulder
|
|
- RightShoulder
|
|
- LeftElbow
|
|
- RightElbow
|
|
- LeftKnee
|
|
- RightKnee
|
|
- Waist
|
|
- Chest
|
|
- Camera
|
|
- Keyboard
|
|
|
|
## Pairing via SteamVR
|
|
|
|
You can follow the normal pairing process by launching SteamVR, and opening the
|
|
pairing window (in the Devices menu).
|
|
|
|
If however for some reason this does not work (in particular, if the pairing window
|
|
[does not render](https://github.com/ValveSoftware/SteamVR-for-Linux/issues/531)),
|
|
you can work around it by doing the pairing process via `lighthouse_console`.
|
|
|
|
## Pairing via `lighthouse_console`
|
|
|
|
In a terminal, launch `lighthouse_console` by running
|
|
```
|
|
~/.steam/steam/steamapps/common/SteamVR/tools/lighthouse/bin/linux64/lighthouse_console
|
|
```
|
|
|
|
### Identifying available receivers
|
|
|
|
You'll be greeted by a shell which starts by listing the serial number of attached receivers (both
|
|
dongles and built-in, if your HMD is connected).
|
|
|
|
Selecting a receiver is done by running `serial <serialnumber>` in the opened shell.
|
|
When pairing new devices, you'll want to find a receiver that isn't paired with a device already.
|
|
After a receiver is selected, you can run `identifycontroller` to check if the receiver
|
|
is paired with a device (assuming the device is on).
|
|
|
|
In general, built-in HMD receivers will have longer serial numbers than dongle
|
|
ones.
|
|
|
|
If either you want to *replace* previously paired devices (e.g. when changing
|
|
controllers) or you're struggling to identify which receiver to use, run
|
|
`unpairall`. This will unpair all lighthouse devices!
|
|
|
|
### Pairing a device
|
|
|
|
Once you have selected an available receiver with `serial <serialnumber>`:
|
|
|
|
1. Turn on your device
|
|
2. Put it in pairing mode (e.g. hold System+B for Valve controllers), the LED
|
|
should be blinking blue
|
|
3. Run the `pair` command
|
|
|
|
After a few seconds, the LED should turn green, and the device is now paired.
|
|
|
|
Do this for each device you want to pair (remember to use a different receiver
|
|
for each device), and exit the shell by running `quit`.
|