-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Driver Documentation
aleiby edited this page Jul 2, 2019
·
21 revisions
Let's say you want to write a new OpenVR driver called "mydriver". To do that you will need to following the steps below.
- Put all the files for your driver under a directory. Let's say that directory is "/mydriver"
- Add a new DLL to "mydriver/bin/win64/driver_mydriver.dll" (For Linux and OSX use the appropriate platform directory and the appropriate shared library extension.)
- Implement the driver factory function in that DLL.
-
Add an implementation ofThis was removed in OpenVR version 1.0.6.vr::IClientTrackedDeviceProvider
to the DLL and return it from the factory. This provider will be phased out in the next SDK udpate, but for now you need it. - Add an implementation of
vr::IServerTrackedDeviceProvider
and have that return implementations ofvr::ITrackedDeviceServerDriver
for each tracked device. - Add a driver manifest file to "/mydriver"
- Run: vrpathreg adddriver "/mydriver"
For devices with buttons, triggers, joysticks, and other kinds of input controls, please refer to the vr::IVRDriverInput
API.
For devices that wish to provide animation data through the Skeletal Input system, please refer to the Skeletal Input Driver documentation.
Other driver documentation: