I’ve been working on porting openFrameworks to the Jetson platform. This video is a bookmark as to the progress. Looky here:
Using the ofxKinect add-on, the demo shows the ‘Kinect Delaunay Triangulation Experiment’ from:
https://github.com/kamend/KinectDelaunay
Though the video is a direct screen capture, the audio was shifted to better synch with the motion as there was about 250-400ms of lag. The processed video is from a Kinect 360 which captures the scene in 3D. The actual computational geometry processing takes place on just one ARM core, this is just the start, a bare bones port.
The port is based on information gathered here:
http://forum.openframeworks.cc/t/trying-to-compile-an-example-on-tegra-jetson-tk1/16128
and is being gathered up in the jetsonhacks Github repository:
https://github.com/jetsonhacks/openFrameworks/tree/jetson
5 Responses
Wow good port! Is this purely in Arm cores or is any use made of the GPU cores?
Hi moreteavicar,
This is just using mostly the ARM cores. I got sidetracked on to other things, but would like to revisit the Kinect project using the GPU for mapping the scene in GLSL.
Hi kangalow,
Thanks for bringing jetson to life :). However, when i pull your repo, I cannot see the makefiles in each example and the annoying mesa lib dependency problem persists. Codeblocks example builds fine(i prefer to write in vim), but “jetson” is not identified as proper type in makefile build. I am not sure changing “raspberry pi” definitions into “jetson” will solve the problem.
I don’t believe in 0.8.4 there were make files for examples per se, it’s all part of the openFrameworks build system.Typical cross platform support was through Code::Blocks and the openFrameworks Program Generator.
In the more current releases, 0.9.2, Qt support is added and the make situation is somewhat different. I haven’t spent much time using openFrameworks, but ArturoC is working on a more modern branch: https://github.com/arturoc/openFrameworks/tree/feature-jetsontk1
One of the keys is to set the environment variable PLATFORM_VARIANT=jetson so the proper make file is used.
There are several issues with openFrameworks on the Jetson, first of which is openFrameworks for Armv7 normally uses OpenGL ES, whereas the Jetson prefers to use OpenGL proper. Another issue is the tesselator, one of the type casts in the library is incorrect for the Jetson, so that needs to be recompiled. As I recall, there is also an issue with the GLFW library, something with the version used by openFrameworks versus the current distribution. My suggestion would be to go to the 0.9.2 version and start figuring out what the issues are, and go from there as the version that’s in the JetsonHacks repository is rather old at this point. You’ll then be able to ask questions in the openFrameworks forum, where people seem happy to help others work through issues.
I have openframeworks running on Raspbian Jessie (RPI 3 – ARM). Installing was a breeze compared to porting to the TX1. It looks like there are fixes in the works for some of the issues (see below). I believe a PLATFORM_VARIANT (e.g. Jetson) will need to be used to compile successfully on the TX1. It would be nice to see a TX1/TX2 openframeworks install blog post.
PLATFORM_ARCH=aarch64
PLATFORM_OS=Linux
PLATFORM_VARIANT=jetson
https://forum.openframeworks.cc/t/trying-to-compile-an-example-on-tegra-jetson-tk1/16128/8