An XR runtime is a software package which provides XR applications with access to XR platforms and devices. It can also implement functionality. Examples include the Oculus runtime and the SteamVR runtime. An XR runtimes can provide XR applications with a variety of interfaces with which to interact with them, which might conform to a standard such as OpenXR or OpenVR.
Runtime Name | OpenXR Support | OS Support | Download Packages |
---|---|---|---|
Oculus Runtime
Yes
Windows 10
Current version only downloadable through Oculus client. Legacy versions available on https://developer.oculus.com/downloads/package/oculus-runtime-for-windows/
SteamVR
Yes
Windows 7 (SP1)
Windows 8.1
Windows 10
Can only be downloaded through Steam (see Archiving XR Runtimes).
Monado
Yes
Linux
Source code available from GitLab, build packages available for Debian and Ubuntu.
OpenXR is an open, royalty-free standard for APIs that provide XR applications with access to XR platforms and devices. This is implemented in the XR runtime software supplied by the manufacturer of XR hardware. Application support for OpenXR is potentially useful for preservation purposes — as it is a open standard, which will make keeping software available that
OpenXR is developed by a working group managed by the Khronos Group consortium, who describe it as follows:
OpenXR is an API (Application Programming Interface) for XR applications. XR refers to a continuum of real-and-virtual combined environments generated by computers through human-machine interaction and is inclusive of the technologies associated with virtual reality (VR), augmented reality (AR) and mixed reality (MR). OpenXR is the interface between an application and an in-process or out-of-process "XR runtime system", or just "runtime" hereafter. The runtime may handle such functionality as frame composition, peripheral management, and raw tracking information.
Optionally, a runtime may support device layer plugins which allow access to a variety of hardware across a commonly defined interface.
— https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html
Up until the arrival of OpenXR, support for each manufacturers API would have to be built into the XR applications if they were to be used.OpenXR attempts to solve the problem of compatibility between XR applications and XR hardware. Image source: https://www.khronos.org/openxr/.
In order to make use of OpenXR, you need to:
Develop software which supports — see Engine Implementations below.
Make use of an XR platform which supports it — see XR Runtime Implementations below.
OpenXR is steadily being adopted by XR platforms, as they build support into their XR runtime software. The table below lists the XR runtimes which currently support OpenXR.
XR Runtime
Versions Supporting OpenXR
Platform
Oculus
v19+
SteamVR
Engine
Versions Supporting OpenXR
Supported Runtimes
Unreal Engine 4
4.27 (via plugin); 4.23-4.26 (via beta plugin)
Windows Mixed Reality; Oculus (via Oculus OpenXR plugin); SteamVR (via SteamVR Beta opt-in)
Unity
2020.2+ (via plugin)
Windows Mixed Reality; HoloLens 2