Oculus has configured an interesting way to set up roomscale for the Oculus Rift by using multiple sensors in a room. Unlike the HTC Vive, the Oculus sensor is powered by a single USB cable. And it requires three of these sensors to make roomscale happen. So Oculus has documented a method to configure all of these sensors together through the USB port on your computer. But to optimize the bandwidth and balance the tracking data transfer load across your USB connection, they’ve come up with a detailed instruction.
Most modern computers which meet the requirement to power the Oculus in VR come with multiple USB ports (USB 2.0 and USB 3.0). The motherboard on your computer has a large number of chips on it that provide different functions. There is a USB host controller on the motherboard that controls USB devices and sends data between those said devices.
A single USB host controller almost always serves more than one USB port, but the total bandwidth available to those ports will be shared. Think of a single USB port with a four, or even eight-port hub attached. The total available bandwidth for any host controller or root hub can be something close to the following (your bandwidth can vary):
- • USB 3.0 — Total theoretical bandwidth per host controller = 5Gbps (625MB/s)
- • USB 3.0 — Total practical bandwidth per host controller = 3.2Gbps (~400MB/s)
- • USB 2.0 — Total theoretical bandwidth per host controller = 480Mbps (60MB/s)
- • USB 2.0 — Total practical bandwidth per host controller = 308Mbps (~36MB/s)
You’ll notice that USB 3.0 has significantly more available bandwidth than USB 2.0. That said, we’ve discovered some patterns while testing different USB 3.0 host controllers from various manufacturers.
Connecting more than two sensors to a single USB 3.0 host controller can cause sporadic behavioral issues and lost sensor data, which affects tracking quality and your VR experience.
Since devices connected to the same host controller in USB 2.0 mode don’t share bandwidth with USB 3.0 devices, It’s generally better to have a reliable lower-bandwidth USB 2.0 connection for your third sensor than to run three high-bandwidth USB 3.0 connections at the same time.
- • USB 3.0 — Connect a maximum of two sensors per host controller
- • USB 2.0 — Connect a maximum of two sensors per host controller
Keep in mind that the USB 3.0 maximum connected sensor recommendation is based on typical compatibility observations and is not a hard and fast rule. When you connect two sensors to a single USB host controller in USB 2.0 mode, you’ll use about 80% of the host controller’s available bandwidth. As such, connecting more than two Oculus sensors in USB 2.0 mode to a single host controller simply won’t work reliably under any circumstances.
Keep these pointers in mind when connecting sensors to your PC:
- PCs have varying numbers of host controllers, which share bandwidth across multiple USB ports.
- The max bandwidth of devices connected to a single host controller is usually about 400MB/s in USB 3.0 mode and 36MB/s in USB 2.0 mode.
- These bandwidth numbers are generally independent between USB standards, so using USB 3.0 bandwidth doesn’t reduce available USB 2.0 bandwidth on the same host controller.
- We recommend connecting a maximum of two sensors to a given host controller in either mode. Our current recommendation for the best experience is a max of two USB 3.0 and one USB 2.0 for a total of three sensors.
- Plugging a USB hub into your computer doesn’t increase the amount of available bandwidth on a given host controller, so we don’t recommend using hubs to connect sensors to your PC.
This is what Oculus has found which helps balance bandwidth between the UBS, motherboard, and Oculus sensors. Roomscale is an optional feature for the Rift VR headset unlike the HTC Vive which requires roomscale. You’ll have to purchase additional sensors from the initial purchase.