CertainLach / VivePro2-Linux-Driver

SteamVR driver for VivePro2 on Linux
GNU General Public License v2.0
71 stars 9 forks source link
linux steamvr vr

Vive Pro 2 linux driver

/driver_lighthouse.so

Why

Because HTC doesn't care about non-windows users, even if OG Vive worked just fine for them

How

Current implementation of driver intercepts some calls between SteamVR and common headset driver driver_lighthouse, which is used for OG Vive, and makes it work with newer Vive Pro 2

Progress

Working

TODO

Will not work

Installation

This driver can be built using nix package manager (it works on any distribution), build is fully reproducible, all needed dependencies will be downloaded automatically:

# Note: the #driver-proxy-release part of this command is not a comment, it's just github syntax highlighter is wrong
nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#driver-proxy-release

...or using manual building instructions from here (i dont provide any guarantees about contents of this repo) https://github.com/santeri3700/vive-pro-2-on-linux#install-vive-pro-2-linux-driver-by-certainlach

...or be downloaded from patreon page, see donate section below

And then installed via

./install.sh

Latest version of driver automatically patches SteamVR, so VIVE Console no longer required to be installed

Configuration

In steamvr.vrsettings:

vivepro2.resolution: 0-5, 0 by default, to make it most compatible with every hardware

Reconfigures helmet to specified resolution/framerate before startup

Similar to original vive console utility

vivepro2.brightness: 1-130, 130 by default

Display brightness

Original vive console seems to fade from 0 to 130 on start, and then no longer touch this setting

vivepro2.noiseCancel: true/false, disabled by default

Toggle built-in microphone noise canceling

Similar option exists in vive console

Required kernel patches

All of those patches are kept up-to-date in this repo, in kernel-patches subdirectory

I recommend you to use kernel 5.17+, as there is other issues in older kernels

If you use NixOS, then you can use kernelPatches from this flake:

boot.kernelPatches = vivepro2-linux-driver.kernelPatches;

If you use arch btw, then you can use this kernel package with all required patches applied (i have not tested it, and can't provide any guarantees about contents of this repo): https://github.com/santeri3700/vive-pro-2-on-linux

I don't recommend using other distributions, because it will be harder, because of usage of bleeding-edge kernel, but it should work, and I will fix any issues with them (I.e I have fixed usage of this driver on ubuntu)

Donate

I dont have enough motivation making this thing work for everyone/adding features everyone wants/needs

You can, however, help me to develop this motivation, here: https://patreon.com/0lach

Thanks

https://github.com/ChristophHaag for initial OpenVR guidance, which helped me to fix some issues

https://github.com/santeri3700 for writing driver/kernel build instructions here: https://github.com/santeri3700/vive-pro-2-on-linux (i don't provide any guarantees about contents of this repo)

Testers, backers, everyone else