alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.3k stars 474 forks source link

Linux vrcompositor wrapper cleanup #665

Open ckiee opened 3 years ago

ckiee commented 3 years ago

This issue is based off of https://github.com/alvr-org/ALVR/issues/269#issuecomment-843387487.

Currently, when ALVR starts on Linux the launcher moves some SteamVR binaries around to wrap vrcompositor in order to activate the Vulkan layer; this works fine until the user would like to use a different HMD which is supported by SteamVR without ALVR. (e.g. the Valve Index)

Right now, the user has to manually clean up after ALVR in order to use SteamVR once again.

xytovl commented 3 years ago

We have 3 solutions: cleanup on start, celanup on exit or compatibility

cleanup on start

Restore original steamvr install as soon as vrcompositor is started, this prevents a crash to leave a bad state. This has the disadvantages of making the launcher essential, breaking restart forever, and launcher still has to manage when the link already exists

cleanup on exit

I don't know exactly when the move would be made, same disadvantages as cleanup on start, I don't advise this solution

compatibility

Make it possible to use the wrapper even outside of ALVR, this probably requires many fixes and we must ensure it doesn't introduce a penalty in the non-ALVR use case. Advantages is that it is more robust Disadvantages are that it is harder to implement and to test

ckiee commented 3 years ago

Okayyy, maybe this isn't a very good first issue.

The-personified-devil commented 2 months ago

Need to keep track of this when it comes to the direct mode rewrite (at least tell people to verify their steamvr install when upgrading)