Roadmap
Development milestones and upcoming work for the DisplayXR runtime and ecosystem.
Done
Monado fork focused on spatial displays
Forked from the Monado OpenXR runtime, removed VR and headset-specific code, and refocused the codebase entirely on spatial displays
Native compositors for every major graphics API
Dedicated compositor implementations for D3D11, D3D12, Metal, OpenGL, and Vulkan — no cross-API translation layer required
Custom OpenXR extensions
Extensions for querying spatial display geometry, rendering modes, eye tracking, and binding compositor output to application windows on both Windows and macOS
Unity plugin with sample scene
UPM package for Unity with a working sample scene to get started quickly
Unreal Engine plugin (beta)
Initial release of the Unreal plugin for UE 5.3+ on Windows, macOS, and Android — eye-tracked Kooima stereo, camera- and display-centric rigs, Blueprint components, material expressions, and zero-copy atlas handoff
Standard OpenXR app compatibility
Apps built against the standard OpenXR API work with DisplayXR without modification
Multi-app compositing
Runtime support for compositing multiple applications into a single spatial scene — D3D11, D3D12, Vulkan, and OpenGL apps running simultaneously
Spatial desktop shell
A 3D window manager built on the runtime — spatial windowing, window chrome, layout presets, Z-depth, rotation, persistence, and 8 layout modes including Theater, Carousel, and Expose
2D app support
Standard desktop applications captured as flat panels in 3D space via Windows.Graphics.Capture, with auto-adoption of visible windows and head-tracked parallax
Focus-adaptive rendering
Display automatically switches between 2D and 3D mode based on the focused app type — 2D apps get full-resolution flat rendering, 3D apps get stereo with interlacing
App launcher, graceful exit, and lifecycle
Spatial app launcher with 3D icon tiles, system tray integration, registered apps config. Graceful exit restores captured windows to original desktop positions
3D screenshot and capture
Capture stereo atlas frames via hotkey (Ctrl+Shift+C) or IPC — full-resolution SBS output before display-specific processing, with JSON sidecar metadata
AI-native runtime control (MCP)
Live spatial state and control exposed to AI agents over the Model Context Protocol — introspect stereo projection, capture frames, arrange windows in 6-DOF, save/load workspaces, all via natural language. Framework extracted to displayxr-mcp (May 2026) so the runtime, the reference shell, and any third-party workspace controller can embed the same agent surface
WebXR Bridge
Chrome extension plus local bridge giving browser WebXR apps the full DisplayXR surface — display info, rendering mode switching, tracked eye poses, HUD overlay, and input forwarding. Ships with a three.js reference sample and a standalone minimal starter; falls back gracefully to standard WebXR when the extension isn't installed
Workspace controller surface
XR_EXT_spatial_workspace and XR_EXT_app_launcher headers shipped, controller registration via Windows registry contract, shell extracted to its own repo as the reference implementation. Any third-party (OEM, vertical, kiosk, AI-agent driver) can ship a workspace controller with the same first-class authority
Multi-compositor performance pass
Cross-process D3D11 fence to move sync off the render thread, capture-thread as the sole workspace-render driver (3.2× per-cube fps), and vendor 3D-state poll caching (37→59 fps per cube to hit 60Hz P0)
Now
Shell input forwarding
Keyboard and mouse input forwarding to captured 2D windows, including modern WinUI/XAML apps
macOS spatial shell
Port the multi-compositor and shell to macOS via Metal
Expand demos and engine integrations
Next
3D capture pipeline
Session recording, spatial replay, and dataset generation from live spatial content
Multi-display workspaces
Extend the spatial desktop across multiple tracked displays, starting with a single machine
Later
Broader ecosystem and standardization
For detailed tracking, see individual repo milestones on GitHub.