Kinect on BB running Ubuntu with OpenNI or libfreenect

Has anyone managed to get the Kinect with OpenNI, PrimeSense or
libfreenect GLUT-based samples working on the BeagleBoard-xM running
Ubuntu 10.10 or 10.04 (I've tried both)? I get a segmentation fault
but non-GLUT samples (like tiltdemo) seem to work implying that the
driver install went ok. I'm thinking that my system has a problem not
directly related to the Kinect or else there is some kind of x86 to
ARM change that needs to be made in the sample source that I haven't
found.

Any help appreciated - thanks!

Seems it was just a GLUT issue (glutCreateWindow causing segmentation
fault) as I now have my own application running successfully with the
OpenNI framework.

Hi TiroKart

I have a C4 Beagleboard and I am about to purchase a new xM... Is the
Kinect with BBxM pretty much plug and play? If not, would you be able
to write up a guide of setting open libfreenect and OpenNI?

Thanks

Instructions are on my blog -
http://tirokartblog.wordpress.com/2011/01/22/kinect-on-the-beagleboard-xm-not-working-yet/
. The process is not terrible and maybe you'll be able to tell me how
to get GLUT working!

Hey this is really cool that you got the kinect working on the
beagleboard using ubuntu. Do you think this is possible with
Angstrom? I have been trying all night to get the freenect examples
to compile. I am using CodeSourcery gcc compiler for arm processors
on my host computer before I put the code in my BB. In any case,
where did you compile your code? It seems you did it in your
beagleboard. If you did, did you need internet to get the necessary
packages before it ran on your computer?

Thanks. Your answers will help me greatly!

Hey this is really cool that you got thekinectworking on the
beagleboard using ubuntu. Do you think this is possible with
Angstrom? I have been trying all night to get the freenect examples
to compile. I am using CodeSourcery gcc compiler for arm processors
on my host computer before I put the code in my BB. In any case,
where did you compile your code? It seems you did it in your
beagleboard. If you did, did you need internet to get the necessary
packages before it ran on your computer?

Can't see any reason why it wouldn't run on Angstrom (I don't use
Angstrom myself though). Yes, everything was compiled on the BB. The
only problem I had was that the samples that used GLUT didn't work but
that might not be a problem on Angstrom. Internet connection is needed
to get the packages installed in order to successfully compile. I've
always found it easier to compile natively as it takes out a lot of
variables. It's not much fun to develop code natively but just for
compiling working software, it's the way to go in my opinion.

Yea I agree but its a lot slower considering the resources available.
I know I was able to get the arm-none-gnueabi-gcc compiler to compile
a simple "hello world" app that ran on my BB. But compiling the
freenect for the Kinect is harder for me because I don't know about
the libusb stuffs all that well or which library that software uses to
kinect to the kinect. :slight_smile:

You have any clue?

Thanks.

a simple "hello world" app that ran on my BB. But compiling the
freenect for theKinectis harder for me because I don't know about
the libusb stuffs all that well or which library that software uses tokinectto thekinect. :slight_smile:

You shouldn't need to worry. As long as the right packages are
installed (as per the instructions) then it should just compile
(provided Angstrom is enough like Ubuntu - if not, why not just run
Ubuntu instead?). In fact what I have been doing is developing code on
a PC running Ubuntu with Eclipse. When it's working, I just move the
files across to the BeagleBoard and use the generated makefiles to
recompile everything natively. Usually no changes have to be made and
everything works. If there's a need to debug on the BeagleBoard,
that's when cross-compiling becomes important. However, just to
compile the Kinect drivers and examples should be straightforward.