OSVR Developer Documentation
Introduction to OSVR
- Introduction to OSVR
- OSVR feature list
- List of supported devices, engines and operating systems
- List of OSVR partners
- OSVR presentations and speaker notes
Using OSVR
Getting Started
Installing OSVR
- Windows
- Minimum recommended version : Windows Vista SP1 or later
- Download pre-compiled binaries and drivers
- Install and test RenderManager
- Linux
- Minimum recommended version : Debian Jessie or equivalent ( Ubuntu 15.04+ for example )
- Very generic instructions
- Android
- OS X
- Minimum recommended version : El Capitan
Note : It can be used in earlier versions but might require compilation and tweaking.
Running the OSVR Server
Setting the OSVR_SERVER_ROOT environment variable
OSVR server auto-start functionality in ClientKit (Windows only for now) currently relies on the OSVR_SERVER_ROOT environment variable to find the server you would like to have launch. Install the OSVR Runtime, then set the OSVR_SERVER_ROOT environment variable to C:/Program Files/OSVR/Runtime/Server (for 64-bit) or C:/Program Files (x86)/OSVR/Runtime/Server (for 32-bit).
Server parameters
Running the OSVR server just requires passing it a configuration file. For example: osvr_server osvr_server_config.json
if no parameter is specified, a default file is used.
Configuring OSVR
- Using the OSVR-Config utility
- Using the SensicsTray utility
- RenderManager
- Calibrating the video-based tracker
- Local and distributed client/server configurations
- Device-specific configuration
- Integrating with VRPN devices
- Configuring OSVR HDK2 and other OSVR-supported HMD with VIVE Puck Tracking
Utilities
- OSVR-Central
- Bundled with OSVR-Core binary snapshots/included in the OSVR-Core source tree:
- TrackerViewer
- OSVR Control
- Updating OSVR HDK Positional Tracking IR board firmware
- Updating HDK Firmware from Linux
- Distortionizer helps measure distortion parameters for HMDs
- Latency tester. Open-source Arduino-based latency tester
- OSVR HDK Video Status Tool - Find out what video signal the HDK is receiving.
- HDK Video Status Tool Windows Binaries - On the Releases page - often a good place to check.
Troubleshooting
- FAQ
- OSVR server
- Render Manager
- HDK troubleshooting
- Skewed tracker orientation
- See also the HDK video status tool above in Utilities.
- Device-specific information
- Performance optimization using Event Tracing for Windows
- Re-flash bootloader on OSVR HDK
Developing with OSVR
- Setting up the development environment
- Directory of projects
- Doxygen-generated developer documentation of OSVR-Core
- Doxygen-generated internal documentation of OSVR-Core
- Creating an OSVR project
- OSVR interfaces
- Useful resources and tools
- Device-specific information
Game Engines and OSVR
- Unity
- Tutorial video
- Unity VR demos are OSVR versions of the standard VR demos that ship with Unity 5.3
- Palace demo is a Unity demo illustrating how to use the Unity OSVR plugin
- Unity version of Palace demo including APK and compilation notes
- Palace demo and other Unity binaries
- Migrating Oculus Unity apps to OSVR
- Unreal
- OpenVR/SteamVR
- Blender
- WebVR
- CryEngine
- Monogame: video
- OpenGL
Extending OSVR
- Adding a New HMD
- Adding a new Device
- Writing an OSVR Plugin
- Writing an OSVR Client
- Porting to a New Operating System
Roadmap
- Aug 2016 article in RoadToVR on future plans for OSVR
- In September 2015, RoadToVR published an article by Yuval Boger of Sensics about the OSVR roadmap. It is an excellent starting point to understand the OSVR big picture and roadmap.
- The OSVR Waffle Board contains an overview of issues currently in GitHub issue trackers for all OSVR framework projects.
- Additional development priorities suggested by the core OSVR team can be found here.
Hacking the Hardware
- iFixit guides on various HDK 1.3/1.4 upgrades and repairs
- Replacement parts and other OSVR-related products
Getting Support
Search
Custom Google Search for the OSVR project
Free support
- Post an issue on the OSVR Github projects to be addressed by the OSVR community
- Open a support ticket on the support portal (or email "support at osvr.org") to be addressed by core developers
- Visit the OSVR development chat rooms
Paid support
Some companies such as Sensics provide premium support services for OSVR including phone support, system engineering, authoring drivers or integration help. If you require support beyond the free support options, consider contacting the premium providers.
Participate
A list of OSVR developer chat rooms is here
Some existing rooms:
Useful Links
Contributed from the OSVR community
- Revive allows non Oculus headsets be used for games which only support Oculus headsets when run through steamvr runtime https://github.com/LibreVR/Revive and then potentially work on OSVR supported through the SteamVR interface
- FakeVive allows non HTC headsets be used for games which only support HTC headsets when run through steamvr runtime. https://github.com/Shockfire/FakeVive
- Non-Vive controllers can be used through with OSVR with Vive games. See https://github.com/OSVR/OSVR-Docs/blob/master/Extending-OSVR/ConfiguringHDKViveTracking.md . Alternatively, OpenVR-AdvancedSettings gives users access to many useful openvr and openvr apps settings. Users that do not have Vive controllers will need to access these settings from desktop or rely on using the hydra drivers and six sense SDK from steam tools to emulate Vive controllers to access the settings in an overlay running as a steamvr dashboard app https://github.com/matzman666/OpenVR-AdvancedSettings
For Vive Controller Emulation:
- FreePIE https://github.com/AndersMalmgren/FreePIE
- Opentrack https://github.com/opentrack/opentrack
- FreePIE-VR-Controls https://github.com/fmaurer/FreePIE-VR-Controls
Additional Information
- OSVR mailing lists and newsletters
- OSVR marketing Web site
- VR Knowledge Nuggets
- The Sensics insights page often covers OSVR-related topics and includes tutorials such as:
- Key parameters in optical design
- Common eye tracker configurations
- Understanding pixel density and eye-limiting resolutions
- Predictive tracking
- Foveated rendering
- Asynchrnous timewarp
- Geometric distortion
- Converting diagonal FOV and aspect ratio to horizontal and vertical FOV
- TV screen size vs. goggle field of view
- How things work: the dual-elements optics of the OSVR HDK
- Binocular overlap
- What you should know about head trackers
- An overview of positional tracking technologies for VR