DisplayXR is a multi-repo project. This page is the org-wide overview;
each repo's own CONTRIBUTING.md (where present) has the specifics.
| What | Where |
|---|---|
| Runtime / compositor / driver / OpenXR extension bugs | displayxr-runtime/issues |
| User-facing DisplayXR Shell bugs | displayxr-shell-releases/issues — triaged into the private dev repo by maintainers |
| Unity plugin issues | displayxr-unity/issues |
| Unity sample project issues | displayxr-unity-samples/issues |
| Unreal plugin issues | displayxr-unreal/issues |
| DisplayXR Browser (developer preview) bugs | displayxr-browser/issues |
Inline-3D web samples / @displayxr/inline3d SDK |
displayxr-web/issues |
| Bringing up a new display vendor | displayxr-vendor-template/issues |
| Demo-specific bugs | The relevant displayxr-demo-* repo |
One source of truth per issue. Don't dual-create across repos.
All Tier 1 (active development) repos require pull requests against
main — direct pushes are blocked by branch protection.
- External contributors: fork the repo, branch from
main, push to your fork, open a PR against the upstreammain. - Org members: branch directly from
mainin the source repo, push, open a PR. - Open the PR as a draft while iterating — CI doesn't run on drafts.
- Click Ready for review when you want CI feedback.
- A maintainer reviews. The repo's
CODEOWNERSdeclares who is auto-requested. - Squash or rebase merge only — merge commits are disabled to keep history linear.
Repos with CI workflows generally observe the following pattern:
- Drafts skip CI.
- Doc-only PRs skip CI (
paths-ignore: ['**.md', 'docs/**', ...]). - Cancel-in-progress: rapid pushes to the same PR cancel earlier runs so only the latest commit's CI completes.
- Direct pushes to feature branches are free (no CI).
- Runtime / native code: clang-format 11+ via
git clang-format. - Plugin / engine code: each plugin's own conventions — see the per-repo
CONTRIBUTING.md.
Most repos in this organization use Boost Software License 1.0
(see each repo's LICENSE). By contributing, you agree your work is
licensed under the repo's license.
Display vendors looking to add a new hardware target should start with the vendor integration guide in the runtime repo, then fork displayxr-vendor-template — a buildable, ABI-correct plug-in skeleton that needs no vendor SDK to compile.