Using Kinect for Windows with a Virtual Machine

Kinect for Windows 1.6, 1.7, 1.8

Virtual Machine (VM) software provides a way to run a copy of one operating system (say Windows) as a process in a different operating system (say Linux). Windows programs running in a Windows virtual machine have no indication that they are running on hardware whose primary operating system may not be Windows.

The Kinect for Windows sensor now works on Windows running in a virtual machine and has been tested with the following VM environments:

  • Microsoft Hyper-V

  • VMware

  • Parallels

VM support greatly expands the utility of the Kinect for Windows SDK, as it can now be used on any machine whose native OS supports running Windows in one of the VM packages listed above. This means that with the software listed above, the Kinect for Windows SDK will now run on Mac and Linux machines. VM support additionally enables several developer scenarios, such as certain automated testing approaches requiring Windows machines with different configurations.

However, please note the following limitations:

  1. Only the Kinect for Windows sensor will work on a virtual machine. Kinect for Xbox sensors are not supported.

  2. Kinect for Windows will NOT support multiple Kinect for Windows sensors on the same virtual machine.

  3. If a Kinect for Windows sensor is currently visible to a virtual machine and is in use by an application, and a second Kinect for Windows sensor is connected, the original Kinect for Windows sensor will continue functioning, and the second sensor will be ignored. If the application using the Kinect is then stopped and restarted, NO Kinect for Windows sensors will be visible to the application (because there are now two Kinect devices available).

  4. When using Microsoft Hyper-V, the only OS version that supports Kinect for Windows is Windows 8 Enterprise. The Kinect for Windows sensor will NOT work with Hyper-V on Windows Server.

Enabling the Kinect for Windows sensor with a virtual machine

In VMWare and Parallels, you must make sure the Kinect for Windows Camera and the Kinect for Windows Audio are both checked for use in the Virtual Machine device options.

In the Microsoft Hyper-V environment, you must perform the following setup steps:

Setting up Microsoft Hyper-V for the Kinect for Windows sensor

  1. Create a Hyper-V virtual machine as usual.
  2. Allocate at least 4 cores to the virtual machine so that the desired performance is achieved.

  3. Install the Kinect for Windows SDK to the virtual machine.

  4. Edit the group policy to enable RemoteFX as shown below:

  5. Figure 1.  Setting the Group Policy for RemoteFX

  6. Reboot.

  7. Plug the Kinect for Windows sensor into the machine.

  8. Make sure the Kinect for Windows drivers are installed on the host machine.

  9. Open Start > Remote Desktop Connection > Local Resources.

  10. Figure 2.  Configuring the Remote Desktop Connection

  11. Click the More button to access the following screen, select the options shown and click OK.

  12. Figure 3.  Enabling the Kinect Sensor

  13. Connect to the target VM. The Kinect for Windows device will then install.

Community Additions