About OpenXR runtimes

As an OpenXR runtime, Monado consists of various components necessary to implement the OpenXR API:

Device drivers and runtimes

OpenXR runtimes are called runtimes and not just drivers because they have a bigger scope than typical drivers. Whereas drivers are thought of to provide a rather low level abstraction to the hardware, runtimes can provide quite a bit of extended functionality. For example runtimes will often provide some means of interacting with the system while no VR application is running, like a 3D environment that allows managing and starting VR applications. Runtimes can also allow multiple VR applications to run at the same time, either switching between two applications or rendering applications composed on top of each other.

An example of a typical VR headset driver is OpenHMD. You can read more about what OpenHMD is and what it does here. The not yet released OpenXR “device plugins” will also have a similar scope of device drivers.

What OpenXR runtimes provide

OpenXR runtimes provide standardized access to the resources of XR hardware. An incomplete list of input and output data OpenXR runtimes provide and process:

Monado handles direct mode and extended mode similar to SteamVR. That is, if direct mode is available for a currently connected HMD, it will automatically be used. If the graphics drivers are set up for extended mode, the Monado compositor will automatically start in extended mode.

What Monado does not provide