Extensions
Custom OpenXR extensions that enable tracked spatial display capabilities not covered by the base OpenXR specification.
Why custom extensions?
Standard OpenXR was designed for headsets and controllers. Tracked glasses-free 3D displays have different requirements: they need to communicate display geometry, support window-hosted compositing, and provide spatial display models that don't map to existing OpenXR concepts.
DisplayXR defines focused extensions to fill these gaps while remaining compatible with the OpenXR architecture and extension model. The goal is practical interoperability, not a competing specification.
Current Extensions
XR_DISPLAYXR_display_infoShippingDisplay Info
Provides applications with spatial display geometry, resolution, and capabilities. Lets apps query display properties needed for correct off-axis projection and view configuration.
XR_DISPLAYXR_win32_window_bindingShippingWin32 Window Binding
Allows applications to bind an existing Win32 HWND to the DisplayXR session. The runtime composites into the application's own window rather than creating a separate one.
XR_DISPLAYXR_cocoa_window_bindingShippingCocoa Window Binding
macOS equivalent of the Win32 window binding. Binds an NSView to the session for compositor output into the application's window.
Extension philosophy
- ●Minimal scope — each extension does one thing well. No monolithic specs.
- ●OpenXR-compatible — follows the standard extension registration and dispatch model.
- ●Vendor-independent — designed for any tracked spatial display, not tied to a specific hardware vendor.
- ●Explicitly versioned — specs evolve through clear versioning so apps and runtimes can negotiate capabilities.
All extension specifications and headers are in the displayxr-extensions repository.