VR on CentOS 7

Tom Goddard
October 23, 2018

How to setup an HTC Vive virtual reality headset and SteamVR on the CentOS 7 operating system.

This was to help two labs at UC San Francisco (Matt Jacobson and Adam Frost) try ChimeraX VR to visualize molecular structures and electron microscopy density maps on their CentOS 7 desktop systems.

Results

ChimeraX VR had equal performance on all molecular and cellular visualization examples worked as well on CentOS 7 as on Windows 10 using the same hardware (Nvidia GTX 1080, CPU i7-4790K 4.0Ghz, 4 cores, 16 Gbytes memory).

Installing and running SteamVR and ChimeraX VR is substantially more difficult with numerous pitfalls on CentOS 7 compared to Windows 10. I would not recommend using SteamVR on Linux if Windows 10 is an option.

Linux versions

Although I got ChimeraX VR to work with smooth rendering I would not recommend CentOS 7 linux distribution because the SteamVR is compiled for a newer version of libstdc++.so.6 (requires GLIBCXX_3.4.20) than the current CentOS 7 system library (GLIBCXX_3.4.19 in CentOS 7.5.1804 core). Most efforts to use SteamVR on Linux have used Ubuntu 16.04 or 18.04 and I think it would function better on those distributions.

99% of VR is on Windows 10. So using any Linux system for VR is likely to have many problems and is not advised unless other constraints make it essential to use the linux.

Components

Setup Steps

There was a lot of trial and error. These instructions distill the basics. I don't know which steps are essential.

  1. Setting up a test CentOS 7 system:
  2. Install Nvidia graphics drivers. I actually tried SteamVR with Mesa drivers but did not get it to work.
  3. Install Steam and SteamVR
  4. Use newer libstdc++.so.6
  5. Start SteamVR

Problems using SteamVR

  1. Room setup crashes
  2. SteamVR does not start automatically
  3. SteamVR failed to initialize warning
  4. Extended Mode warning

Problems using ChimeraX VR

  1. Python openvr needs new libstdc++.so.6
  2. Flickering due to desktop mirroring
  3. Hand controller buttons don't work
  4. ChimeraX does not exit

Performance of ChimeraX VR

Performance of ChimeraX VR was perfectly smooth on the following four systems, identical to performance on Windows 10 using the exact same hardware.

  1. Opioids demo: Performance was smooth and as good as Windows showing 24 small protein structures with a button user interface to switch between them.
  2. Ribosome demo: Large molecular system. Worked smoothly as good as on Windows.
  3. Translation initiation factor and cryoEM map. Atomic model PDB 6caj and EMDB density map 7442. Zones, map contour level changes, bond rotation. All worked smoothly, same as Windows 10.
  4. 3D light microscopy crawling neutrophil. About 4 Gbytes of 3D lightsheet microscopy, time series of about 200 time points, shown as surfaces. Worked smoothly as in Windows.

Guides

Installing SteamVR on Linux Installing Steam on Linux