SteamVR On Linux Is Still In Frustratingly Rough Shape
I started with trying the SteamVR Radeon experience using Ubuntu 16.04 LTS with Mesa 17.4-dev (via the Padoka PPA) and the Linux 4.15 Git kernel for offering a bleeding-edge open-source experience...
When plugging in the HTC Vive head mounted display (HMD), the Ubuntu desktop ended up thinking it was another display and extended the Unity desktop to the HMD display... Obviously not what is intended. The NVIDIA Linux driver properly deals with this case, but the current open-source driver stack does not. But this annoyance is being worked on as among the Linux VR improvements being spearheaded by Keith Packard under contract with Valve. When all of the "non-desktop" bits and DRM leasing, the VR HMDs should play much nicer out-of-the-box on Linux. But it could be a while before all those bits are easily deployed.
The kernel-side work landed in Linux 4.15 with treating the HTC Vive as a non-desktop device as well as DRM leasing, but a lot of work still needs to be mainlined in user-space and begin appearing in major Linux distributions... (More on the situation later in this article.)
When moving on and trying the SteamVR with the Radeon setup, there was a segmentation fault right away... Bringing back memories when first trying out SteamVR on Linux in February.
And then the 306 error about "Shared IPC Compositor Connect Failed." That's been a common issue going back to February and affecting many users, including myself back then. The workaround in this case was setting the STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 environment variable prior to starting Steam.
But then next was SteamVR endlessly waiting on the devices and although both controllers were powered up and within range of the HMD and base stations, SteamVR would keep waiting and ultimately never get past the waiting screen... Growing impatient, I decided to just try out the NVIDIA SteamVR Linux experience.