{"id":48093828,"url":"https://github.com/displayxr/displayxr-runtime","last_synced_at":"2026-06-09T09:00:56.421Z","repository":{"id":341615328,"uuid":"1170809099","full_name":"DisplayXR/displayxr-runtime","owner":"DisplayXR","description":"Lightweight OpenXR runtime for 3D displays · Windows, macOS, Android","archived":false,"fork":false,"pushed_at":"2026-06-05T19:08:04.000Z","size":44762,"stargazers_count":1,"open_issues_count":55,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T21:08:31.522Z","etag":null,"topics":["3d-display","eye-tracking","openxr","spatial-computing"],"latest_commit_sha":null,"homepage":"https://displayxr.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DisplayXR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":"docs/roadmap/2d-app-hosting-strategy.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T14:46:46.000Z","updated_at":"2026-06-05T19:08:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DisplayXR/displayxr-runtime","commit_stats":null,"previous_names":["dfattal/openxr-3d-display","displayxr/displayxr-runtime"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/DisplayXR/displayxr-runtime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DisplayXR%2Fdisplayxr-runtime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DisplayXR%2Fdisplayxr-runtime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DisplayXR%2Fdisplayxr-runtime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DisplayXR%2Fdisplayxr-runtime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DisplayXR","download_url":"https://codeload.github.com/DisplayXR/displayxr-runtime/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DisplayXR%2Fdisplayxr-runtime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34098952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-display","eye-tracking","openxr","spatial-computing"],"created_at":"2026-04-04T15:33:56.007Z","updated_at":"2026-06-09T09:00:56.415Z","avatar_url":"https://github.com/DisplayXR.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/displayxr_white.png\" width=\"120\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/displayxr.png\" width=\"120\"\u003e\n  \u003cimg alt=\"DisplayXR\" src=\"assets/displayxr.png\" width=\"120\"\u003e\n\u003c/picture\u003e\n\n# DisplayXR Runtime\n\n[![Build Windows](https://github.com/DisplayXR/displayxr-runtime/actions/workflows/build-windows.yml/badge.svg)](https://github.com/DisplayXR/displayxr-runtime/actions/workflows/build-windows.yml)\n[![Build macOS](https://github.com/DisplayXR/displayxr-runtime/actions/workflows/build-macos.yml/badge.svg)](https://github.com/DisplayXR/displayxr-runtime/actions/workflows/build-macos.yml)\n[![License: BSL-1.0](https://img.shields.io/badge/License-BSL--1.0-blue.svg)](LICENSE)\n\nAn open-source [OpenXR](https://www.khronos.org/openxr/) runtime for spatial displays — 3D monitors and laptops with tracked stereo and multiview lightfield display technology.\n\nBuilt on [Monado](https://monado.freedesktop.org/) by Collabora, DisplayXR strips away headset-centric infrastructure (34 VR drivers, Vulkan server compositor, tracking subsystems) and replaces it with a lightweight runtime purpose-built for 3D displays: ~150 files, 3 drivers, native compositors for every graphics API.\n\n## Architecture\n\n```\nApp (any graphics API)\n        |\n   OpenXR State Tracker\n        |\n   Core xrt interfaces\n        |\n   +----+-----+--------+--------+\n   |    |     |        |        |\n D3D11 D3D12 Vulkan  Metal   OpenGL   ← native compositors\n   |    |     |        |        |\n   Display Processor (LeiaSR / sim_display)\n        |\n   Display\n```\n\nEvery graphics API gets its own native compositor — no Vulkan intermediary, no interop overhead. Vendor-specific processing (interlacing, lenticular weaving) is isolated in the display processor layer.\n\n| API | Windows | macOS |\n|-----|---------|-------|\n| D3D11 | Shipping | — |\n| D3D12 | Shipping | — |\n| Metal | — | Shipping |\n| OpenGL | Shipping | Shipping |\n| Vulkan | Shipping | Shipping |\n\n## Quick Start\n\n### One-command dev install\n\n```bash\n# macOS\ngit clone https://github.com/DisplayXR/displayxr-runtime\ncd displayxr-runtime\n./scripts/setup-displayxr.sh                  # runtime + sim-display\n./scripts/setup-displayxr.sh --with mcp       # also DisplayXR MCP Tools (AI-agent / voice control)\n```\n\n```bat\n:: Windows — run from an ELEVATED command prompt\ngit clone https://github.com/DisplayXR/displayxr-runtime\ncd displayxr-runtime\nscripts\\setup-displayxr.bat                   :: runtime + Shell + Leia plug-in\nscripts\\setup-displayxr.bat --with mcp        :: also DisplayXR MCP Tools (AI-agent / voice control)\n```\n\nDownloads each component's installer from its GitHub Releases page (versions pinned in [`versions.json`](versions.json)), runs it silently, verifies the install. See [`docs/getting-started/full-stack-install.md`](docs/getting-started/full-stack-install.md) for `--with-demos`, `--dry-run`, `--uninstall`, and the per-component platform availability matrix.\n\n### Manual install\n\nFor full control, install each component directly from its release page. Order: runtime → Shell → Leia plug-in → MCP Tools.\n\n| Component | Windows | macOS |\n|---|---|---|\n| **DisplayXR Runtime** (required) | [`DisplayXRSetup-*.exe`](https://github.com/DisplayXR/displayxr-runtime/releases) | [`DisplayXR-Installer-*.pkg`](https://github.com/DisplayXR/displayxr-runtime/releases) |\n| **DisplayXR Shell** (optional, spatial workspace UX) | [`DisplayXRShellSetup-*.exe`](https://github.com/DisplayXR/displayxr-shell-releases/releases) | — (deferred) |\n| **Leia SR plug-in** (Leia hardware only) | [`DisplayXRLeiaSRSetup-*.exe`](https://github.com/DisplayXR/displayxr-leia-plugin/releases) | — (vendor SDK is Windows-only) |\n| **MCP Tools** (optional, AI-agent / voice control) | [`DisplayXRMCPSetup-*.exe`](https://github.com/DisplayXR/displayxr-mcp/releases) | — (future) |\n\nThe website's [Get Started](https://displayxr.org/getting-started) page walks through the manual flow end-to-end with verification steps.\n\n### Build from source\n\n```bash\n# Windows — auto-fetches vcpkg + OpenXR loader (no vendor SDK; Leia ships as a separate plug-in)\nscripts\\build_windows.bat all\n# Outputs: _package/DisplayXRSetup-*.exe (installer) + _package/bin/\n\n# macOS — runtime + sim-display plug-in + .pkg installer\nbrew install cmake ninja eigen vulkan-sdk \u0026\u0026 ./scripts/build_macos.sh --installer\n# Outputs: _package/DisplayXR-Installer-*.pkg (installer) + _package/DisplayXR-macOS/\n# Install: sudo installer -pkg _package/DisplayXR-Installer-*.pkg -target /\n# (Gatekeeper warns on double-click — the .pkg is unsigned today; sudo installer\n#  from terminal bypasses Gatekeeper. Notarization tracked in issues #280/#281.)\n\n# Run a dev build without installing\nXR_RUNTIME_JSON=./build/Release/openxr_displayxr-dev.json ./your_openxr_app\n```\n\nSee [Building DisplayXR](docs/getting-started/building.md) for full instructions and CMake options.\n\n## Simulation Driver\n\nNo 3D display required. The **sim_display** driver provides a simulated tracked display with WASD + mouse eye position control:\n\n```bash\nXR_RUNTIME_JSON=./build/openxr_displayxr-dev.json ./build/test_apps/cube_handle_vk_macos/cube_handle_vk_macos\n```\n\n## Documentation\n\n| I want to... | Start here |\n|---|---|\n| **Build apps** for 3D displays | [Getting Started](docs/getting-started/overview.md) |\n| **Contribute** to DisplayXR | [Contributing Guide](docs/guides/contributing.md) |\n| **Integrate my display** hardware | [Vendor Plug-in Onboarding](docs/guides/vendor-plugin-onboarding.md) |\n| See the full docs index | [Documentation Index](docs/README.md) |\n| See the project roadmap | [Roadmap](docs/roadmap/overview.md) |\n\n### Key References\n\n- [App Classes](docs/getting-started/app-classes.md) — handle, texture, hosted, IPC\n- [XR_EXT_display_info](docs/specs/extensions/XR_EXT_display_info.md) — display properties and rendering mode extension\n- [Kooima Projection](docs/architecture/kooima-projection.md) — stereo math and projection pipelines\n- [Separation of Concerns](docs/architecture/separation-of-concerns.md) — layer boundaries\n- [displayxr-mcp](https://github.com/DisplayXR/displayxr-mcp) — embeddable MCP server framework. End users opt in to AI-agent / voice control by installing **DisplayXR MCP Tools** ([releases](https://github.com/DisplayXR/displayxr-mcp/releases)), which writes `HKLM\\Software\\DisplayXR\\Capabilities\\MCP\\Enabled=1`; the runtime reads this at startup and spawns a per-app MCP server. `DISPLAYXR_MCP=1` (or `=0`) is still supported as a process-local override for CI / dev. Runtime registers Phase A handle-app introspection tools (`list_sessions`, `get_display_info`, `capture_frame`, `tail_log`, …) per app process; the reference shell hosts Phase B workspace tools. Spec at [`displayxr-mcp/docs/mcp-spec.md`](https://github.com/DisplayXR/displayxr-mcp/blob/main/docs/mcp-spec.md).\n\n## Related Repos\n\n| Repo | Description |\n|------|-------------|\n| [displayxr-installer](https://github.com/DisplayXR/displayxr-installer) | Meta-installer — one bundle that installs runtime + Shell + plug-ins |\n| [displayxr-shell-releases](https://github.com/DisplayXR/displayxr-shell-releases) | DisplayXR Shell — spatial workspace controller (installer + bug reports) |\n| [displayxr-leia-plugin](https://github.com/DisplayXR/displayxr-leia-plugin) | Leia SR display-processor plug-in (`DisplayXRLeiaSRSetup-*.exe`) |\n| [displayxr-extensions](https://github.com/DisplayXR/displayxr-extensions) | OpenXR extension specs and headers |\n| [displayxr-mcp](https://github.com/DisplayXR/displayxr-mcp) | Embeddable MCP server framework + **DisplayXR MCP Tools** installer (end-user opt-in for agent / voice control) |\n| [displayxr-demo-gaussiansplat](https://github.com/DisplayXR/displayxr-demo-gaussiansplat) | 3D Gaussian Splatting reference demo |\n| [displayxr-unity](https://github.com/DisplayXR/displayxr-unity) | Unity engine plugin (UPM package) |\n| [displayxr-unreal](https://github.com/DisplayXR/displayxr-unreal) | Unreal Engine plugin |\n| [displayxr-common](https://github.com/DisplayXR/displayxr-common) | Generalized off-axis frustum projection math library (`displayxr::math` + `displayxr::common`) |\n\n## Contributing\n\nWe welcome contributions! See the [contributing guide](docs/guides/contributing.md) for workflow, code style, and CI expectations.\n\n## License\n\nBoost Software License 1.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisplayxr%2Fdisplayxr-runtime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdisplayxr%2Fdisplayxr-runtime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisplayxr%2Fdisplayxr-runtime/lists"}