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)20/12/2024
The Rockchip RK3588 upstream support has progressed a lot over the last few years. As 2024 comes to a close, it is a great time to have…
09/12/2024
Collabora will be at NeurIPs this week to dive into the latest academic findings in machine learning and research advancements that are…
05/12/2024
Now based on Debian Bookworm, Apertis is a collaborative OS platform that includes an operating system, but also tools and cloud services…
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