Virtual Machine with support for hardware access: USB 3 (and PCI)

If you're interested in passing through devices with maximum predictability (i.e. you want to be sure that the software you're developing works over a passed-through USB3 connection exactly the same way it would over a real one, rather than relying on desktop hypervisor passthrough technologies, and host-OS driver problems), using a desktop virtualization solution might not be the best way to go. ESXi, Xen, and XenServer all offer much lower-level and more predictable hardware-passthrough capability than any desktop-based solution. This makes sense, since the desktop solutions tend to be concerned with minimizing end-user configuration and just getting some functions of a device working.

If run on compatible hardware, the thin hypervisor solutions support the ability to use "device passthrough", which can be used to forward a device to a VM via IOMMU/VT-D processing, also known as PCI passthrough. That device is then dedicated to that VM (until you detach it).

This means it functions exactly as if it were connected directly. There is no "what if" intermediary layer of requiring compatible drivers for the host, and a functional per-device-type resource sharing strategy for the hypervisor: the device is just passed through, raw, to the guest. All three major thin hypervisors also support the direct passthrough of arbitrary USB devices in a similar fashion (though that doesn't require IOMMU/VT-D capable hardware). Passed-through USB devices can also be hot plugged/unplugged, unlike passed-through PCI devices.

Using a thin hypervisor also affords you the benefit of being able to connect just a few instances of the device you're testing on to a single server, and then give each of your developers a VM on that server. When one developer wants to test with the hardware (s)he can request a device connection, an administrator can connect the USB device to that developer's VM via device passthrough, and then they can access their VM via remote desktop or similar.

There are a few caveats, however:

First: outside of a very narrow range of compatible hardware, passing through graphics cards does not work well (and it mostly only works reliably on XenServer--here's how, and here's the HCL). This does not, so far as I know, apply to video capture cards such as the one you discussed. Second, direct-connecting PCI devices often blocks the use of other advanced hypervisor technologies (such as snapshotting, migration, or other HA features). Third: with the exception of graphics card issues, ESXi has the most robust and user-configurable method of managing device passthrough. You can do it with Xen (and manually with XenServer), but not as easily as you can with ESXi. Fourth: specific versions of ESXi impose restrictions on what devices you can pass through. ESXi 5.0 will pass through more or less anything you give it (even at risk to system stability). 5.1 is much more picky, and will often disable passthrough for devices without giving you a good reason.


VMware Workstation 9 has support for Windows 8, and USB 3.0. I have used my Microsoft StudioCam w/ USB successfully with VMs by simply toggling the option to connect to guest (disconnect from host). You may run into trouble with the PCI card so I would suggest finding a USB alternative solution to capture the feed.