Using the Proper Kinect USB Drivers

End of Year Ball
This picture has nothing to do with Kinect, but I took it after the End Of Year Ball and I quite like it…

I’ve been playing with the Microsoft Kinect SDK and I really like it. The speed with which it snaps on to people and tracks them is really impressive. However, I did have one bit of fun and games when I installed it. Like loads of other people I’ve been using other drivers with the hardware and although some of these have uninstall behaviours they don’t always get rid of the device drivers themselves. This can lead to problems when you try to install the “proper” drivers and the old ones load up and get in the way. So, to get rid of the Kinect drivers you can do this before you install the Microsoft Kinect SDK. First perform the uninstall on all the previous drivers. Now you need to get rid of anything left lying around:

Open up a new command prompt running in Admin mode. The best way to do this is to click the Start button, type CMD into the search box and then hold down CTRL+SHIFT and press Enter. If you get this right you will be rewarded with a User Account Control dialogue box warning you that you are about to do something vaguely dangerous. Click OK.

Now, in the command box give the command:

SET DEVMGR_SHOW_NONPRESENT_DEVICES=1

This sets an environment variable to tell Windows you want to see all the hardware devices, not just the ones that are active . If you type this command wrong you won’t see an error of any kind, but the process won’t work either. You can select and copy the above text into the paste buffer, then right click in the command window and paste it into the command prompt if you like. Now give the command:

devmgmt.msc

This starts the Device Manager. Now open the View menu and select “Show hidden devices”. This is actually quite fun, as now you will see every device that has ever been connected to your computer. If your machine is like mine there will be around 50 or so different Disk drives, one for every memory key that has been plugged in over the years. Look through the device tree for things with the word Kinect in the name, or the name of the package you are removed.  Look in the “Human Interface Devices”, “Sound, Video and Game Controllers” and “Universal Serial Bus controllers” parts. Anything you find that you want to get rid of you must right click and select Uninstall. If the dialog that appears has a checkbox marked “remove driver software files” then you should select this so that the driver files are no longer around to cause trouble.

Note that this could be vaguely dangerous, in that if you delete an important driver for your system you might find that it will stop working until you replace the driver file, but if you only remove things that are to do with Kinect you should be fine. One tip is to plug the Kinect sensor in before you remove the software and just note what appears in the Device Manager when you do this. These are the things that need to be removed.

Once you have removed all the drivers simply exit Device Manager and close the command prompt. The setting is forgotten, so if you want to remove other drivers later you have to do the whole thing again. This technique can also be useful for removing old USB drivers that are causing trouble.