A lightweight OpenXR overlay for Wayland desktops, inspired by XSOverlay.
This is a rewrite of WlxOverlay (That one is for OpenVR).
Please check out WlxOverlay-S, the next generation of this software, written using OpenXR, OpenVR and Vulkan in Rust. It provides the same functionality without the performance drawbacks of StereoKit and the NVidia compatibility issues of EGL.
Feel free to reach out in case you run into issues.
- Discord: https://discord.gg/gHwJ2vwSWV
- Matrix Space:
#linux-vr-adventures:matrix.org
Recommend grabbing rustup if you don't have it yet.
Start Monado or any other OpenXR runtime.
Required extensions are EXTX_overlay
and MND_egl_enable
.
cargo run
You'll see a screen and keyboard. You can turn these on and off using the watch on your left wrist.
Right click: turn your controller so that your backhand is facing your hmd. You'll get a yellow laser. Pull trigger for right-click.
Move screen: Grab using grip. Adjust distace using stick up/down while gripping.
Resize screen: Same as Move screen but turn your controller to get the yellow laser.
A Nix Flake is availabe as github:galister/wlx-overlay-x
. Cached builds are available using garnix. See garnix docs to see how to utilize this binary cache.
Run nix flake show github:galister/wlx-overlay-x
to see all outputs of this flake.
StereoKit fails to build with OpenXR version 1.0.29. You can downgrade your OpenXR syetem package to fix this.
Make sure to:
- set
RUST_LOG=debug
- use a debug build to see GL assertion messages
- freesound, CC0 sound effects (find the sounds by searching for their number)
- StereoKit, MIT
- SimulaVR TextShader, MIT - StereoKit port from StardustXR, GPL-2
- See Cargo.toml for full list.