Jakob Bornecrantz
February 15, 2021
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)19/02/2021
Two months ago we announced a first proposal for a Wayland driver for Wine, the compatibility layer for Windows applications. Here's an…
17/02/2021
The first kernel release of 2021 brings a number of highlights contributed by Collaborans, including the new Syscall User Dispatch mechanism,…
15/02/2021
Monado, the OpenXR runtime for Linux, is now officially conformant! In recognition of this milestone, a first major release version of the…
Comments (0)
Add a Comment