pcDuino

What about pcDuino, have someone used it with openFrameworks yet?

i don’t think in this forum nonone reported to do this but Chris i think plan to use it: https://github.com/openFrameworks-RaspberryPi/openFrameworks/issues/137

It is almost running as of yesterday. I just ran out of hours in my day to finish it yesterday! It should work without any big changes though. We just need to get our static libraries in order.

An update here:

https://github.com/openFrameworks-RaspberryPi/openFrameworks/issues/139

Thanks to the good work you started I have made some progress in getting openFrameworks to run on the pcDuino using the mali framebuffer libraries.

I am working on a custom configured 3.4.29 kernel with the Linaro developer rootfs and the binary mali framebuffer libraries installed.

I have successfully gotten a c egl test program to compile and output graphics.

With openFrameworks I can compile and link programs and appear to have the keyboard and mouse events working. I am now working to update ofAppEGLWindow to work with mali native framebuffer windows so I can get some graphic output.

I solved the poco problems listed in the bug report above by installing libpocoxxx12 modules from debian experimental which are 1.4.3p1-1. That, along with a couple of other tweaks, got me to the point where library and programs would compile, link and run.

If anyone is interested let me know and I will post what I have so far. If I don’t hear from anyone I will just push on to get it working and post instructions when I get it working or get stuck.

Cheers!

digitalhack

Very cool @digitalhack - I also got everything compiling a few days ago with the new pcduino build (with the our included poco libs) but was unable to get the xorg drivers running, so your framebuffer solution will be awesome!

It’s not my latest (I am away from my pcDuino now), but here is a recent config file: https://gist.github.com/bakercp/5122611

I got almost there by using this tutorial:

http://linux-sunxi.org/Binary-drivers

Keep me posted!

Update…

I haven’t made much forward process but I have made some collateral progress.

  1. I am now using the most recent image released on the pcDuino website. At the new setup menu I configure for command line.

  2. The framebuffer libraries are all present on the image but for some reason the include files are not. I down loaded those from https://github.com/linux-sunxi/sunxi-mali/tree/master/include and then found I had to replace the GLES and GLES2 files with the ones here http://www.khronos.org/registry/gles/. Before I did this including both sets of files caused problems.

  3. I install the poco libpocoxxx12 modules from debian experimental which are 1.4.3p1-1 and remove the ones in the openFramework’s source tree.

  4. I then install a subset of the dependencies that are listed for ubuntu. If you install them all you will screw up the mali drivers.

apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libraw1394-dev libudev-dev gstreamer0.10-ffmpeg libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev python-lxml python-argparse libfreetype6-dev portaudio19-dev

  1. Install the codecs.

  2. Add to ofFbo.cpp below the GL_DEPTH_STENCIL define:

// added digitalhack
#define GL_STENCIL_INDEX GL_STENCIL_INDEX8_OES

  1. Build the pcduino.mk file.

  2. Install an updated copy of ofAppEGLWindow.cpp that has been updated to support mali framebuffer.

At this point I can compile and run an openFrameworks program but the only output I get is the background color and log messages to the window I run the program from.

In the next couple of days I hope to package up the files and put together a more complete set of instructions and get them posted. Maybe someone can see something that I have missed.

More to follow…

digitalhack

Hey Digitalhack, I’m excited to see your progress. Please let me know as soon as you have something uploaded in any form and I’ll take a look. The easiest option would probably be – issue a PR against our RPI branch and we could make the updates / discuss and pull it into the main repo before we merge the RPI branch into the main openFrameworks branch in a few weeks.

Bakercp,

I think I have everything updated on github. I don’t have time to test it right now but will try in the next day or so.

under digitalhack I forked:

sunxi-mali - updated the GLES and GLES2 includes in the update-includes branch.
openFrameworks-RaspberryPi/openFrameworks - renamed to RaspberryPi-openFrameworks and put my updates in the pcDuino-dev branch.

More to follow…

digitalhack

Success!

I am now able to compile and successfully run openFrameworks applications.

With the steps below you should be able to compile a pcDuino Hello World application similar to the one for the Raspberry Pi.

  
  
git clone [https://github.com/digitalhack/sunxi-mali.git](https://github.com/digitalhack/sunxi-mali.git)  
cd sunxi-mali  
sudo cp -R include/* /usr/include  
sudo cp /usr/include/EGL/eglplatform.h /usr/include/EGL/eglplatform_X11.h  
sudo cp /usr/include/EGL/eglplatform_fb.h /usr/include/EGL/eglplatform.h  
  
git clone [https://github.com/digitalhack/RaspberryPi-openFrameworks.git](https://github.com/digitalhack/RaspberryPi-openFrameworks.git)  
cd RaspberryPi-openFrameWorks  
cd scripts  
sudo install_dependancies.sh  
sudo install_codecs.sh  
sudo install_poco_libraries.sh  
  
stop lightdm  
cd ../apps/devApps/pcDuino_hello_world_gles2  
make PLATFORM_VARIANT=puduino  
  

I haven’t had time for much testing but hope to over the next couple of days.

digitalhack

Updated instructions can be found at:

http://digitalhacksblog.blogspot.com/2013/06/openframeworks-pcduino.html

digitalhack

very cool! very curious of how OF can talk to some of the Arduino-ish features

jvcleave:

Are you looking for something specific?

digitalhack

well the GPIO stuff on the RPi is quite a bit different than working on an Arduino. I’m curious what libraries Arduino is providing to talk to the PWM outputs, etc

So would creating an openFrameworks addon patterned after ofArduino that would provide the same methods but would talk to the pcDuino board be something that would meet this requirement?

digitalhack