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 spatial 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.

Tracked off-axis projection: an asymmetric frustum from the tracked eye position to the corners of the fixed display plane, recomputed every frame as the eye moves, so rendered content reads as depth behind the glass.

Display capability

What the runtime tells apps about the 3D display they're rendering on.

Rendering & projection

How an app drives the runtime's view math and tells it which parts of the window are 3D versus flat 2D — instead of re-implementing the projection or 2D/3D compositing itself.

App window binding

How an app hands its native window to the runtime so the compositor can output into it.

Workspace controller surface

How a swappable workspace controller (the DisplayXR Shell, or any third-party / OEM / vertical equivalent) drives multi-app composition and the launcher on top of the runtime.

Agent control

How applications plug into the AI-agent surface — exposing their own actions to agents and voice drivers through the same MCP framework the runtime and workspace controllers use.

Capture

Getting the composed 3D frame back out of the runtime — for screenshots, recording, and dataset generation.

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.

Where to next