Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/galister/wlx-overlay-x

WlxOverlay for OpenXR, written in Rust.
https://github.com/galister/wlx-overlay-x

linux openxr openxr-overlay vr-overlay wayland

Last synced: 29 days ago
JSON representation

WlxOverlay for OpenXR, written in Rust.

Awesome Lists containing this project

README

        

# WlxOverlay X

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

This is a rewrite of [WlxOverlay](https://github.com/galister/WlxOverlay) (That one is for OpenVR).

# Superceded by WlxOverlay-S

Please check out [WlxOverlay-S](https://github.com/galister/wlx-overlay-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](https://rustup.rs/) if you don't have it yet.

Start Monado or any other OpenXR runtime.

Required extensions are `EXTX_overlay` and `MND_egl_enable`.

```sh
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](https://garnix.io/). See [garnix docs](https://garnix.io/docs/caching) 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
- [freesound](https://freesound.org/), CC0 sound effects (find the sounds by searching for their number)
- [StereoKit](https://stereokit.net/), MIT
- [SimulaVR TextShader](https://github.com/SimulaVR/Simula/blob/82256ba4c9c933e85f41c3e0aa429314d7275228/addons/godot-haskell-plugin/TextShader.tres), MIT - StereoKit port from [StardustXR](https://github.com/StardustXR/server/blob/main/src/wayland/shaders/shader_unlit_simula.sks), GPL-2
- See [Cargo.toml](https://github.com/galister/wlx-overlay-x/blob/main/Cargo.toml) for full list.