One of the most pleasant surprises during the launch of the Oculus Touch controllers was how well the platform worked while playing SteamVR games. You don’t have to do much other than calibrate the system the same way you would a Vive, and then it just works.
So how did Valve pull that off?
“Open VR,” Valve’s Joe Ludwig told Polygon. “In addition to the interface for VR applications, OpenVR also offers a driver interface that allows hardware vendors to add support for their own devices.”
It makes sense, Valve wants to get its platform on as many headsets as possible.
“This driver interface is part of the public OpenVR SDK and is completely open to anyone who wants to add support for a device,” he continued. “Valve has used that driver interface to bridge the gap between OpenVR and the Oculus SDK, which allows all Oculus devices to work with OpenVR. Many other hardware vendors, such as Razer with OSVR, have also written OpenVR drivers to get all OpenVR content on Steam or anywhere else to run on their hardware.”
The interesting part is that this still requires use of Oculus’ software; you can’t play SteamVR games without Oculus Home installed.
“Oculus Home installs the Oculus SDK runtime libraries,” Ludwig explained. “The OpenVR adapter drivers for Rift call into the Oculus’ public runtime libraries to interact with Rift and Touch hardware. Users who purchase a Rift and install Home will have the Oculus SDK runtime libraries and they will be kept up-to-date by Oculus.”
So there’s actually two pieces to this compatibility; it’s not just that Valve kept its system open to ensure OpenVR worked with different pieces of hardware, but the compatibility takes advantage of Oculus’ software and that company’s willingness to allow other companies to bring their storefronts to the Rift.