Create OpenXR device driver/custom runtime

I was wondering if there is any info/tutorial on how to create a OpenXR device driver or custom runtime? I could not find any info on this. Is this non-public info that can only be obtained by device manufacturers?

There are a couple of open source OpenXR runtimes you can dig into.

This is an advanced multi-platform runtime with support for many OpenXR extensions, its own compositor, and several devices.

This is a simple OpenXR runtime with minimal features that wraps a lower-level platform SDK for Pimax devices on Windows (otherwise Pimax only supports OpenXR through SteamVR).

Depending on what you are trying to do, a full custom runtime might not be necessary, and perhaps an API layer implementing only a subset of OpenXR is sufficient to run alongside a full OpenXR runtime.

This is a skeleton API layer to get started on overriding OpenXR APIs or to provide support for OpenXR extensions on top of an existing runtime.

Iā€™m trying to find time to extend that template and write tutorials around it to show how to create overlays, manipulate inputs and implement extensions, however I am still months away from these tutorials being public.

1 Like