VRPN 07.31

Obtaining VRPN

Getting Started

VRPN main page

VRPN Redmine

VRPN FAQ

VRPN Support

Installing and Testing

Compiling and Modifying

Client code

Server code

Troubleshooting

Connections

Logging and Playback

.NET bindings for VRPN

Shared Objects

Sound

Text Messages

VRPN on PDAs

UNC-specific information

VRPN USB

Credit and feedback for VRPN

The original version of VRPN (The Virtual Reality Peripheral Network) was placed into the public domain by the copyright owner Russell M. Taylor II at the University of North Carolina at Chapel Hill on May 4th, 1998

To protect all VRPN contributors from liability without restricting the use of VRPN, as of July 22nd, 2010, future versions of VRPN (versions 7.27 and higher) are being released under the Boost Software License 1.0, which is as follows:

Boost Software License 1.0 (BSL1.0)

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Additional requests (not part of the license) follow:

1. Please acknowledge this library in any publication, written, videotaped, or otherwise produced, that results from making programs using it. The acknowledgement should credit:

The CISMM project at the University of North Carolina at Chapel Hill, supported by NIH/NCRR and NIH/NIBIB award #2P41EB002025.

The number of users who do this (and furnish lists of publications) is considered very seriously as part of our service and dissemination missions when our grant comes up for renewal. When you do this, it greatly increases the chances that support for this work will continue.

2. Please furnish a reference to (and preferably a copy of) any publication, including videotape, that you produce and disseminate outside your group using our program. These should be addressed to:

   taylorr@cs.unc.edu
   Russell M. Taylor II
   Department of Computer Science, Sitterson Hall
   University of North Carolina at Chapel Hill
   Chapel Hill, NC 27599-3175

3. Please send us derived classes and drivers for new devices that you create for the library. We will attempt to include them in future releases of the library for you and others to use. This is the fastest way to get a working system for everyone.

If you want to reference VRPN in a publication, the following is a reference to the paper:

Russell M. Taylor II, Thomas C. Hudson, Adam Seeger, Hans Weber, Jeffrey Juliano, Aron T. Helser, "VRPN: A Device-Independent, Network-Transparent VR Peripheral System," Proceedings of the ACM Symposium on Virtual Reality Software & Technology 2001, VRST 2001. Banff Centre, Canada, November 15-17, 2001.

Please understand that the University cannot provide support for this product. While we may release future, updated versions of the software and fix reported bugs, we may be unable to do so. Such releases and updates are likely to be reported on the project web page at http://www.cs.unc.edu/Research/vrpn. You are welcome to contact us with questions and bug reports, which we will address as we have time.

Groups that are interested in commercial support for VRPN should see the VRPN support web page for more information.

Obtaining VRPN

HTTP: (Our FTP server was decommissioned in July 2012.) You can download release versions of VRPN from the downloads directory. The latest version is 07_31; previous versions include 07_30.

Release Git repository: The VRPN source repository was transferred from CVS to Git on July 15th, 2010 using cvs2git (which comes with the cvs2svn project). Since then, you can get VRPN directly from the Git source-code repository using the command:

git clone git://git.cs.unc.edu/vrpn.git

This will make a subdirectory under the present working directory named vrpn and check out the entire code history along with the files associated with the active branch. You can also browse the source tree at https://git.cs.unc.edu/git/?p=vrpn.git to look at the log file entries and individual files.

If you want to use the hidapi or other submodules that are included in VRPN, you then you can either add the --recursive option to the git clone command above or do:

git submodule init; git submodule update

UNC users with write permission to this respository can instead refer to it as git@git.cs.unc.edu:vrpn.git (you need to have a public key to let you in). To push a tag to that repository, you use git push origin --tags.

VRPN Redmine: There is a VRPN Redmine project management site that you can register for to add bug/feature requests for VRPN, which includes a browsable index of the Git repository.

Nightly Windows Builds: Ryan Pavlik has set up an automatic build system that builds the latest VRPN git (from his repo or the official one, whichever is updated) and upload binaries whenever a change is seen in Git. He's building for Windows using the "mingw-cross-env" system to cross-compile from Linux - so the libraries are probably not useful unless you use mingw-cross-env too, but the executable binaries (clients and servers) should be. He's building with HID support turned on, and everything statically-linked (so testimager_client doesn't need a glut32.dll, for example). They are uploaded to http://hci.iastate.edu/~rpavlik/downloads/vrpn-mingwcrossenv-windows-nightlies. There is also a set of nightly Visual Studio snapshots as well, built against a lot of different VS versions: http://www.hci.iastate.edu/~rpavlik/downloads/vrpn-visual-studio-snapshots.

Sending back updates: Send back Zip files including the entire modified and committed source or set up a Github or other repository and letting us know where to pull from.

VRPN core team: If you end up pushing in a way that requires a password, you may need to do the following in your shell ahead of time to avoid having it attempt to display via an X server:

unset DISPLAY; unset SSH_ASKPASS