I got my HTC Vive at the start of this week and I've been spending some time getting my VR games to work correctly in Linux, so I thought I'd share what I found out:
- If you plan to buy a VR headset, keep in mind that the only ones that currently have full Linux support are the HTC Vive, HTC Vive Pro and the Valve Index.
- If you have a Vive too, you should watch [this](https://www.youtube.com/watch?v=fV--q0HcDU4) video. It explains everything you need to know about the base stations and is very short.
- If you don't want to drill holes in your walls, there's also different ways to mount the base stations, like a camera tripod. Don't forget that the base stations vibrate, so you can't just put them on your shelf without anything that holds them there.
- You can turn off both base stations by unplugging the power cable on the one labelled with "b", the one with a "c" will automatically turn off after a while too. There is also a script to turn them off from your PC but it's working fine for me like this, so I haven't tried it.
- After plugging in your VR headset and opening Steam, you should install SteamVR, go to your Library and right click it > go to "Properties" > "Betas" and select the entry "linux_v1.14", that says it's an older version for Linux. The two versions above it ("None" and "beta") have had issues for me but you may want to try that for yourself since those versions have the Steam ingame menu and the settings working, which the version I'm using doesn't. To change the settings, I just changed the Beta to "None", changed my settings and then set the Beta back to the Linux version.
- If you're using the older SteamVR version for Linux, you need to play all your VR games with Proton 5.13 or older, otherwise they'll instantly crash. The newer SteamVR versions also work with newer Proton versions, check ProtonDB for which versions exactly.
- Speaking of ProtonDB, if a game supports both desktop mode and VR mode, most of the reports there will be by people playing in desktop mode. VRChat, for example, only has reports of people saying that it works flawlessly with newer Proton versions, while Beat Saber, a VR-only title, has multiple reports stating that it only works with Proton 5.13.
- If you want to play Beat Saber, there's a mod manager made for Linux called Beataroni, that you can download [here](https://github.com/geefr/beatsaber-linux-goodies). There's also a package for it in the AUR.
- If you want to install Beat Saber mods manually, you'll need to install BSIPA first. To do that, follow step 1 and 2 from [here](https://bsmg.wiki/pc-modding.html#install-bsipa). The other steps are different on Linux, so I'll explain them. Install protontricks, then go into your file manager and navigate to where you put "IPA.exe". Right click it and run it with "Protontricks Launcher". A window should open, select Beat Saber here. BSIPA will now install itself. An alternative way to install it would be to use wine explorer to open IPA.exe. To do that, run "protontricks --gui" in the terminal. If you get any warnings, just press "OK". Select "Select the default wineprefix" > "Run explorer" > At the top, you can paste in the path to where you put "IPA.exe", put "Z:" in front of it, change every "/" to a "\" and hit Enter. Here you can double click "IPA.exe". Just like with the other method, BSIPA will now install itself. After you've installed it, download [this](https://github.com/geefr/BSIPA-Linux) and put it in the same folder that IPA.exe is in. Open a terminal in this folder and type in `chmod +x IPA-Minimal && ./IPA-Minimal -f --relativeToPwd "Beat Saber.exe"`. Now you can install mods from sites like beatmods.com by unzipping them in your Beat Saber folder. Most of the time they're just .dll files that go into the "plugins" folder but some mods also add their own folders, like SaberFactory. Don't forget to install the dependencies each mod needs too, you can see those on beatmods.com as well. You may have to open IPA.exe again and do the steps after that again, after you installed the mods, if you have any issues.