Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X

branch: xtion

This branch is 7 commits ahead and 4 commits behind master

Asus xtion pro fixes for Windows

1) only build glview (it's the only thing that works)
2) add a hack in libusbemu that deals with the different stream id

Signed-off-by: Drew Fisher <>
latest commit 9bbe34fdde
Drew Fisher authored May 05, 2012
Octocat-spinner-32 cmake_modules Fix cmake libusb search and fix libusb include February 05, 2012
Octocat-spinner-32 doc Removed old, unused kinect protocol documentation, as all info now ex… February 15, 2011
Octocat-spinner-32 examples
Octocat-spinner-32 fakenect
Octocat-spinner-32 include Fix build on Windows after changing includes from <libusb-1.0/libusb.… February 05, 2012
Octocat-spinner-32 platform
Octocat-spinner-32 src
Octocat-spinner-32 wrappers
Octocat-spinner-32 .gitignore Fix the java wrapper November 14, 2011
Octocat-spinner-32 APACHE20 Moved concise apache 2 license to more descriptive filename November 22, 2010
Octocat-spinner-32 CMakeLists.txt
Octocat-spinner-32 CONTRIB Add CONTRIB file and December 12, 2010
Octocat-spinner-32 GPL2 Add new license headers and files November 15, 2010
Octocat-spinner-32 HACKING HACKING: document how to make debug builds October 15, 2011
Octocat-spinner-32 README.asciidoc Fix the java wrapper November 14, 2011
Octocat-spinner-32 Add CONTRIB file and December 12, 2010


Ongoing Development and Maintenance by the OpenKinect Community

  • Original Code and Engineering: Hector Martin (marcan)

  • Community Lead: Josh Blake (JoshB)

  • Integration: Kyle Machulis (qDot)


libfreenect is the core library for accessing the Microsoft Kinect USB camera. Currently, the library supports access to:

  • RGB and Depth Images

  • Motors

  • Accelerometer

  • LED

Audio is currently being worked on.

Information Resources

Information about the OpenKinect project can be found at

For questions, support, and discussion, check out the google groups mailing list at

Or the IRC channel at

#openkinect on Freenode

We are also on twitter at


For the driver, you’ll need

  • libusb-1.0 >= 1.0.3 (*nix and OS X)

  • libusb-win32 (Windows)

  • Cmake >= 2.6 (All platforms)

For the glview sample, you’ll need

  • OpenGL

  • glut

  • pthreads (Either platform provided or pthread-win32 for windows)

For links to the software listed, see

See the platform specifics section for other information specific to the platform you may be working on.

Basic Compiling Instructions

To use CMake:

  • Make a directory somewhere. Like, say, build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Platform Specifics



You will need to pull the matching version of libusb for this patch. This is NOT v1.0.8, this is a change based off the repo head as of 2010-10-16. To get a tar.gz with the snapshot of the repo at this point, hit the link below.

Once you’ve gotten that tarball and unziped it somewhere, patch using the files in platform/osx/. Just go to the root directory of the libusb source and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

You need to tell configure to include some necessary frameworks: ./configure LDFLAGS=-framework IOKit -framework CoreFoundation

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

OpenGL and GLUT come as prebuilt frameworks with OS X, so that should do it for requirements.


Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

If you want to see the glview example:

  • freeglut3-dev (or whatever freeglut dev package your distro has)

  • libxmu-dev

  • libxi-dev

udev rules are available in the platform/linux directory so that you are not required to run as root.


Windows support is now available in libfreenect. The inf files in the platform/windows directory can be used for installing the device, and the library will need libusb-win32 to compile.


libfreenect has interface to several languages. Look in the wrappers/ directory for them:

  • C (using a synchronous API)

  • python

  • actionscript

  • C#

  • Java (JNA)


The libfreenect project is covered under a dual Apache v2/GPL v2 license. The licensing criteria are listed below, as well as at the top of each source file in the repo.

This file is part of the OpenKinect Project.

Copyright (c) 2010 individual OpenKinect contributors. See the CONTRIB
file for details.

This code is licensed to you under the terms of the Apache License,
version 2.0, or, at your option, the terms of the GNU General Public
License, version 2.0. See the APACHE20 and GPL2 files for the text of
the licenses, or the following URLs:

If you redistribute this file in source form, modified or unmodified,
you may:

- Leave this header intact and distribute it under the same terms,
  accompanying it with the APACHE20 and GPL2 files, or
- Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
- Delete the GPL v2 clause and accompany it with the APACHE20 file

In all cases you must keep the copyright notice intact and include a
copy of the CONTRIB file.

Binary distributions must follow the binary distribution requirements
of either License.
Something went wrong with that request. Please try again.