Jakob Bornecrantz
February 15, 2021
Reading time:
We are pleased to announce that Monado now provides an officially conformant OpenXR implementation. The official listing of conformant OpenXR 1.0 implementations now includes Monado, based on running the OpenXR conformance test suite on a "simulated" device.
Note that the OpenXR 1.0 conformant status applies only to the simulated device. Anyone building a product using Monado with non-simulated hardware still needs to go through the full, normal adopter and conformance process for that product in order to claim OpenXR conformance and take advantage of the benefits. This resembles the situation with Mesa: though Mesa implements numerous Khronos APIs, not all API and driver combinations are formally conformant, and hardware vendors have the responsibility to follow the adopter process and submit conformance results.
Among other benefits of official adoption, this conformance result and adoption allows the Monado project to use the OpenXR word and logo trademarks to describe its feature set. This recognizes publicly that the Monado open-source project truly does implement OpenXR as specified.
In recognition of this conformance status, we have made our first proper release version, and have moved away from the pre-release 0.X.Y version series that we used before. This first officially conformant release is known as 21.0.0, rather than 1.0.0. Common SemVer conventions mainly address API stability. However, since the only public API to Monado is through the externally-maintained OpenXR specification, a standard SemVer number for Monado would remain at major version 1 for a long time despite advancements in the project.
Instead, we decided to follow the versioning model of fellow FreeDesktop.org project, Mesa: a hybrid of SemVer and date-based versioning. Monado version numbers going forward will take the form MAJOR.MINOR.PATCH, where the first component (MAJOR) is the last two digits of the year in which the branch was made. The MINOR and PATCH follows the SemVer conventions. The MINOR version component is incremented for each release branch made through the year, and the PATCH component is incremented for each release from that branch.
From its inception, Valve's SteamVR runtime has allowed hardware vendors, developers and hobbyists to add hardware support with an officially supported OpenVR driver SDK.
Monado now comes with a SteamVR driver that allows using any of Monado's HMD and controller drivers to be used inside SteamVR. Information on how to set up the SteamVR driver can be found on our website.
We will be talking about the SteamVR driver in a later blogpost.
Note: In the changelogs below, xrt refers to the Monado-internal XR Run Time API used for communication between modules.
xrt_binding_profile struct, related pair structs and fields on xrt_device to allow to move the static rebinding of inputs and outputs into device drivers. This makes it easier to get a overview in the driver itself which bindings it can bind to. (!587)xrt_system_compositor, it is basically a analogous to XrSystemID but instead of being a fully fledged xrt_system this is only the compositor part of it. Also fold the prepare_session function into the create native compositor function to simplify the interface. (!652)XRT_FORMAT_BAYER_GR8 format. (!665)VkSwapchain. Introduce comp_target and remove comp_window, also refactor vk_swapchain to be a sub-class of comp_target named comp_target_swapchain, the window backends now sub class comp_target_swapchain. (!599)vk_create_device now takes in a list of Vulkan device extensions. (!605)04/12/2025
Collabora is headed to Tokyo for the Linux Plumbers Conference! Join us for our talks exploring stability for Rockchip boards, the latest…
03/12/2025
In the latest Linux kernel release, Collabora’s engineering team delivers multiple contributions including Tyr, a Rust driver for CSF-based…
27/11/2025
Collabora will be at Embedded Software Engineering Kongress! Catch our talk as we share our expertise in training large open source models.
Comments (2)
Richard Martin:
Oct 19, 2022 at 04:59 PM
Are Android binaries available somewhere? I wanted to test the Khronos OpenXR loader for Android with a phone.
Reply to this comment
Reply to this comment
Jakob Bornecrantz:
Oct 19, 2022 at 06:00 PM
You can get them from the CI here https://gitlab.freedesktop.org/monado/monado , you will also need the broker and a application to to test with. We are working on a blogpost that will be released in a month or two that will tell you more exactly how to test it.
Reply to this comment
Reply to this comment
Add a Comment