Skip to content
PumkinSpice edited this page May 27, 2023 · 69 revisions

Intro

For more information and troubleshooting setup, please see the Mixed VR subreddit. This guide was written by PumpkinSpice and edited by monstermac77.

Much of this was originally adapted from here: https://github.com/pushrax/OpenVR-SpaceCalibrator/wiki/Oculus-Rift--&-Vive-Trackers-setup -- I just reworked them to be more specific to WMR, and just a tad more details to answer questions many people will have as they set up. Many thanks to Pushrax and the whole space cal dev team for doing all this work to begin with!

The most up to date video instructions can be found on Tapping's Youtube, if you do better with video (and he provides a bunch of other great resources)! After following that, come back here to see how to set up Advanced Settings for better (and essential) SteamVR integration.

MRTV did a video guide based on my original instructions. Can't not give him a shout-out as the first to do this!

Note: this guide will always have the most up to date instructions! SteamVR is constantly updating and causing new behaviors and issues and editing a text document is always faster than new videos. I try and update as soon as there is a change: sometimes it takes a few weeks, but nearly always faster than video! Before asking questions, PLEASE see the Troubleshooting FAQ.

Calibrating with Index controllers (and Vive trackers)

Prerequisites:

  • At least 1 lighthouse (1.0 or 2.0)
    • 1 lighthouse gives you just front-facing tracking and 2 gives you full 360
  • 2 Index controllers
  • Two tracking dongles
    • For up to date info on where to get the tracking dongles, click here. If you have a Vive, Cosmos Elite, or Index HMD already, it can be plugged in to just USB and power and used in place of two dongles. You can also use the dongles from Vive trackers if you have those (though then you can’t use trackers and index controllers at the same time, of course!)

Steps:

  1. Have your WMR all set up with the WMR portal, controllers and all. Set up for room scale. Install SteamVR as well as Windows Mixed Reality for SteamVR from Steam (do not run either yet though!). Make sure the tracking is solid. If your WMR tracking isn’t good, you’ll have drift when combined with external tracking. Some general tips: your room lighting should be good, but from ‘non natural’ sources. Sunlight shouldn’t be coming in from windows and make sure there’s nothing reflective in the room. Make sure your walls/floor aren’t all one plain color and are different enough from each other. When you first set up for room scale and it asks you to center, try and get a good 'anchor point' in your room. Something that is big and high contrast and won't move.
  2. In steamVR, make sure the chaperone it brings in (it uses the one you set up with WMR) matches what you set up.
  3. Exit out of all VR – SteamVR and WMR portal. Steam itself also.
  4. Set up your lighthouses. If you’re using just 1 1.0, it needs to be on channel A. If using 2 1.0 they need to be on channels B&C. Channel doesn’t matter for 2.0 lighthouses, but each one needs to be on a different channel. Note the lighthouses do not connect to the PC in any way: they only need to be powered up and pointing at the playspace (and looking at each other if version 1.0). IMPORTANT: Do NOT attempt to update your lighthouses! This WILL brick them!
  5. Install OpenVR Space Calibrator (has to be AT LEAST version 1.1)
  6. Plug in ONE dongle into a USB 2.0 port, or make sure your ‘other HMD’ is plugged into power & USB only. Only USB 2.0 ports should be used for dongles, since USB 3.0 ports cause interference with the 2.4GHz wireless band that the dongles communicate to the controllers on.
  7. Start SteamVR.
  8. In the steamVR status window (the one that opens on the desktop, not in VR), go menu->devices->pair controller
  9. It should come up with a screen that asks which kind of device you want to pair. If it doesn’t, space calibrator didn’t install correctly. We’re going to assume here that it did.
  10. Follow the instructions for the first controller. Once you're done, click "done" not "pair another controller". Then (if you’re using dongles rather than another HMD) turn off the controller, unplug the dongle, and plug another dongle into a different USB port (ideally as far away from the other dongle as possible to avoid interference). If you’re using an HMD just leave the controller on. Then repeat steps 8-9 for your second controller.
  11. Now plug the other dongle back into the first USB 2.0 port and turn on the first controller. Your status window should show the controllers and lighthouses. If the lighthouses don’t show up or you keep seeing them appear and disappear, it’s likely they’re on the wrong channels. Again we’ll assume all is good.
  12. Exit out of steamVR.
  13. Go back into SteamVR, this time wearing the HMD and with your WMR controllers on. Once loaded into home, bring up the SteamVR menu and there should be a small button on the bottom left that brings up space calibrator. If it bring up a blank screen that’s a GPU issue. We’re again assuming it comes up as it should. Click ‘copy chaperone bounds’ on the bottom of the space calibrator menu
  14. Turn on one Index controller.
  15. On the space calibrator screen, the left side should show your WMR devices and the right side should show your lighthouse devices. Both sides have a drop-down menu and sometimes you have to manually pick the universe you want to use from there. Pick a WMR controller on the left and an index controller on the right. You should probably pick the same ‘hand’ (there’s an ‘identify’ button that makes the controllers you’ve picked vibrate).
  16. With the WMR and Index controller you’ve picked in the same hand (and make sure the tracking rings on the WMR controller and the sensor arc on the Index controllers aren’t occluded from the HMD or lighthouses), choose "Very slow calibration" (if this is your first time), and then click "Start Calibration". Now start slowly moving the hand holding both controllers around in a figure 8 pattern, back and forth and in and out. The HMD needs to be able to see the WMR controller while doing this so don’t swing wildly or like over your head or behind your back. After 30-40 seconds the index controller should pop into place over the WMR controller and the space calibrator window should read ‘calibration complete’.
  17. At this point you’re all calibrated and it should save! You only need to and should only "calibrate" one controller (this is because you're not actually calibrating controllers, you're calibrating the WMR and SteamVR play spaces using a controller). It is likely only one of the controllers shows up when outside of the steamVR menu. Just exit out of steamVR, turn off your WMR controllers, and go back into SteamVR with your index controllers on. Both should now show up where they should.
  18. Now we’re ready to go on to disabling the WMR bounds in favor of the SteamVR chaperone!

Using SteamVR chaperone instead of WMR bounds

Prerequisites:

Note: Without doing these steps some of your games will not work properly! Some you will have to run from the desktop first or get an error, and some just don't work at all and you just get a grey screen. Alternatively installing Stop Sign VR and enabling 'grey screen fix' will also fix these incompatibilities... but of course that's not free.

Steps:

  1. In space calibrator, uncheck ‘paste chaperone bounds automatically’

  2. In OpenVR advanced settings (it's also an add-on, so you can find it next to space calibrator), have the following options checked in the settings section:

    • Allow external edits
    • Force use SteamVR chaperone bounds (experimental)
  3. Restart SteamVR (exiting out, then turning on the Index controllers should start it back up)

  4. On restart, SteamVR’s room calibration menu should run.

  5. Set it up, and you’ll get put in SteamVR home afterward. You should have a steamVR chaperone like you would with a native SteamVR HMD! Note that sometimes WMR rotates the playspace it sends to SteamVR by 90 degrees. To fix this temporarily, you can use the "Offset" tab of OpenVR Advanced Settings.

  6. In the Advanced Settings menu, click on the ‘chaperone’ tab.

  7. Click ‘new profile’ and check off everything to save it to that profile.

  8. Name it, click ‘save’ and from then on if something messes up, you should be able to just click on that profile to get everything back.

  9. Now you can open up Windows Mixed Reality Portal on your PC and switch "Room boundary visuals" to the off position, so long as you only plan to use SteamVR and not WMR.

  10. That’s it! You should be good from now on. Each time you start VR, just turn on the Index controllers and you'll be launched into SteamVR (completely bypassing WMR), so essentially you have a fully native SteamVR experience.

  11. Optional: With all of this set up, there will still be a few QOL annoyances: among other things, room setup will always pop up once it’s forced enabled. For stopping room setup and also other QOL things, try byancey's reverb G2 configuration manager. This is specifically for the G2 and especially for swapping between the G2 and other HMD's, but should be fairly straight-forward to adapt to your specific situation.

Troubleshooting:

  • I am trying this with OG Vive wands but they are never seen. This guide is for use with Index controllers. You can use it for Vive wands but they only work in conjunction with OG (version 1.0) lighthouses!

  • My controllers won’t calibrate/I get the message ‘calibration failed’ or similar. This usually indicates your lighthouses aren’t on the correct channels/there’s a channel/mode conflict. 1.0 lighthouses tell you their channel on the physical lighthouse or you can hover over them in the steamVR status window, and 2.0 lighthouses will show if you hover over them on the steamVR status window. To change the channels, on 1.0 lighthouses there’s a small button on the back you can press (one should be on B and one on C) and on the 2.0 lighthouses there’s a small pinhole you have to use a pin to press (just press one of them a couple times while it's on and the channel conflict should resolve itself - it takes a minute or so for them to update and sync).

  • The lighthouses don’t show up on the steamVR status window. The lighthouses do not show up until you have paired and are tracking at least one index controller. If They don’t show up after or keep appearing/disappearing there is either a channel conflict (see above) or you have a large enough occluded spot the lighthouses lose ‘sight’ of the controllers.

  • The lighthouses are in the wrong place in steamVR vs real life. This is normal. Some experimentation has shown that once you set up a proper steamVR chaperone, they will usually move closer to the correct place.

  • I get the message ‘bluetooth not found’. This is normal! SteamVR is looking for the Bluetooth built in to Vive and Index HMDs. It’s only used for power saving features (turning the lighthouses on/off automatically). You can take a look at these scripts that monstermac77 made that will automate the startup/shutdown of your lighthouses: https://github.com/monstermac77/vr#MixedVR-Manager

  • My controllers are going nuts. This can be caused by USB 3.0 and/or 2.4Ghz radio interference. I’ve found plugging the dongles into 2.0 ports instead of 3.0 ports usually fixes the issue. It also helps to put them on extensions and bring them away from each other and closer to your playspace.

  • My playspaces keep drifting apart. This is usually caused by the HMD losing tracking of its playspace and then over/under correcting when it finds it again. Usually just a quick recalibration fixes it (you can use the HMD for quick recalibration so you don’t have to dig out the WMR controllers – the drift usually isn’t bad enough that you can’t use the index controllers to select the HMD for calibration and then clicking the ‘calibrate’ button with one Index controller pressed to the HMD. Just don’t cover the HMD cameras while doing this!). If it happens often you need to do a good analysis of your playspace and make sure there’s nothing that would confuse the HMD. There is also an experimental build here that introduces a 'continuous calibration' mode for those with an extra tracker to use! Note: as an experimental build, there may be bugs! Please report any to the author!

  • My controllers are in the correct position in the center of my playspace, but drift as I move Your scale factor may be off. We are unsure of the exact cause, but try using version 1.4 which includes an experimental scale factor adjustment. You can find a quick guide to using this in this reddit comment from the patch author.

  • Space calibrator won’t load and I get an exe error on starting SteamVR. Make sure add-ons aren’t being blocked and/or you’re not in ‘safe mode’ on SteamVR. This is checked by going to the ‘startup/shutdown’ section of SteamVR settings (‘choose startup overlays’ and ‘manage addons’)

  • I don’t have the option to pair controllers after installing space calibrator, but space calibrator does start up and my dongles are plugged in. Sometimes space calibrator doesn’t write to VRsettings as it should. This usually happens if steam was open when you installed it. You can either tell Advanced Settings to allow multiple drivers if you’ve already installed that, or manually set it in vrsettings. This is found in: SteamInstallPath/config/steamvr.vrsettings - add this line under under "steamvr" : { :

    "activateMultipleDrivers" : true,

  • My space calibrator window and/or OpenVR advanced settings window is blank in VR. This is caused by the wrong GPU being selected for the program. See https://i.imgur.com/U6sdPsd.png (note: some people have reported this still doesn’t help space calibrator. In that case you can do all of the calibrating outside of VR from the window that opens on the desktop. It’s just a bit more difficult to make sure you’ve got everything lined up, but can still be done!)

  • Known Bug: Whenever you start SteamVR, the room setup will want to run. You should use MixedVR Manager to automatically close room setup when SteamVR starts. This should be fixed eventually in OpenVR Advanced Settings.

FAQ

  • I think I messed something up. How do I start from scratch? You'll want to simply to reset the following:
  • Can I do this with other HMD's? Yes: the original instructions from the Space Calibrator team are for the Vive trackers with Rift CV1 and can be adapted for any PCVR HMD. This includes the Oculus Quest and Quest 2, through either Virtual Desktop or with Oculus Link. Note it IS a little more tricky for Quest and Quest 2. Over link it requires a recalibration each time SteamVR is started or the HMD wakes from sleep. On VD there is a mode that keeps it centered - staged tracking. Use this, and also be sure to force a proper steamVR chaperone so your playspace keeps stable. Use of this with other HMDs such as google cardboard or Oculus Go along with Riftcat/Vridge has not been tested as far as I know but should be theoretically possible! Please let me know if you have tested such a setup.

Other Resources

The space calibrator github has an extensive FAQ and troubleshooting section for anything not covered here: https://github.com/pushrax/OpenVR-SpaceCalibrator/wiki/Troubleshooting-and-FAQ