Connect the Kinect v. 2.0 to UP board

I have been waiting fo a long time a mobile device which is able to receive the data from the Kinect v. 2.0 (XBox One). The device must have a USB 3.0 port. Finally I found the board on Kickstarter. Its name is UP Board.

Kinect 2.0 for Windows + UP Board
Kinect 2.0 for Windows + UP Board


There is only a micro usb B port instead default USB port on the device (I don’t know why). Therefore I needed to use USB converter. BTW Kinect works with this cable instead of my RealSense.
So, let’s go. We need to compile a new version of Beignet 1.2 for correct working of the library in CL mode.
To compile Beignet we need LIBVA Video Acceleration API

Also you will need:
Intel driver for LIBVA

Unfortunalety, we need to compile Low Level Virtual Machine (LLVM) with corresponding version of Clang. The Beignet documentation says us that we need the compiler of 3.6-3.8 version.
Edit:Yoy can use the precompiled LLVM. For this you should add the repositories to /etc/apt/sources.list.d/jessie.list
deb http://llvm-apt.ecranbleu.org/apt/jessie/ llvm-toolchain-jessie-3.7 main
deb-src http://llvm-apt.ecranbleu.org/apt/jessie/ llvm-toolchain-jessie-3.7 main

It is not necessary to compile LLVM by yourself. But you can do it if you want.
Also we need LIBDRM – cross-driver middleware which allows user-space applications (such as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI protocol.

Besides we should to install CMRT – C for Media Runtime. Media GPU kernel manager for Intel G45 & HD Graphics family

Furthermore we need to install following libraries from the repository:

Eventually we can compile Beignet 1.2. It contains the code for compile OpenCL programs on Intel GPUs.

Moreover add the LibUSB for access to USB devices.

We need the GLFW for the developing with OpenGL, OpenGL ES and Vulkan.

At last we can start to install LibFreenect2

After end of compile we can try to run the test application of Freenect2:

and see something like this

or some sort of this but with two hands)):
Thank you for attention.

If you like the post you can donate:
BTC: 17h8xfX11tZWZ5fbDR58MCVhCrAjjL31w7
LTC: LTJj6LS3n8fndcoeysDVMDzH1u9Amg581C
DGE: D7XqBhykUDmb7JLMVkT3QLd7yAJ241zyGM
ETH: 0xc189c61c20960cbcb57cd040c67f421180966967
ZEC: t1VnhNCzArY8yS8U37jshYYkcMmRJYh2FAE

8 thoughts on “Connect the Kinect v. 2.0 to UP board”

  1. I’m reproducting this in UpSquared right now… had a few issue, and updating to latest beignet seems to have cleared it up.

    Can we make this a maintained (set) of scripts to help others? The state of usability/reproducibility with openCL on intel is horrible. I think we can help.

    1. Hello,

      I am also starting a project using the up squared board (4gb ram) and the kinect v2. Do any of you have experience using the kinect with an upboard running windows and kinect sdk? we don’t need a need too high of framerate for our application and would save a lot of time using windows rather than ubilinux.

      Thanks for your help to the community!

  2. Can you confirm able to get Protonect to with openCL? in your video the frame rate looks similar to mine when i run CPU method (on up Squared); it’s slow (many dropped frames) and ultimately kernel panics (reboot).

    When I run CL method, is get null frame errors. so I’ve clearly not gotten it to work correctly yet.

    Like to connect with you to collaborate on this.

      1. I did, but abandoned using the upsquared since i could take the dissapointment any more. I’m picking it up again however and would like to try again. can we connect via email? I don’t get updates here and the up forum is trash.

Leave a Reply