# Install vrpn with Homebrew, dnf, MacPorts, Nix

Virtual reality peripheral network. Version 07.36 via Homebrew; verified 2026-06-22. Also installable with nix: nix profile install nixpkgs#vrpn.

## Install

```sh
sudo av install brew:vrpn
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vrpn
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install vrpn
```

  Evidence: MacPorts ports tree: net/vrpn/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install vrpn
```

  Evidence: Fedora Rawhide package metadata: vrpn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#vrpn
```

  Evidence: nixpkgs package indexes: pkgs/by-name/vr/vrpn/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:vrpn
- **Package manager:** Homebrew
- **Version:** 07.36
- **Source summary:** Virtual reality peripheral network
- **Homepage:** <https://github.com/vrpn/vrpn/wiki>
- **Repository:** <https://github.com/vrpn/vrpn>
- **Last updated:** 2026-06-22T14:06:36-07:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- vrpn_server (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 07.36
## Project history and usage

VRPN, the Virtual-Reality Peripheral Network, is a long-running library and server system that gives VR applications a device-independent, network-transparent interface to trackers, buttons, analog devices, haptic devices, and other peripherals. Its core historical value is that it decoupled VR applications from the physical device drivers and host machines used in labs.

### Project history

VRPN originated at the University of North Carolina at Chapel Hill. The 2001 UNC technical report by Russell M. Taylor II, Thomas C. Hudson, Adam Seeger, Hans Weber, Jeffrey Juliano, and Aron T. Helser describes VRPN version 05.04 as public-domain, open-source software that provided client libraries and device servers for virtual-reality peripherals.

The design addressed common CAVE and VR-lab problems: devices often had platform-specific drivers, long initialization procedures, timing sensitivity, and cabling or machine-placement constraints. VRPN's answer was a networked client/server model with device classes such as Tracker, Button, Analog, Dial, and ForceDevice, plus timestamping, clock synchronization, logging, replay, automatic reconnection, and both reliable and low-latency delivery paths.

The historical UNC page credits Russell M. Taylor II with the base design and implementation, and lists contributions from UNC, UIUC/NCSA, Brown, the Naval Research Laboratory, and commercial supporters. It also notes the move from older 4.x objects to the vrpn_BaseClass object by version 5.0, showing the project was already evolving through substantial API-era transitions before the later GitHub repository was created in 2010.

### Adoption history

The 2001 paper already reported users in academia, industry, and national labs, with device drivers and fixes coming from several institutions and support from Walt Disney VR Studios and Schlumberger Cambridge Research. It also listed integrations or planned integrations with WorldToolKit, Maverik, NCSA CAVE applications, Dragon, Bamboo, Panda3D, and DIVERSE.

The GitHub repository remains the official upstream repository and still sees maintenance activity, with the latest listed release as Version 07.36 in June 2025. Its source tree includes long-lived C/C++ code, Java and Python bindings, server sources, demos, device drivers, GUI server support, and embedded/Android-related components, reflecting the broad device-compatibility surface VRPN accumulated over decades.

### How it is used

A typical VRPN deployment runs one or more device servers close to the physical hardware and has VR applications connect as clients to named devices over the network. Application code subscribes to canonical interfaces such as tracker poses, button events, analog values, or force-device messages instead of speaking a device vendor's protocol directly.

For package users, `vrpn_server` is the important executable: it hosts configured devices and exposes them over VRPN's protocol. The package is most relevant to researchers, simulation labs, CAVE installations, haptics experiments, and legacy VR systems that need stable access to specialized tracking and input hardware.

### Why package nerds care

VRPN is package-nerd-significant because it is infrastructure glue from the pre-consumer-VR era that still solves a real systems problem: normalizing odd hardware into a network protocol that applications can consume consistently. It is less about shiny VR UX and more about keeping lab hardware, device drivers, and research applications talking.

### Timeline

- 2001: UNC publishes the VRPN technical report for version 05.04, presenting the architecture and documenting existing academic, industry, and national-lab users.
- Early 2000s: VRPN moves through 4.x and 5.x object-model changes, including adoption of vrpn_BaseClass for all VRPN objects by version 5.0.
- 2010: Official GitHub repository is created for ongoing public development.
- 2025: GitHub lists Version 07.36 as the latest release.

### Related projects

- VRPN historically connected to or was compared with VR Juggler, WorldToolKit, Maverik/DEVA, DIVE, Bamboo, Dragon, Panda3D, DIVERSE, CAVE applications, PHANToM haptics, Polhemus/Intersense/Ascension trackers, and other VR peripheral ecosystems.

### Sources

- GitHub repository API metadata: https://api.github.com/repos/vrpn/vrpn
- Official GitHub repository: https://github.com/vrpn/vrpn
- UNC VRPN project page: https://www.cs.unc.edu/~taylorr/cyberinfrastructure/vrpn_html/index.html
- UNC VRPN technical report PDF: https://www.cs.unc.edu/techreports/01-020.pdf


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - vrpn: normalized package name match | nixpkgs package indexes: pkgs/by-name/vr/vrpn/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - vrpn - 07.35-11.fc45: normalized package name match | Fedora Rawhide package metadata: vrpn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Virtual-Reality Peripheral Network | https://github.com/vrpn/vrpn
- dnf - vrpn-devel - 07.35-11.fc45: normalized package name match | Fedora Rawhide package metadata: vrpn-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development files for the Virtual-Reality Peripheral Network | https://github.com/vrpn/vrpn
- dnf - vrpn-doc - 07.35-11.fc45: normalized package name match | Fedora Rawhide package metadata: vrpn-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Developer's documentation for VRPN | https://github.com/vrpn/vrpn
- MacPorts - vrpn: normalized package name match | MacPorts ports tree: net/vrpn/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/vrpn.yml](https://github.com/mxcl/pkgdb/blob/main/combined/vrpn.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
