Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Haskell interface to Kinect.
Haskell C
branch: master
Failed to load latest commit information.
examples Add example programm for switching LED
src Add support for kinect's microphones
.gitignore Added video support.
LICENSE Added video support.

Haskell interface to the Kinect

The following instructions assume you are installing in a Linux environment (specifically, Ubuntu 10.04 32-bit). It also assumes that you already have Haskell/GHC installed.


sudo apt-get update
sudo apt-get install cmake
sudo apt-get install git-core
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libxmu-dev
sudo apt-get install libxi-dev
sudo apt-get install libcv-dev
sudo apt-get install libhighgui-dev

Installing libfreenect

To install the libfreenect library, first checkout the latest version of the source code from their github repository:

git clone

Next, move into the source folder and build the library using cmake.

cd libfreenect
mkdir build
cd build
cmake ..

Install it:

sudo make install

Lastly, ensure you never have to run libfreenect code as an administrator by copying the included udev rules:

cd ..
sudo cp platform/linux/udev/51-kinect.rules /etc/udev/rules.d

Installing this library

First check out the code:

git clone

Next, move into the folder and install using cabal:

cd freenect
cabal install freenect.cabal

Installing the examples

In the freenect source folder:

cd examples
cabal install examples.cabal

If you encounter errors, you may need to install the glut and juicypixels hackage packages:

cabal update
cabal install glut
cabal install juicypixels

You can also run these examples directly. First navigate to the src directory:

cd src

To run the RGB.hs program, which grabs an RGB video frame from the Kinect and saves it as a file called "output.bmp" in the same directory, run:

runhaskell RGB.hs

To run the GlutRGB.hs program, which displays the real-time RGB video stream from the Kinect in a window, run:

runhaskell GlutRGB.hs


  • Couple parts in the Haskell FFI do some mallocation, must add the necessary free()-equivalent calls.
Something went wrong with that request. Please try again.