kinect-audio-setup makes audio input from the Microsoft Kinect Sensor
device work on GNU/Linux systems.
When the Kinect is first plugged in the USB port it shows up as
a generic USB device with a bulk endpoint; after uploading a certain
firmware a reenumeration takes place and a USB Audio Class (UAC) device
kinect-audio-setup provides tools to download the firmware off the net
at installation time —since the firmware is not redistributable—, and it
sets up udev rules to call the firmware loader when the device is
plugged in to finally get the USB Audio Class device.
Note that for all the magic to happen automatically pulseaudio >= 1.0 is
needed, as it contains the kinect-audio.conf profile which fixes audio
- kinect_fetch_fw which downloads and extracts the firmware from the
Microsoft Kinect SDK;
- kinect_upload_fw which loads the firmware to the generic USB device
in order to get the USB Audio Class device to show up;
- udev rules to call kinect_upload_fw when the device is plugged in.
To install kinect-audio-setup from the source distribution follow the
steps below with superuser rights:
Install kinect_upload_fw first:
# make install
it will be copied to /usr/local/sbin by default, assign the PREFIX
variable on the command line to install it to another location.
Then install the udev rules to automate the firmware loading:
# make install_udev_rules \
Then run the firmware fetcher script (remember this is only needed
# ./kinect_fetch_fw /lib/firmware/kinect
# udevadm control --reload-rules
The UAC firmware is downloaded from the Microsoft Kinect SDK at
http://www.kinectforwindows.org, the license of the SDK can be found at
A special thanks goes to Steven Toth from http://kernellabs.com, who
kindly sponsored a Kinect to Antonio Ospite and made kinect-audio-setup
possible in its current form.