OpenXR SDK 1.1.63 (2026-09-01)
This release primarily contains a large number of new extensions,
including four new ratified extensions, and support for those through
the generated parts of API layers in the SDK. SDK-specific changes
include updates to the list_json tool.
- SDK
- Improvement: Loader: Remove duplicate null check for
outgoing_count in GetApiLayerProperties. (internal MR 4256)
- Improvement: Minor usability improvements to “list_json” tool.
(internal MR 4410, internal MR 3289)
- Improvement: Allow runClangTidy.sh to run with clang-tidy 18.
(internal MR 4433)
- Improvement: Allow runClangTidy.sh to run with
-modernize-use-scoped-lock enabled. (internal MR 4435)
- Registry
- New ratified Khronos extension:
XR_KHR_extended_result_name_lengths (internal MR 3964)
- New ratified multi-vendor extensions: XR_EXT_spatial_container,
XR_EXT_spatial_container_self_rendering (internal MR 3712,
internal MR 4472)
- New ratified multi-vendor extension:
XR_EXT_spatial_image_tracking (internal MR 3805)
- New vendor extension: XR_BD_spatial_light_estimation (internal
MR 3814)
- New vendor extension: XR_BD_camera_image (internal MR 4089)
- New vendor extension: XR_SONY_hdr_metadata (internal MR 4172)
- Change: Add new semantic definitions including keyboard, mouse,
and laptop in XrSemanticLabelBD. (internal MR 4221)
- Chore: Reserve extension numbers. (internal MR 4420, internal MR
4421)
- Fix: Missing comments for XrResult error codes added by
XR_ANDROID_google_cloud_auth, XR_ANDROID_geospatial, and
XR_ANDROID_geospatial_anchor. (internal MR 4438)
- Fix: Always output forward slashes in relative paths when
merging registry. (internal MR 4451)
GitOrigin-RevId: 37168f38244584b06fd9eeafdd7d23bd79d59503
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.