libEGL failed to create pipe in a jrviewer instance

classic Classic list List threaded Threaded
15 messages Options
amw
Reply | Threaded
Open this post in threaded view
|

libEGL failed to create pipe in a jrviewer instance

amw
Hello,

if a JRVIEWER instance is started a window with the jogl rendering does not appear and the console gives the following error message. The output of test.sh is printed below.

How could I get jogl based viewer to work in jreality?
greetz
amw

=ERROR MESSAGE=
libEGL warning: failed to create a pipe screen for i965
JOGL3Viewer constuctor called
Native[GL4bc false, GL4 false, GL3bc true [3.1 (Compatibility profile, arb, ES2 compatible, FBO, hardware)], GL3 true [3.1 (Compatibility profile, arb, ES2 compatible, FBO, hardware)], GL2 true [3.1 (Compatibility profile, arb, ES2 compatible, FBO, hardware)], GL2ES1 true, GLES1 true [1.0 (ES profile, FBO, hardware)], GL2ES2 true, GLES2 true [2.0 (ES profile, ES2 compatible, FBO, hardware)]], Profiles[GLProfile[GL2ES2/GL3bc.hw], GLProfile[GL2ES1/GL3bc.hw], GLProfile[GL2/GL2.hw], GLProfile[GL3/GL3.hw], GLProfile[GL3bc/GL3bc.hw], GLProfile[GLES2/GLES2.hw], GLProfile[GLES1/GLES1.hw], GLProfile[GL2GL3/GL3bc.hw], GLProfile[GL3bc/GL3bc.hw], , default GLProfile[GL3bc/GL3bc.hw]]
calling JOGLViewer.dispose()
Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f0c88334070, id 4200013, # 3966: 20:0 X_GetProperty
Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f0c88334070, id 4200013, # 3967: 20:0 X_GetProperty

=OUTPUT OF TEST AND TEST_DBG.SH=
 ./test.sh AND  ./test_dbg.sh
/usr/bin/java
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
LIBXCB_ALLOW_SLOPPY_LOCK:
LIBGL_DRIVERS_PATH:
LIBGL_DEBUG:
java
CLASSPATH: jar/gluegen-rt.jar:jar/jogl-all.jar
Fehler: Hauptklasse com.jogamp.newt.opengl.GLWindow konnte nicht gefunden oder geladen werden


Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
Hi

There is still a problem with your classpath:
"Fehler: Hauptklasse com.jogamp.newt.opengl.GLWindow konnte nicht gefunden oder geladen werden "
"Error: the main class com.jogamp.newt.opengl.GLWindow cannot be found or loaded"? Sorry my German is not very good.

Which version of JOGL 2 do you use? Can you try again with the very latest aggregated build? What's your graphics card?
Julien Gouesse | Personal blog | Website
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
@gouessej your german is superb - that was the meaning of the error message.

>Which version of JOGL 2 do you use? Can you try again with the very latest aggregated build?
My jogl version is: Version: 2.0-rc11-1~exp4.3ubuntu1
I can not install the newer version of it. I don't know how to use git and compile the package.

>Which version of JOGL 2 do you use? Can you try again with the very latest aggregated build?
With a NVIDIA Driver and bumblebee i got it to run smoothly, but the nouveau driver or Intel card does not work.

Graphicard (INTEL and NVIDIA):
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 540M/PCIe/SSE2
OpenGL version string: 4.2.0 NVIDIA 304.88
OpenGL shading language version string: 4.20 NVIDIA via Cg compiler


OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.1
OpenGL shading language version string: 1.30
OpenGL extensions:

Is there a way to jogl with the nouveau driver or the intel card? Because the powerconnsumption on my laptop is much higher while programming.
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
You can use an aggregated build (they are here), you have nothing to compile, it's already done for you, you just have to put some JARs into a directory and 2 of them in the classpath as it is explained in the wiki and in our user's guide. If you don't use the latest version, you won't benefit of the latest bug fixes. Maybe your bug is already fixed.

I'm really sorry but Optimus is a real source of trouble. The only thing we can do consists in ensuring that it works with "all" chips but if the used GPU change at runtime, it becomes ... complicated. I used the Nouveau driver with another Nvidia graphics card and it worked.

Edit. Several bugs have been fixed concerning Sandy Bridge since the publication of JOGL 2.0 RC11. Please use the very latest version of JOGL 2.0.
Julien Gouesse | Personal blog | Website
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
I tried to install the newest jogl libraries with the help of this tutorial https://sites.google.com/site/justinscsstuff/jogl-tutorial-1.
The build I used: http://jogamp.org/deployment/archive/master/gluegen_668-joal_434-jogl_987-jocl_793/archive/

The projects compiled in eclipse, but still only the software renderer in JRVIEWER is working. Jogl still brings a blank screen.

What do i have to do to use hardware acceleration? Can I supply further informations?
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
Please read this, enable all logs. It would be fine if you could use a very simple example of JOGL to reproduce your bug, you can take the one I published on the Wikipedia page of JOGL.
Julien Gouesse | Personal blog | Website
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
As asked i tried to collect all necessary data.

CODE from wikipedia: http://pastebin.com/NQ0dWv7c

java -Djava.awt.headless=true -Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all JOGLQuad 2>&1 | tee JOGLQUad.report.log

JOGLQUad.report.log:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:787)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:447)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 13 more
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
awm, this is simply a typical classpath problem, you haven't set the classpath correctly, Java doesn't find the JARs of JOGL and GlueGen. Look at this, you don't use the option "-cp" or "-classpath".
Julien Gouesse | Personal blog | Website
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
In reply to this post by gouessej
As asked i tried to collect all necessary data.

CODE from wikipedia: http://pastebin.com/NQ0dWv7c

java -Djava.awt.headless=true -Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all JOGLQuad 2>&1 | tee JOGLQUad.report.log

only a black window is displayed

JOGLQUad.report.log:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:787)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:447)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 13 more
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
The problem is identical, you haven't set the classpath.
Julien Gouesse | Personal blog | Website
amw
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

amw
The logfile/report generate after compiling with the regular javac/java command is pasted here: http://pastebin.com/5y9pnkaC

Is this helpful regarding my question to get jrviewer working?
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
You should write a bug report as it seems not to work even with the correct classpath, isn't it? Maybe you should get JOGL 2.0 working on your machine before trying to run jrviewer.
Julien Gouesse | Personal blog | Website
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
ya you are right it isn't working with the correct classpath. If i have time for a bugreport at the weekend - i will report it. For so long I will install the proprietary nvidia driver, which is working well.
awm
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

awm
The solution to my problem was:

copying all necessary jar's (as written here: http://jogamp.org/wiki/index.php/Downloading_and_installing_JOGL#Unzipping_the_files)

to the central extension directory in Ubuntu /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/
now everything works just fine.

@gouessej thank you for your support and feedback.
Reply | Threaded
Open this post in threaded view
|

Re: libEGL failed to create pipe in a jrviewer instance

gouessej
Administrator
No it is not the solution. I explained it in the user's guide here, look at the subsection "Bad practice".

It means that your classpath was still wrongly set just before your last attempt. You must never copy JARs into jre/lib/ext because it can break applets and Java Web Start applications using JOGL. The JVM will pick up JARs in this directory first and if an application requires another version, it will probably prevent it from working. This is not a fix, this is really bad, please don't do that. Please set your classpath correctly and uninstall the DEB or RPM packages containing JOGL 2.0 RC11 to avoid conflicts.

Rather follow these instructions:
https://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE#Compile_and_run_your_project_from_the_command_line

You need to use "-classpath" and to provide the correct path to the directory containing your JARs to make it work.
Julien Gouesse | Personal blog | Website