Skip to content

Latest commit

 

History

402 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DisplayXR — Leia SR Plug-in

The first hardware integration for DisplayXR — and the reference example of a vendor plug-in.

This plug-in turns Leia SR glasses-free 3D displays (e.g. Samsung Odyssey 3D, Acer SpatialLabs) into OpenXR targets for the DisplayXR runtime. Building a plug-in for your own display? Start from this worked example, alongside the vendor onboarding guide.

Get it: download DisplayXRLeiaSRSetup-<version>.exe from the Releases page. The DisplayXR runtime must be installed first (the installer reads HKLM\Software\DisplayXR\Runtime\InstallPath).

How it works

Ships DisplayXR-LeiaSR.dll, a vendor plug-in DLL implementing xrt_plugin_iface from the runtime's public ABI (xrt/xrt_plugin.h). It loads at xrCreateInstance time via registry-driven discovery (HKLM\Software\DisplayXR\DisplayProcessors\leia-sr).

Architecture

  • src/drv_leia/ — Windows driver source: device, EDID probe, plug-in entry point (xrtPluginNegotiate), per-API display processors (D3D11, D3D12, OpenGL, Vulkan), SR SDK weavers, eye-tracking listener, WGC background capture.
  • src/drv_leia_android/ — Android arm (CNSDK): libdxrp050_leia_cnsdk.so for the runtime APK.
  • src/drv_leia_linux/ — Linux desktop arm: DisplayXR-LeiaSR.so, with two weaver backends behind one seam. Track B (-DDXR_LEIA_LINUX_WEAVER=sdk) is the real srSDK Vulkan weaver — it builds clean on Ubuntu 26.04 against the installed leiasr-runtime .deb and passes displayxr-cli selftest with leia-sr active (on-panel weave validation on 26.04 still pending; weave itself was validated on 22.04/NVIDIA, #81). Track A is the default stub weaver (passthrough, no SR SDK) for CI and SDK-less boxes. The SDK-facing interface is fixed by the LeiaSR Linux SDK contract (PROPOSED). Build/validate with scripts/build-linux.sh and the Track B runbook; CI covers Ubuntu 22.04/24.04/26.04.
  • installer/DisplayXRLeiaSRInstaller.nsi — NSIS installer that drops the DLL at $RuntimeInstall\Plugins\LeiaSR\ and registers the plug-in under HKLM\Software\DisplayXR\DisplayProcessors\leia-sr.

Documentation

Implementation internals live in docs/ (migrated from the runtime's docs/vendors/leia/):

The vendor-neutral contract (what any plug-in must implement) stays in the runtime repo: docs/specs/vendor/, docs/specs/runtime/plugin-discovery.md, docs/guides/vendor-plugin-onboarding.md.

License

Apache-2.0.

Related

  • ADR-019 — vendor plug-in / aux boundary: displayxr-runtime/docs/adr/ADR-019-vendor-plugin-aux-boundary.md
  • Plug-in discovery spec: displayxr-runtime/docs/specs/runtime/plugin-discovery.md
  • Vendor onboarding guide (post-#263): displayxr-runtime/docs/guides/vendor-plugin-onboarding.md

About

DisplayXR Leia SR display-processor plug-in

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages