-
-
Notifications
You must be signed in to change notification settings - Fork 39
Linux support
PlayStation VR2 Toolkit supports Linux using a new piece of software we have developed, called Ignition, which lets you run supported Windows SteamVR drivers on Linux, using Wine/Proton.
Caution
You should have some basic knowledge of how to use Linux. If you don't, you'll probably have a bad time trying to get everything to work. Using your favorite search engine or asking others for help is a good idea if you are stuck.
Wired Linux VR is also not guaranteed to be a good experience depending on your GPU and which architecture you use and what settings your distro applies. Any immutable distro is not recommended, but it is possible if you know what you're doing.
SteamVR on Linux also has some issues and missing features. You have been warned.
The following features are not available or have limitations on Ignition:
- SteamVR Room View (unsupported or unstable)
- Official Sony PSVR2 Apps
- Controller poll rate (can cause an unstable Bluetooth connection)
All other features of PSVR2TK or the PSVR2 driver should be functional.
You will need the following prerequisites installed:
-
Steam
- NOTE: Do NOT use the flatpak version of Steam. It will very likely not work.
-
SteamVR
- I recommend not using the beta to eliminate any variables due to the instability of beta branches
- Proton Experimental
- PlayStation VR2 App
- jq
- xr-hardware
- PSVR2Updater
- SteamVRLinuxFixes
Ignition currently is NOT in any package manager, so you must download the release from GitHub here.
- First, install Steam, where you will then get SteamVR, PlayStation VR2 App, and Proton Experimental.
- Get
jqfrom your package manager of choice. This is for the Ignition setup shell script to create the config for you. - For user apps like SteamVR, Ignition, PSVR2Updater, vr2jb, etc. to work, you will need to install
xr-hardware. Do not get it from a package manager. Run the following one-liner:sudo wget -O /etc/udev/rules.d/70-xrhardware.rules "https://gitlab.freedesktop.org/monado/utilities/xr-hardware/-/raw/main/70-xrhardware.rules?ref_type=heads" && sudo systemctl restart systemd-udevd
- Follow the instructions for installing SteamVRLinuxFixes on the main GitHub page. SteamVRLinuxFixes is required to fix what Valve hasn't bothered fixing.
Before using your PSVR2 on Linux, you will need to make sure you have a PC compatible firmware. v5.00 or greater will work. If not, see instructions on upgrading here. You will use PSVR2Updater to perform the upgrade, as the official app does not launch on Linux.
- First, extract the contents of
Ignition-Linux-Windows.zipto a folder like/opt/ignition/or~/ignition. The Ignition folder MUST be accessible through the Steam Linux Runtime container. - Assuming your Steam folder is at
~/.steam/steam/(if it is not, try finding it), run./install_ignition.sh "$HOME/.steam/steam/steamapps/common/PlayStation VR2 App/SteamVR_Plug-In/"while in the folder you extracted Ignition to. - Next, navigate to
~/.steam/steam/steamapps/common/PlayStation VR2 App/SteamVR_Plug-In/bin/linux64and runinstall_driver.shin the folder.- Double check that
~/.config/openvr/openvrpaths.vrpathhas something like"/home/username/.steam/steam/steamapps/common/PlayStation VR2 App/SteamVR_Plug-In"in theexternal_driverslist. Ifopenvrpaths.vrpathdoes not exist, you may need to run SteamVR once before usinginstall_driver.sh.
- Double check that
- Now, you will install the experimental PSVR2Toolkit release
- Renaming
driver_playstation_vr2.dlltodriver_playstation_vr2_orig.dll - Then extracting contents of
PSVR2TK-win64-Ignition.zipinto~/.steam/steam/steamapps/common/PlayStation VR2 App/SteamVR_Plug-In/bin/win64
- Renaming
- You should be able to launch SteamVR and see the PSVR2 headset and Sense controller icons in green.
- If not, check the logs in
~/.steam/steam/logs, specificallyvrcompositor.txtandvrserver.txtfor any errors.
- If not, check the logs in
To have position tracking, you will need to run PSVR2Toolkit.UnitySetup. Find the Linux release and run it.
In ~/.steam/steam/config/steamvr.vrsettings, you should edit it to add "enableLinuxVulkanAsync" : true and "useFacetRenderer" : true to the steamvr section. Big Valve does not want you to know this.
Your steamvr section should look like this:
"steamvr" : {
"enableHomeApp" : false,
"enableLinuxVulkanAsync" : true,
"haveStartedTutorialForNativeChaperoneDriver" : true,
"lastVersionNotice" : "2.16.7",
"overlayRenderQuality_2" : 3,
"preferredRefreshRate" : 120,
"showAdvancedSettings" : true,
"showMirrorView" : false,
"showPerfGraph" : true,
"supersampleManualOverride" : true,
"useFacetRenderer" : true
}
Do not forget to put commas after each line except for the last one, or else the config will be wiped due to syntax errors.