Skip to content
Drivers and related code/data for improving the hardware experience for the HDK on Windows
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Combined-Installer
Inf-Installer-Instructions
Inf-NSIS-Installer
Inf
Metadata
context-menu
installer-icon
vendor/atmel_usb_dfu
.gitignore
README.md
sampleconfig.cmd
shared.cmd

README.md

OSVR HDK Windows Drivers

(and related code/data for improving the hardware experience)

Maintained at https://github.com/OSVR/OSVR-HDK-Windows-Drivers

For details, see http://osvr.github.io

For support, see http://support.osvr.com

Dependencies

Most of the scripts here require the Windows Driver Kit - version 10 is the default, so if that's what you have, you'll probably be able to minimize how many files you edit.

The executable installers require NSIS 3 (in beta last time I updated this).

To make a zip file of the infs automatically with make-zip, you'll need the 7-zip command line tools installed (I used Chocolatey to install it) such that you can run 7za in a command prompt and have something useful happen.

To fully enjoy these files, especially on Windows 8 and newer, you'll need a code-signing certificate (self-signed if you're using them on a test-signing-mode machine). Microsoft makes the rules for signed drivers, sorry.

Directories and Output Files

/Inf/

  • osvr_cdc.inf
  • osvr_cdc.cat - generated by batch file from inf and code signing.

Signed inf and catalog files to enable the CDC serial port on the HDK (used for firmware upgrades, etc - not needed for basic usage). Suitable for Windows 8.1 and older - Windows 10 includes a universal CDC driver. Can be installed on any Windows-supported architecture (including ARM) using pnputil or the "have-disk" method in Device Manager.

Other inf files in this directory are primarily for appearance: they provide "friendly names" for OSVR HDK-related devices in the device manager without changing their behavior from the "in-box" drivers.

/Inf-NSIS-Installer/

  • OSVR-HMD-CDC-Driver.exe - generated by batch file using inf and cat from above, NSIS 3.x compiler, and code signing tools.

This is a simple installer/bootstrap tool that supports installing the inf and cat described above into the system driver store (and onto any matching connected device). It supports x86 and x64, but not ARM or Itanium because it's a native-code-compiled binary.

By default it will pop up some dialog boxes as installers tend to do. For a fully silent install, run with the argument /S (case sensitive), and if you don't want even a UAC prompt either, you should run it as admin/elevated.

Uses dpinst internally, so it will append to the log in %SystemRoot%\DPINST.LOG if you're curious. DPInst, not the NSIS wrapper, is the one that will create the uninstall item in "Programs and Features" aka "Add/Remove Programs".

/Metadata/

Device Metadata (and Device Stage data) - Provides a nicer experience in Devices and Printers. The actual metadata files (cab files in disguise) are generated with Python and Jinja2 from the source files there.

Includes its own standalone NSIS installer, but...

/Combined-Installer/

An NSIS installer for both the INF-based drivers (critically the CDC driver, plus the naming drivers) and device metadata.

As mentioned above, inf drivers get uninstallers courtesy of dpinst. No uninstaller at the moment for the device metadata because it's tiny, harmless, and installed by a somewhat sophisticated device metadata toolkit that peers inside the metadata CAB, uses some raw Win32 API functions, and combines that information to compute the appropriate installation procedure, so figuring out an uninstaller would be a bit of a pain. Not to mention, the device metadata store is designed to handle easy replacement of old metadata by new based on timestamp and every build generates a new timestamp. (Microsoft doesn't really have an established method for getting these installed besides Windows Update or manually copying them. The requirements for the Windows Update route are not fully clear and/or not high enough ROI to the point that you probably don't have as many pretty icons in Devices and Printers as you'd like, even from premium device vendors. But hey, Sensics can move heaven and earth to get a premium experience :D )

License and Vendored Projects

This project: Licensed under the Apache License, Version 2.0.

  • /vendor/atmel_usb_dfu - Atmel USB DFU drivers (based on libusb-win32 1.2.2.0) - under the GPL or LGPL (their documentation conflicts)
  • /Metadata/MetadataInstallTool - Binaries from the Sensics-authored Device Metadata Tools, initially written for use in this project (Licensed under the Apache License, Version 2.0)
    • The binaries vendored here are built without the assemblies that use MS DTF, which is part of the WiX toolkit licensed under MS-RL
You can’t perform that action at this time.