OpenXR for Spatial Displays

Write once. Run on any spatial display. DisplayXR is an open platform for spatial displays — OpenXR extension specifications, a reference runtime, and reference implementations — for tracked stereo and multiview lightfield 3D, portable across engines, graphics APIs, and vendor hardware.

The Problem

Spatial displays deserve a common interface

OpenXR standardized how applications talk to headsets and controllers. But a growing category of spatial displays — tracked spatial display monitors, laptops, and related systems — has no equivalent.

Today, every vendor ships its own SDK with its own compositor, its own rendering path, and its own way of handling eye tracking and display geometry. Developers who want to target multiple displays must write and maintain separate integrations for each.

The result is fragmentation: duplicated effort, inconsistent behavior, and a higher barrier for both developers and vendors entering the space.

Without a standard, one app needs five separate SDK integrations for five displays; with DisplayXR, the same app hits one OpenXR target and runs on any display.

What DisplayXR Provides

A practical stack for tracked spatial displays

Runtime

A full OpenXR runtime with native compositors for every major graphics API — no interop layers required.

Extension Specs

Custom OpenXR extensions for display info, window bindings, and spatial display capabilities not covered by standard OpenXR.

Native Compositors

Per-graphics-API compositors (D3D11, D3D12, Vulkan, Metal, OpenGL) that avoid cross-API translation overhead.

Engine Integrations

Unity plugin shipping with UPM support. Unreal plugin in beta (UE 5.7). Standard engine workflows, no custom forks.

Vendor Plug-ins

Two independent plug-in types, discovered at startup, neither touching app code: a display processor for vendor-specific weaving, interlacing and calibration, and an input provider that surfaces tracked motion controllers, hands, or trackers into the standard OpenXR action system.

Workspace Extensions

XR_DXR_spatial_workspace + *.displayxr.json launcher manifests — a documented surface for swappable workspace controllers that compose multi-app 3D layouts, drive window placement, and surface launcher tiles. The DisplayXR Shell is the reference; OEMs, vertical integrators, kiosks, and AI-agent drivers can ship their own.

Who is this for?

Three audiences, one stack

DisplayXR is layered so app developers, contributors, and display vendors can each pick up exactly the part they need without forking the rest.

Shipping a finished 3D-display product?

OEMs and vertical integrators (laptops, monitors, kiosks, CAD / medical / automotive HMIs) can ship the bare runtime, the reference DisplayXR Shell, or their own workspace controller built on XR_DXR_spatial_workspace — and embed displayxr-mcp to expose the same surface to an AI agent.

Architecture & workspace controllers →

The Ecosystem

More than a runtime

DisplayXR is developing as a full ecosystem — runtime, extensions, engine plugins, projection math, demos, and reference workspace controllers.

See it running

The DisplayXR Gallery is a live gallery of 3D photography: a curated set of stereo captures, woven natively in the DisplayXR Browser and degrading to a cursor-driven parallax preview in any other browser. It doubles as the reference for how an inline-3D page should behave — the same page serves both, with no separate 3D build.

Every photo carries per-eye depth, so a Depth view can turn any shot into its own depth map. On a 3D display that view stays dimensional rather than flattening into a picture of a depth map — which is the difference the format is for.

Core

Engine Plugins

Libraries

displayxr-common

Shared math and common library — off-axis (Kooima) projection, atlas tiling, and window/canvas helpers consumed by the runtime, engine plugins, and demos from a single source of truth.

displayxr-mcp
Active

Tiny embeddable Model Context Protocol server framework, plus the DisplayXR MCP Tools installer that end users download to opt in to AI-agent / voice control. The framework lets the runtime, the reference shell, and any third-party workspace controller expose live spatial state and control to AI agents (Claude Code, voice CLIs, custom drivers); the installer writes a registry capability flag the runtime and shell read at startup.

displayxr-vendor-template
Early

Vendor-neutral starter kit for building a DisplayXR display-processor plug-in — the ABI, discovery, and build scaffolding a new 3D-display maker needs, with no vendor SDK required. Fork it to bring up a plug-in against the sim_display path, then swap in your own weaver.

displayxr-cef-host
Experimental

The original proof that XR_DXR_weave works — not a browser to use, which is DisplayXR Browser. A small CEF (Chromium Embedded Framework) offscreen-render app that hands the runtime a stereo texture and a window rect and composites the weaved result; it never weaves itself. Kept as the smallest worked example of driving the weave from your own present-owner without forking Chromium, and because it builds in minutes where the browser fork takes hours. Note that it is pinned to weave spec v1 while the runtime is on v6, so it does not exercise batched submit, the 2D overlay atlas, or N-view input — treat it as a starting point to read, not a current conformance harness.

Demo Applications

displayxr-demo-gaussiansplat
Active

Real-time 3D Gaussian Splatting viewer (.spz / .ply) for spatial displays. Windows, macOS, Linux, Android.

displayxr-demo-modelviewer
Active

Glasses-free 3D glTF 2.0 PBR model viewer (OpenXR + Vulkan). Drag-and-drop a .glb / .gltf model. Windows, macOS, Linux, Android.

displayxr-demo-mediaplayer
Active

Spatial media player — stereo photos, GPU-decoded video with synchronized audio, and folder slideshows, with playback controllable by AI agents. Windows, macOS, Linux, Android.

displayxr-demo-avatar
Active

A transparent, click-through 3D avatar that floats over your desktop (OpenXR + native Vulkan) — weaved in 3D with a flat 2D speech bubble beside it, and clicks passing through to whatever is behind. Showcases the see-through transparency and mixed 2D/3D display-zone path, now with live desktop content composited under the weave on all four platforms.

displayxr-demo-earthview
Beta

Streaming glasses-free 3D city viewer on Google Photorealistic 3D Tiles (OpenXR + Vulkan). Fly the full-scale world camera-style, or double-click to frame a neighborhood as a tabletop diorama. Requires a Google Map Tiles API key.

displayxr-web
Experimental

Inline-3D web samples and the JS helper library for the DisplayXR Browser — the DisplayXR analog of the webxr-samples gallery, served via GitHub Pages.

displayxr-gallery
Active

A social gallery of side-by-side 3D photography — woven natively in the DisplayXR Browser, with a cursor-driven parallax preview everywhere else. The working reference for how an inline-3D page should behave. Public mirror for feedback and issues; the site is live.

Workspace Controllers

Why Now

Spatial computing is not headset-only

Spatial computing is still largely framed around headsets. But spatial displays are becoming a real category — tracked spatial display monitors, laptops, and Android devices are already shipping from Samsung, Acer, Lenovo, ZTE, and Barco, with more vendors on the way.

These devices need a common interface layer. Without one, the ecosystem fragments before it has a chance to grow. DisplayXR brings that missing layer, so developers and hardware vendors can build against a shared interface rather than isolated SDKs.

The end goal is not a parallel standard — it's the standard. The 3D-display extensions ship under the project's own DXR author tag, registered with Khronos in July 2026, and are designed to be upstreamed as cross-vendor KHR extensions — with DisplayXR as the open reference implementation, validated against the official OpenXR conformance suite on every release. An app written once runs on any spatial display, exactly as OpenXR did for headsets.

Recently Shipped

What’s new

All updates

Start building for spatial displays

DisplayXR works in simulation mode — no hardware required. Read the docs, explore the demos, or dive into the source.