libEGL warning: failed to create a pipe screen for i965

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

libEGL warning: failed to create a pipe screen for i965

areid
Hi all,

I have an extensive Java application/API called ModelGUI which has a 3D rendering component built on Java 1.7 and Java3D 1.5.2. I deploy the application with this version of Java3D and its appropriate binaries, and to date, it has worked quite well on all platforms. Unfortunately, I am now running into an issue with the newer versions of OSX, for which the older version of Java3D/JOGL throws an Exception due to missing apple-specific AWT classes in Java 7 (which I assume have changed names and are no longer backwards compatible).

This tells me I need to upgrade to Java3D 1.6 and JOGL 2.2.x. The reason I haven't done this to date is that I cannot get these libraries to work on my machine (Ubuntu 14.04). My most recent attempt uses JOGL 2.2.0, and gives me a warning:

libEGL warning: failed to create a pipe screen for i965

When the 3D screen is rendered, the program basically freezes and requires xkill to terminate. When I turn on the logging I get a massive amount of console output (see second attached file). The gist of it seems to be that JOGL cannot properly communicate with my native GL libraries, and/or my graphics driver (3.0 Mesa 10.1.3). Not sure though. Can somebody please comment on this? I do not want to upgrade to Java3D 1.6/JOGL 2 unless it works properly on all platforms, as 1.5.2 did until this recent issue. I also do not want to have to release separate version for separate platforms.

Thanks!
Andrew

test.sh output:
test.log

Java3D execution console output:
java3d-console.log
Reply | Threaded
Open this post in threaded view
|

Re: libEGL warning: failed to create a pipe screen for i965

gouessej
Administrator
Hi Andrew

At first, use Oracle JVM or OpenJDK under Mac OS X. JOGL 2 might work with a very recent version of Apple JVM but as far as I know, it isn't intended to be supported. JOGL 1 is totally obsolete, it's unsupported since 2010 (maybe even 2009). If you go on using it with an unmaintained version of Java3D (1.5.2), you'll be bothered by numerous bugs that have been fixed in the meantime.

I don't have any trouble with Mesa 10.0.5, I haven't tested with a more recent version of Mesa yet. Please can you try to reproduce your bug on a tiny test case? When it's done, please fill a bug report with all the necessary information, your logs, the source code of your tiny example to allow us to reproduce it, much more information about your machine, ...

In my humble opinion, there are 2 possible root causes:
- there is something wrong with the latest versions of Mesa
- you do something particular but not recommended that worked with Java3D 1.5.2 but that no longer works with Java3D 1.6

It would be nice if you could reproduce your bug with a simple example only based on JOGL because it would remove Java3D from the equation and then it would eliminate a possible source of investigation. You can use the example I posted on the wikipedia page of JOGL:
http://en.wikipedia.org/wiki/Java_OpenGL#Code_example

Edit.: I test JOGL very often under GNU Linux. I'm under Mageia Linux 4, I already tested it under Ubuntu 12, Lubuntu, Kubuntu, Red Hat, Fedora, Debian, Mandriva, ... Some users tested it under OpenSUSE, Mint, ... Your bug is very specific.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: libEGL warning: failed to create a pipe screen for i965

areid
Hi Julien,

Thanks for your quick reply.

The example, JOGLQuad, gives the same libEGL error,  but then renders a spinning quadrangle properly, and throws no exceptions. So this is likely a Java3D-related error. To delve further:

The exceptions thrown by ModelGUI, according to the console output, originate in the call:

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
which is a pretty standard call. This results in a call to the JoglPipeline.initialize(Pipeline.Type) function, which in turn calls:

[line 132]        profile = GLProfile.getMaxFixedFunc(true);
The actual error (2nd from top of the stack trace) occurs here:

javax.media.nativewindow.GraphicsConfigurationFactory.getFactory(GraphicsConfigurationFactory.java:229)
...but I can't see from the stack trace what the nature of the exception is. Perhaps a native error due to my machine's configuration (i.e., your suggestion #1)?

If you think this is the case, I can provide further detail about my system (please let me know what you need). In the meantime, I will try to run the application on different machines.

FWIW, I do have an NVIDIA card, with Bumblebee installed. Might this be the source of the problem?

Thanks again,
Andrew
Reply | Threaded
Open this post in threaded view
|

Re: libEGL warning: failed to create a pipe screen for i965

gouessej
Administrator
Bumblebee and Optimus might be the culprit. Please try to force a profile that doesn't let your machine switch to another GPU at runtime. The warning isn't important, I get the same one.

Please indicate which graphics card you use and which Sandy Bridge Intel chip is available too.

Edit.: Please try to reproduce your Java3D bug with a tiny example that calls SimpleUniverse.getPreferredConfiguration().
Julien Gouesse | Personal blog | Website