ALVR-IPv6/alvr/vulkan_layer
Riccardo Zaglia de8ee832b3 refactor: ⬆️ Update some dependencies 2023-10-15 22:53:25 +08:00
..
layer Linux: Add wayland drm_lease_shim library (#1728) 2023-07-09 22:08:35 -05:00
src Reduce warnings 2023-03-31 16:27:18 +02:00
util Rename crates that break naming rule 2022-03-21 20:53:46 +01:00
wsi Vulkan: Use deviceUUID to match compositor and server devices (#1502) 2023-03-11 21:50:55 -06:00
.gitignore Rename crates that break naming rule 2022-03-21 20:53:46 +01:00
Cargo.toml refactor: ⬆️ Update some dependencies 2023-10-15 22:53:25 +08:00
LICENSE Rename crates that break naming rule 2022-03-21 20:53:46 +01:00
README.md Rename crates that break naming rule 2022-03-21 20:53:46 +01:00
build.rs Simplify rust workflow and clippy calls; address many warnings 2022-09-26 14:20:51 +02:00

README.md

ALVR capture vulkan layer

Introduction

The ALVR capture vulkan layer is intended to overcome a limitation of SteamVR runtime on Linux: it does'nt allow software based output devices. The layer is based on vulkan wsi layer, which is meant to implement window system integration as layers.

The ALVR layer adds a display to the vkGetPhysicalDeviceDisplayPropertiesKHR call, and implements all functions related to that device. It then allows images of the swapchain to be shared to an other process (the alvr server process), and communicates present calls.

There are unfortunately a few hacks that make it heavily dependent to SteamVR: requested extentions manipulation to enable the required ones, searching through the stack to find the headset position, and not fully implementing the advertised features.