wlx-overlay-x icon indicating copy to clipboard operation
wlx-overlay-x copied to clipboard

WlxOverlay for OpenXR, written in Rust.

WlxOverlay X

A lightweight OpenXR overlay for Wayland desktops, inspired by XSOverlay.

This is a rewrite of WlxOverlay (That one is for OpenVR).

Superceded by WlxOverlay-S

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.

Highly Experimental

Feel free to reach out in case you run into issues.

  • Discord: https://discord.gg/gHwJ2vwSWV
  • Matrix Space: #linux-vr-adventures:matrix.org

Usage

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.

Nix Flake

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.

Known Issues

StereoKit fails to build with OpenXR version 1.0.29. You can downgrade your OpenXR syetem package to fix this.

Reporting Issues

Make sure to:

  • set RUST_LOG=debug
  • use a debug build to see GL assertion messages

Works Used