Download
The Vrui VR toolkit is free software, distributed under the GNU General Public License. To build and install the toolkit, refer to the included README file. The process is usually as simple as "make" followed by "make install," but some minor changes might have to be made according to the target operating system. There is also a quick installation guide aimed at novice Linux users.
Instructions on running and writing Vrui applications are contained as HTML documentation in the included Documentation directory.
All files on this download page are tagged with their SHA1 checksums, to protect downloaders from file corruption or tampering. To check a file after download, run "sha1sum <file name>" in a terminal window, and ensure that the resulting checksum matches the one displayed on this page.
Installation Scripts
To further simplify installation for novice Linux users, we now offer installation script files that automate the entire process, including installation of prerequisite packages and downloading the Vrui source tarball. Installation scripts are available for the following 64-bit Linux distributions:
- Fedora 25-30: Build-Fedora.sh (SHA1=711fb57016bcd70175ce67d15029d4869b686f91). This script should also work for older or newer Fedora versions, but has only been tested on 25, 27, 28, and 30.
- Ubuntu 18.04 LTS ("Bionic Beaver") or Linux Mint 19 ("Tara"): Build-Ubuntu.sh (SHA1=55c5cd15bf547f38e02e6b16cc226466e441d6d5). This script might not work for older Ubuntu or Linux Mint versions, as the names of several dependency libraries changed. For those older versions, use Build-Ubuntu-Old.sh (SHA1=4e19ec6d8f44190cc527fb12df835c621594c090)
To download and run the scripts (on Ubuntu; on Fedora, replace "Build-Ubuntu.sh" with "Build-Fedora.sh"), type the following into a terminal window ($ indicates the terminal prompt, and ~ is shorthand for the user's home directory, i.e., /home/<username>):
$ cd ~
$ wget http://web.cs.ucdavis.edu/~okreylos/ResDev/Vrui/Build-Ubuntu.sh
$ sha1sum Build-Ubuntu.sh
At this point, compare the output of sha1sum to the checksum displayed above, and do not proceed unless they match exactly. If they do match, finish the installation by running:
$ bash Build-Ubuntu.sh
The script will ask you to enter your password to install Vrui's prerequisite packages, and maybe again if Vrui is to be installed in a system location, but will not perform any other administrator-level changes to your system. If everything works, a new window showing a spinning globe will pop up. That's it! Refer to the Vrui HTML Documentation, section "Using Vrui Applications," to learn how to interact with the spinning globe and other Vrui applications.
The script makes the following changes to the local system:
- installs prerequisite packages (administator-level change)
- creates a directory ~/src
- downloads and unpacks current Vrui tarball into ~/src, creating Vrui's source directory Vrui-<version>-<release> where <version> is the Vrui version, e.g., 4.2, and <release> is the release number, e.g., 001.
- installs Vrui and Vrui example applications into /usr/local (administrator-level change)
- installs device rule files to access 3D input devices or VR headsets into /etc/udev/rules.d (administrator-level change)
To uninstall Vrui completely, run sudo make uninstall from inside Vrui's source directory, i.e., ~/src/Vrui-<version>-<release>.
Hint for experts: to install Vrui in a different location than /usr/local, say, in ~/Vrui-<version>, run:
$ bash Build-Ubuntu.sh <installation directory>
Installation on Mac OS X
To simplify installation of Vrui and its required libraries under Mac OS X, KeckCAVES provides a set of homebrew recipes.
Vrui builds and runs on all versions of Mac OS X starting with 10.4 ("Tiger"), but there are some minor graphics issues on versions 10.6 and higher due to several bugs Apple introduced into the OpenGL 3D graphics library.
Source Tarballs
The tarballs available for download below will expand into Vrui-<release>-<build version> directories in the current directory. SHA1 checksums have been provided to secure the tarballs against tampering.
- Vrui-8.0-002 (3627KB) (SHA1=a0448c79f2139a9d7223787858f935c3d7c6cd36). Fixed dependency on Vrui Collaboration Infrastructure in ShowEarthModel example progam.
- Vrui-8.0-001 (3627KB) (SHA1=3be264d0331e25f5e5ed43022064fbc4dcb01025). Lots of across-the-board updates, an entirely new build system, and compatibility with SteamVR 1.15.19. Check HISTORY file for several API changes.
- Vrui-6.0-001 (3552KB) (SHA1=b8b173afb5c6fc56b764b1157137832c605e1d30). Lots of across-the-board updates and compatibility with SteamVR 1.9.17.
- Vrui-5.2-001 (3514KB) (SHA1=205b03566eaf2beb1f418562d7bf06a467c30bc4). Updated OpenVR VRDeviceDaemon module yet again to current release of SteamVR. Also, some other stuff.
- Vrui-5.1-003 (3470KB) (SHA1=f335b76574b05719419c9d7c46ddc6793d7f83b3). Updated OpenVR VRDeviceDaemon module to current release of SteamVR (1.7.15).
- Vrui-5.0-002 (3428KB) (SHA1=3f8e3591b2843f049a09fa2a5eb90ba01103b358) More changes than I can shake a stick at.
- Vrui-4.6-005 (3152KB) (SHA1=c80cea174fef29e05a10232a6d45868f2a6e5436) Updated OpenVR VRDeviceDaemon module to current release of SteamVR (1.1.3b, 11/27/2018); improved RoomSetup utility.
- Vrui-4.6-004 (3144KB) (SHA1=483bddebc1d147f41cec0976af299effc8a3a8cf) Yet another change to SteamVR auto-detection code; should now work with all default Steam installations. Very preliminary support for Vive Pro.
- Vrui-4.6-002 (3145KB) (SHA1=df45198b153693088a51356722390119e4e8e86d) Adapted OpenVR driver to current SteamVR driver interface, changed SteamVR auto-detection code.
- Vrui-4.5-004 (3193KB) (SHA1=809297ce461129bfd65ae8642d48249229200cd7) Small improvements and additional scripts for better user experience.
- Vrui-4.5-002 (3190KB) (SHA1=0fdbff0f381d058d136cfe7d42f30f717fd7a735) Minor improvements in handling of HTC Vive head-mounted displays.
- Vrui-4.5-001 (3185KB) (SHA1=8ce224ffe96ce40e169cedae2bb2d80b32246ef3) New OpenVR driver module compatible with current SteamVR Lighthouse tracking driver, improvements to device management, overhaul of imaging library.
- Vrui-4.4-001 (3153KB) (SHA1=7dff4b9e4f7f45facff805f8245aa7f45f7e5a96) More improvements for head-mounted displays, specifically HTC Vive.
- Vrui-4.3-001 (3123KB) (SHA1=30cc2fd5524e6907359333a56a7eeafd403a111d) This release is marked beta. Continue using Vrui-4.2-006 for production systems. Significant improvements to support for head-mounted displays, specifically HTC Vive. Works with current SteamVR release as of 07/18/2017.
- Vrui-4.2-006 (3082KB) (SHA1=8fc967fe33ac5fc200240c82775c427796d8a9a3) Added missing OpenVRHost configuration header; put in work-around for black screen problem when displays report their physical sizes as zero.
- Vrui-4.2-005 (3081KB) (SHA1=3e7b78bef61474e0f32271f540a3cb516cea0e47) Minor improvements and fixes.
- Vrui-4.2-004 (3075KB) (SHA1=82a7608c27061395a7d1df58b8095660e110d664) Fixed RoomSetup utility.
- Vrui-4.2-003 (3075KB) (SHA1=5d7367150bd8c0b22f8123acdf926e40a38526bf) Fixed SteamVR configuration and set-up.
- Vrui-4.2-002 (3074KB) (SHA1=54748cbee0b376562cc2aa432430686ba2b8fbca) Fixed current OpenVR ABI mismatch by editing openvr_driver.h in the Contributed/OpenVR directory. Vive tracking is working until Valve breaks it again. :)
- Vrui-4.2-001 (3072KB) (SHA1=597875f159fe4bf607a61bc1b7baac135c352835) Pretty massive changes, including support for HTC Vive head-mounted display. Release notes to be delivered.
Note: Valve changed the internal ABI of OpenVR's tracking server just before I posted Vrui-4.2-001. As a result, Vive support is currently broken, unless you downgrade your SteamVR installation to a version prior to the update to OpenVR version 1.0.3. I am working on fixing this.
Archive of Released Versions of Vrui-3.xxx-yyy
- Vrui-3.1-004 (2722KB) (SHA1=bc698a0ba96c7f6dae536e1cda6217ea77d7ac07) Fixed hang-ups and GL warnings when running without Nvidia driver; added built-in hotkey to toggle fullscreen mode (Win+F by default).
- Vrui-3.1-003 (2716KB) (SHA1=b394f4e665f3547aacece87f88d0fe638b3d6fc0) Fixed crash on application start-up when a key is pressed before the mouse is moved.
- Vrui-3.1-002 (2711KB) (SHA1=3c4ded4ed18e4a16394cdc1d625d7d0f4f84b108) Fixed some minor issues and improved build system.
- Vrui-3.1-001 (2709KB) (SHA1=8b258cc5db7d94b1352f2defa935743a9b45b9f3) See these notes regarding the main changes between Vrui version 3.0 and 3.1.
- Vrui-3.0-002 (2739KB) (SHA1=17737250bd2607b5d9f9e7f65a195508a0f93cf6) Fixed one minor oversight, and one doozy.
- Vrui-3.0-001 (2739KB) (SHA1=d6c97e9ba12b948ae91866615ec578402a012a0d) See these notes regarding major changes between Vrui version 2.xxx-yyy and 3.xxx-yyy.
Archive of Released Versions of Vrui-2.xxx-yyy
- Vrui-2.7-001 (2598KB) (SHA1=8cde85db539ff22bad30f05cb2b8b85467c20ff1) See these notes regarding the main changes between Vrui version 2.6 and 2.7.
- Vrui-2.6-002 (2521KB) (SHA1=881eb64460af8fdf5dac3934d6b7ce1cde4b6d33) Fixed a linking problem with the Razer Hydra driver plug-in (02/05/2013: silently updated to fix two build problems).
- Vrui-2.6-001 (2518KB) (SHA1=888cb8aaa656781f1f3fd21107d795eea1e63561) See these notes regarding the main changes between Vrui version 2.4 and 2.6.
- Vrui-2.4-004 (2502KB) (SHA1=0fd094458489fdf558d08a27d093d2669bbf6783) Fixed "missing visual" error on Mac OS X 10.7 and some virtual machines.
- Vrui-2.4-003 (2504KB) (SHA1=6a50017c2102bbb81623a1819475696108fb7b9d) Improved tools for USB input devices.
- Vrui-2.4-002 (2498KB) (SHA1=0fcbca4d4a51fe4a39ed7ecd49d19c7a0fa9c110) Some minor mop-up fixes and tool improvements.
- Vrui-2.4-001 (2480KB) (SHA1=3de1f62e07266f63a88bf5671ce22a70b191dea6) See these notes regarding the main changes between Vrui version 2.3 and 2.4.
- Vrui-2.3-003 (2442KB) (SHA1=d8da3ef46abe400437c0a898340d11df8a4e4454) Minor fixes in viewpoint navigation tool, and to build with g++ 4.7.0.
- Vrui-2.3-001 (2439KB) (SHA1=91d2581010a97d002a8ecaaf2774fe8a6d9fe937) See these notes regarding the main changes between Vrui version 2.2 and 2.3.
- Vrui-2.2-003 (2413KB) (SHA1=1fc9006f2fddb243472e6ac59d0200ccf74c39da) Minor bug fix in build system only relevant to older Linuces.
- Vrui-2.2-002 (2413KB) (SHA1=eaa8bf73fb134c83177be8188bb1f587878dc8c4) Minor bug fix only relevant to Mac OS X.
- Vrui-2.2-001 (2413KB) (SHA1=52182e27c8238727e4cb7caea101b84d9f3b92ad) See these notes regarding the main changes between Vrui version 2.1 and 2.2.
- Vrui-2.1-001 (2354KB) (SHA1=71d62d499898b8c589f74b3922d5e85dc5927019) See these notes regarding the main change between Vrui version 2.0 and 2.1.
- Vrui-2.0-003 (2322KB) (SHA1=a97f289c988d12e036651c4d47faea9d083dcdb2)
- Vrui-2.0-002 (2322KB) (SHA1=2e42a30eeec8456ed09c2c29b199affb88deb067)
- Vrui-2.0-001 (2322KB) (SHA1=3fd60d6aa646098c62f89b7fda4a9f21a52b3617) See these notes regarding major changes between Vrui versions 1.0-xxx and version 2.xxx-yyy.
Note: There is a slight mistake in the build instructions for Vrui-2.0-001, due to a last-minute change in build system. Instead of just running make install to build and install the software, you have to first run make, and then make install.
Archive of Released Versions of Vrui-1.0-xxx
Binary Packages
The following binary packages are an experimental feature to simplify Vrui installation on supported operating systems and machine architectures. Use at your own risk. To install, pick a Vrui version matching your operating system release and machine architecture, and download the Vrui-*.rpm file and (optionally) the Vrui-examples-*.rpm and/or Vrui-devel-*.rpm files. Install them using sudo yum localinstall Vrui-<version>-<release>.<arch>.<os>.rpm, optionally followed by sudo yum localinstall Vrui-examples-<version>-<release>.<arch>.<os>.rpm and/or sudo yum localinstall Vrui-devel-<version>-<release>.<arch>.<os>.rpm. Or, simply install them by clicking on the download links, and selecting "open with: Software Install" in the download dialog box. Either method will download all required dependencies, and install the package(s). Since the packages are not signed, you might have to confirm an exception; SHA1 checksums have been provided to secure the rpm files against tampering.
Available packages:
- Fedora 20 64 bit:
- Fedora 17 64 bit (these packages should also work for Fedora 18 64 bit):
- Fedora 15 64 bit (these packages should also work for Fedora 16 64 bit):
- Fedora 13 64 bit (these packages should also work for Fedora 14 64 bit):
- Fedora 12 64 bit (these packages should also work for Fedora 13 and 14, both 64 bit):
Supplementary files:
- SPEC file (SHA1=4c124e0e459cb96be6a9f2640f38a7e29e37cc37) used to create the binary and development RPMs