Highlights
Fixed: silent service-startup failure when "Start on login" was disabled (#806). If the tray setting "Start on login" had ever been unchecked (service.json start_on_login=false), displayxr-service.exe exited silently on every launch — including manual ones — leaving the runtime without its orchestrator and no diagnostic trail. Reported by a partner on production devices. The start_on_login gate now applies only to logon auto-starts (the Run-key entry passes --autostart); direct/manual launches always start the service, and the intentional autostart opt-out exit now logs a WARN so it's visible in the log. (#807)
Features
- Per-zone opt-in cosmetic feather — new
XrDisplayZoneFeatherDXRchained struct lets an app request a soft feathered edge on individual display zones (#800, #803)
Fixes
- Vulkan zones: binary wish + alpha composition — the zone wish mask is applied as strictly hardware-binary while content blending uses alpha composition, keeping the lens mask and content policy decoupled (#801)
Docs
- Unity plugin
CLAUDE.mdrefreshed for the Display Provider era, including the multi-zone section
Other
- versions.json pins updated since v2.2.0: leia_plugin v2.0.5→v2.0.7, avatar_demo v0.9.2, gauss_demo v1.18.3, mediaplayer_demo v1.5.3, earthview_demo v0.6.3
Assets: DisplayXRSetup-2.2.1.0.exe (Windows, signed), DisplayXR-Installer-2.2.1.pkg (macOS), displayxr-runtime_2.2.1_amd64.deb (Linux, preview)