Login  Register

Raspberry Pi + Processing + P3D + JOGL

Posted by Granny Snuff on Apr 07, 2014; 10:13pm
URL: https://forum.jogamp.org/Raspberry-Pi-Processing-P3D-JOGL-tp4032109.html

Hi.

I'm trying to get a P3D Processing sketch running on the Raspberry Pi and, having done quite a bit of research, it seems that I need to use JOGL for this, but, having followed Xerxes Ranby's instructions, I'm merely getting a transparent Processing window and the errors below.

I am using the 32 bit linux version of Processing.
Java -version is 1.7.0-40

Looking in core/library, gluegen-rt-android-natives-linux-armv6hf.jar is missing, but the following similarly named files are present:

gluegen-rt-natives-android-armv6.jar
gluegen-rt-natives-linux-armv6.jar
gluegen-rt-natives-linux-armv6hf.jar


I also have a question regarding NEWT, as I have read that I need to force Processing to use NEWT as opposed to AWT. Does JOGL take care of this or is there more that I need to do here?

I'm brand new to JOGL and by no means a programmer, so any guidance greatly appreciated. I hope that I have provided sufficient information for you to understand my problem.

Thanks,

B.

<code>
pi@raspberrypi ~ $ cd processing-2.1
pi@raspberrypi ~/processing-2.1 $ ./processing
pi@raspberrypi ~/processing-2.1 $ See https://github.com/processing/processing/issues/2010
See https://github.com/processing/processing/issues/2010
Exception in thread "Animation Thread" java.lang.RuntimeException: Pixel operations are not supported on this device.
        at processing.core.PGraphicsJava2D.getRaster(PGraphicsJava2D.java:2345)
        at processing.core.PGraphicsJava2D.loadPixels(PGraphicsJava2D.java:2357)
        at processing.core.PApplet.loadPixels(PApplet.java:11085)
        at processing.app.tools.ColorSelector$ColorRange.setup(ColorSelector.java:426)
        at processing.core.PApplet.handleDraw(PApplet.java:2281)
        at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)
        at processing.core.PApplet.run(PApplet.java:2177)
        at java.lang.Thread.run(Thread.java:724)
Exception in thread "Animation Thread" java.lang.RuntimeException: Pixel operations are not supported on this device.
        at processing.core.PGraphicsJava2D.getRaster(PGraphicsJava2D.java:2345)
        at processing.core.PGraphicsJava2D.loadPixels(PGraphicsJava2D.java:2357)
        at processing.core.PApplet.loadPixels(PApplet.java:11085)
        at processing.app.tools.ColorSelector$ColorSlider.setup(ColorSelector.java:501)
        at processing.core.PApplet.handleDraw(PApplet.java:2281)
        at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)
        at processing.core.PApplet.run(PApplet.java:2177)
        at java.lang.Thread.run(Thread.java:724)


Listening for transport dt_socket at address: 8074
Catched FileNotFoundException: /home/pi/processing-2.1/core/library/gluegen-rt-android-natives-linux-armv6hf.jar (No such file or directory), while addNativeJarLibsImpl(classFromJavaJar class com.jogamp.common.os.Platform, classJarURI jar:file:/home/pi/processing-2.1/core/library/gluegen-rt-android.jar!/com/jogamp/common/os/Platform.class, nativeJarBaseName gluegen-rt-android-natives-linux-armv6hf.jar): [ file:/home/pi/processing-2.1/core/library/gluegen-rt-android.jar -> file:/home/pi/processing-2.1/core/library/ ] + gluegen-rt-android-natives-linux-armv6hf.jar -> slim: jar:file:/home/pi/processing-2.1/core/library/gluegen-rt-android-natives-linux-armv6hf.jar!/
java.lang.UnsatisfiedLinkError: Can't load library: /home/pi/processing-2.1/libgluegen-rt.so
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1846)
        at java.lang.Runtime.load0(Runtime.java:795)
        at java.lang.System.load(System.java:1061)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:551)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:414)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
        at com.jogamp.common.os.Platform$1.run(Platform.java:209)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:179)
        at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:83)
        at processing.opengl.PJOGL.initSurface(PJOGL.java:238)
        at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:5988)
        at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1600)
        at processing.core.PApplet.run(PApplet.java:2177)
A library relies on native code that's not available.
Or only works properly when the sketch is run as a 64-bit  application.
        at java.lang.Thread.run(Thread.java:724)
</code>