| commit | c15d38cb4bb10a5b7e075f74493ff13896e2597a | [log] [tgz] |
|---|---|---|
| author | Rylie Pavlik <[email protected]> | Wed Dec 03 17:00:38 2025 |
| committer | Rylie Pavlik <[email protected]> | Wed Dec 03 17:00:38 2025 |
| tree | 5c5bd0c8ccaf0342ef3d422f68e43d99a2735eb3 | |
| parent | 75c53b6e853dc12c7b3c771edc9c9c841b15faaa [diff] |
OpenXR SDK 1.1.54 (2025-12-02)
This release updates the C++ standards version used by the package, and
includes changes to hello_xr to bring it closer in line with the
OpenXR-CTS (which come from a shared codebase) and allow optional
submission of depth textures where supported, among other changes.
- SDK
- Change: Update C++ standard version used from C++14 to C++17.
(internal MR 4096)
- Chore: Add extra compiler validation for the OpenXR loader.
(internal MR 4086)
- Chore: Fix -Wmissing-prototypes compiler warnings. (internal MR
4107)
- Improvement: Add build option INSTALL_SYMBOLS (enabled by
default to maintain current behavior), to allow skipping
installing .PDB files from MSVC builds. (internal MR 4066,
internal issue 2634)
- Improvement: Clarify loader doc regarding removed permission
requirement for installable broker. (internal MR 4092)
- Validation Layer: Fix the library_path of
XrApiLayer_best_practices_validation.json on Windows (internal
MR 4080, internal issue 2629)
- hello_xr: Revise rendering to be more similar to the CTS, and
add optional support for XR_KHR_composition_layer_depth.
(internal MR 4023, internal MR 4118, internal MR 4121)
- Registry
- Change: Deprecate the Wayland part of XR_KHR_opengl_enable and
bump version. (internal MR 4052, OpenXR-SDK-Source issue 282,
internal issue 1634, internal issue 2559)
- Chore: Reserve extensions. (internal MR 4067, internal MR 4079,
internal MR 4098, internal MR 4099, internal MR 4100)
- Fix: Correctly define XR_EXT_dpad_binding paths for
/interaction_profiles/bytedance/pico_ultra_controller_bd in XML.
(internal MR 4049)
- Improvement: Add description for
XR_SPACE_COMPONENT_TYPE_TRIANGLE_MESH_META. (internal MR 4070)
- Schematron: Add validation to ensure bitmasks are non-plural
before Flags/FlagBits. (internal MR 2678)
- Schematron: Add validation to check additional scenarios of next
pointer const-ness. (internal MR 2740)
- Schematron: Add validation for interaction profile extension
binding additions. (internal MR 3982)
- Schematron: Remove unneeded exception from “Param/member naming
conventions: camelCase” pattern. (internal MR 4072)
- Schematron: Fix check for multiple arrays bounded by the same
len param. (internal MR 4077)
- Schematron: Add validation for the comment attribute of
XrSpatialComponentTypeEXT values. The comment must reference the
list and data structs for the component. (internal MR 4083)
- Schematron: Add validation for the comment attribute of
XrSpatialCapabilityFeatureEXT values. The comment must have
references to the feature’s config structs. (internal MR 4084)
- Schematron: Add check for orphaned structs, enforcing
structextends or parentstruct when appropriate. (internal MR
4091, internal MR 4094)
- Update: Bump XR_EXT_future version due to clarifying what the
runtime may do in a completion function of an XrFutureEXT.
(internal MR 3796, internal MR 4028)
- Update: Add XrEnvironmentDepthImageTimestampMETA to
XR_META_environment_depth, update spec version to 2. (internal
MR 4024)
GitOrigin-RevId: 0a94be6473bbd008d2073b29a7964521c646cec6
This repository contains OpenXR headers, as well as source code and build scripts for the OpenXR loader. It contains all generated source files and headers pre-generated for minimum dependencies.
The authoritative public repository for this project is located at https://github.com/KhronosGroup/OpenXR-SDK.
The public repository containing the scripts that generate the files in this repository is located at https://github.com/KhronosGroup/OpenXR-SDK-Source. It hosts the public Issue tracker, and accepts patches (Pull Requests) from the general public. That repository is also where sample code (hello_xr) and API layer source can be found.
Note that this repo is effectively read-only: changes to this repo should be made in the OpenXR-SDK-Source repo instead
BUILDING.md - Instructions for building the projectsREADME.md - This fileCOPYING.md - Copyright and licensing informationCODE_OF_CONDUCT.md - Code of Conductexternal/ - External code for projects in the repoinclude/ - OpenXR header filessrc/external/jsoncpp - The jsoncpp project source code, an included dependency of the loader.src/loader - OpenXR loader code, including generated codeThe project is set up to build using CMake.
By default, the OpenXR loader is built as a static library on Windows and a dynamic library on other platforms. To specify alternate behavior, define the CMake option DYNAMIC_LOADER, e.g. by adding -DDYNAMIC_LOADER=ON or -DDYNAMIC_LOADER=OFF to your CMake command line.
Building the OpenXR components in this tree on Windows is supported using Visual Studio 2013 and newer. Before beginning, make sure the appropriate “msbuild.exe” is in your PATH. Also, when generating the solutions/projects using CMake, be sure to use the correct compiler version number. The following table is provided to help you:
| Visual Studio | Version Number |
|---|---|
| Visual Studio 2017 | 15 |
| Visual Studio 2019 | 16 |
| Visual Studio 2022 | 17 |
Specific sample command lines for building follow. If you're already familiar with the process of building a project with CMake, you may skim or skip these instructions.
First, generate the 64-bit solution and project files using CMake:
mkdir build\win64 cd build\win64 cmake -G "Visual Studio [Version Number] Win64" ..\..
Finally, open the build\win64\OPENXR.sln in the Visual Studio to build the loader.
First, generate the 32-bit solution and project files using CMake:
mkdir build\win32 cd build\win32 cmake -G "Visual Studio [Version Number]" ..\..
Open the build\win32\OPENXR.sln in the Visual Studio to build the loader.
The following set of Debian/Ubuntu packages provides all required libs for building for xlib or xcb with OpenGL and Vulkan support.
build-essentialcmake (of somewhat recent vintage, 3.10+ known working)libgl1-mesa-devlibvulkan-devlibx11-xcb-devlibxcb-dri2-0-devlibxcb-glx0-devlibxcb-icccm4-devlibxcb-keysyms1-devlibxcb-randr0-devlibxrandr-devlibxxf86vm-devmesa-common-devSpecific sample command lines for building follow. If you're already familiar with the process of building a project with CMake, you may skim or skip these instructions.
mkdir -p build/linux_debug cd build/linux_debug cmake -DCMAKE_BUILD_TYPE=Debug ../.. make
mkdir -p build/linux_release cd build/linux_release cmake -DCMAKE_BUILD_TYPE=Release ../.. make
Building the OpenXR components in this tree on macOS is supported using Xcode 14.0 and newer. You may need to install Xcode Command Line Tools and cmake.
First, generate the Xcode project file using CMake:
mkdir -p build/macos cd build/macos cmake -G "Xcode" ../..
Finally, open the build/macos/OPENXR.xcodeproj in Xcode to build the samples.