Hello,
i trying to use the latest Jogl 2.0.2 lib under LinuxMint 64-bit (based in Ubuntu) with Java 1.7.40 (which is needed for my application to get the latest JavaFX fixes). My application embedds JOGL with the SWT_AWT bridge. The graphics card i use is a NVIDEA Quadro 600. Under Windows everything works fine but when i try to use Jogl under Linux the Jogl panel crashes and the following message occurs (-Djogl.debug=all -Dnativewindow.debug=all): Info: NativeWindow native init passed libEGL warning: Could not open driver /usr/lib/x86_64-linux-gnu/egl/egl_gallium.so (libllvmradeon9.1.3.so: cannot open shared object file: No such file or directory) libEGL warning: DRI2: failed to authenticate Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6873: 18:0 X_ChangeProperty Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6874: 10:0 X_UnmapWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600046, # 6875: 4:0 X_DestroyWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600048, # 6876: 4:0 X_DestroyWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6877: 4:0 X_DestroyWindow And after i close the whole application: Info: NativeWindow native init passed libEGL warning: Could not open driver /usr/lib/x86_64-linux-gnu/egl/egl_gallium.so (libllvmradeon9.1.3.so: cannot open shared object file: No such file or directory) libEGL warning: DRI2: failed to authenticate Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6873: 18:0 X_ChangeProperty Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6874: 10:0 X_UnmapWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600046, # 6875: 4:0 X_DestroyWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600048, # 6876: 4:0 X_DestroyWindow Info: Nativewindow X11 Error: 3 - BadWindow (invalid Window parameter), dpy 0x7f6c7cffb840, id 3600044, # 6877: 4:0 X_DestroyWindow SharedResourceRunner.stop() - Thread-10 SharedResourceRunner.run(): RELEASE START - AWT-EventQueue-0-SharedResourceRunner SharedResourceRunner.run(): RELEASE END - AWT-EventQueue-0-SharedResourceRunner EGLDrawableFactory.destroy() .. EGLDrawableFactory.map 2 EGLDrawableFactory.map[0] .x11_:0.0_0 -> EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x7f6bdc341c30, nativeDisplayID 0x0, eglLifecycleCallback true], es1 [avail true, pbuffer true, quirks [NoSetSwapIntervalPostRetarget], ctp 1.0 (ES profile, FBO, software)], es2 [avail false, pbuffer true, quirks [NoSetSwapIntervalPostRetarget], ctp 2.0 (ES profile, Compatibility profile, Core profile, forward, arb, debug, ES2 compatible, FBO, software)] EGLDrawableFactory.map[1] .egl_decon_0 -> EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x7f6bdc341c30, nativeDisplayID 0x0, eglLifecycleCallback true], es1 [avail true, pbuffer true, quirks [NoSetSwapIntervalPostRetarget], ctp 1.0 (ES profile, FBO, software)], es2 [avail false, pbuffer true, quirks [NoSetSwapIntervalPostRetarget], ctp 2.0 (ES profile, Compatibility profile, Core profile, forward, arb, debug, ES2 compatible, FBO, software)] EGLDrawableFactory.destroy(): EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x7f6bdc341c30, nativeDisplayID 0x0, eglLifecycleCallback true] Thread-10 - EGLGraphicsDevice.close(): EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x7f6bdc341c30, nativeDisplayID 0x0, eglLifecycleCallback true] EGLDisplayUtil.eglTerminate(0x7f6bdc341c30 ...): #0 = true EGLDrawableFactory.destroy(): EGLGraphicsDevice[type EGL, connection decon, unitID 0, handle 0x0, nativeDisplayID 0x0, eglLifecycleCallback true] GraphicsConfigurationFactory.registerFactory() put DeviceCapsType[com.jogamp.nativewindow.x11.X11GraphicsDevice, javax.media.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.x11.glx.X11GLXGraphicsConfigurationFactory@612f1a5b, overridding: jogamp.opengl.egl.EGLGraphicsConfigurationFactory@381aa36b GraphicsConfigurationFactory.registerFactory() remove DeviceCapsType[com.jogamp.nativewindow.egl.EGLGraphicsDevice, javax.media.opengl.GLCapabilitiesImmutable], deleting: jogamp.opengl.egl.EGLGraphicsConfigurationFactory@381aa36b EGLDisplayUtil.EGLDisplays: Shutdown (open: 0) java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Thread.java:1342) at jogamp.opengl.egl.EGLDisplayUtil.shutdown(EGLDisplayUtil.java:71) at jogamp.opengl.egl.EGLDrawableFactory.destroy(EGLDrawableFactory.java:242) at javax.media.opengl.GLDrawableFactory.shutdownImpl(GLDrawableFactory.java:223) at javax.media.opengl.GLDrawableFactory.access$100(GLDrawableFactory.java:98) at javax.media.opengl.GLDrawableFactory$1.run(GLDrawableFactory.java:242) at java.lang.Thread.run(Thread.java:722) Thread-10 - NativeWindowFactory.shutdown() START: JVM Shutdown true Thread-10 - GraphicsConfigurationFactory.shutdown() X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1) java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Thread.java:1342) at jogamp.nativewindow.x11.X11Util.shutdown(X11Util.java:188) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.jogamp.common.util.ReflectionUtil.callMethod(ReflectionUtil.java:322) at com.jogamp.common.util.ReflectionUtil.callStaticMethod(ReflectionUtil.java:344) at javax.media.nativewindow.NativeWindowFactory.shutdownNativeImpl(NativeWindowFactory.java:206) at javax.media.nativewindow.NativeWindowFactory.shutdown(NativeWindowFactory.java:313) at javax.media.opengl.GLDrawableFactory.shutdownImpl(GLDrawableFactory.java:232) at javax.media.opengl.GLDrawableFactory.access$100(GLDrawableFactory.java:98) at javax.media.opengl.GLDrawableFactory$1.run(GLDrawableFactory.java:242) at java.lang.Thread.run(Thread.java:722) X11Util: Open X11 Display Connections: 1 X11Util: Open[0]: NamedX11Display[:0.0, 0x7f6bf8001fc0, refCount 1, unCloseable false] java.lang.Throwable: NamedDisplay Created at: at jogamp.nativewindow.x11.X11Util$NamedDisplay.<init>(X11Util.java:271) at jogamp.nativewindow.x11.X11Util.openDisplay(X11Util.java:431) at jogamp.opengl.x11.glx.X11GLXDrawableFactory$SharedResourceImplementation.createSharedResource(X11GLXDrawableFactory.java:232) at jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:261) at java.lang.Thread.run(Thread.java:722) X11Util: Reusable X11 Display Connections: 0 X11Util: Pending X11 Display Connections (creation order): 1 X11Util: Pending[0]: NamedX11Display[:0.0, 0x7f6bf8001fc0, refCount 1, unCloseable false] java.lang.Throwable: NamedDisplay Created at: at jogamp.nativewindow.x11.X11Util$NamedDisplay.<init>(X11Util.java:271) at jogamp.nativewindow.x11.X11Util.openDisplay(X11Util.java:431) at jogamp.opengl.x11.glx.X11GLXDrawableFactory$SharedResourceImplementation.createSharedResource(X11GLXDrawableFactory.java:232) at jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:261) at java.lang.Thread.run(Thread.java:722) Thread-10 - NativeWindowFactory.shutdown() END JVM Shutdown true Any help is appreciated. |
Administrator
|
Hi
There is a problem with Gallium and LLVM, it isn't a JOGL bug: libEGL warning: Could not open driver /usr/lib/x86_64-linux-gnu/egl/egl_gallium.so (libllvmradeon9.1.3.so: cannot open shared object file: No such file or directory) libEGL warning: DRI2: failed to authenticate I have already used the NVIDIA Quadro 600 under Fedora (but with the proprietary driver). You should contact the maintainers of your driver.
Julien Gouesse | Personal blog | Website
|
Hello,
thanks for the answer. Quite strange that everything works fine with an older version and Jogl 1.1.1. Do you think that the use of the proprietary NVIDIA driver will solve the problem? |
Administrator
|
You're welcome. Which older version? If you're sure your problem is caused by a regression in JOGL itself, please tell us at least what is the latest version working with your hardware. JOGL 1 doesn't work on lots of recent Macs, it is not maintained... Using it in 2013 is a very bad idea, it should no longer be used in production. Replacing an open source driver by a proprietary driver doesn't solve the real problem and it may lead to other complications. I meant that JOGL 2.0 (RC8?) worked very well with your hardware and the proprietary driver but please try to make it work with Gallium.
Julien Gouesse | Personal blog | Website
|
"Which older version? If you're s........"
sorry for the misunderstanding. I meant my application which used Jogl 1.1.1. I already ported all my JOGL stuff to 2.x. but have problems to make a decent Linux release because of this error. What do you mean by make it work with Gallium? I tested several Jogl Release Candidates with the default driver (xserve-xorg-video-nouveau) and nvidia drivers shipped the LinuxMint distribution (310, 304). None of the configurations worked. |
Administrator
|
JOGL 2.0.2 works very well under Linux. In your case, it seems that there is a problem with a particular combination of hardware and operating system. You can write a bug report but please be very accurate as I use both Intel, ATI and Nvidia graphics cards under Linux (mainly Debian and Mageia 2) without trouble.
Do you succeed in running the online demos? I remind you that the threading of JOGL has changed since the first version. I used SWT_AWT in an Eclipse RCP application (to put an AWT GLCanvas into an SWT Composite) in my previous job with the same hardware. Have you tested with another distro?
Julien Gouesse | Personal blog | Website
|
Hello Julien,
thanks again for the fast reply. I will definitely make another test on a different distro at the weekend. The online demos did not run either. |
Administrator
|
Hi Marcel
Ok thanks. Please can you try to run a demo or a unit test with all debug logs enabled?
Julien Gouesse | Personal blog | Website
|
Hello Julien,
i will definitely run a demo with debug logs enabled. |
In reply to this post by gouessej
Apropos i got an additional info.
Here is the error message which oocurs in addition: Info: NativeWindow native init passed Info: Nativewindow X11 Error: 16 - BadLength (poly request too large or internal Xlib length error), dpy 0x7fcda81e0cc0, id 17, # 15: 153:17 Unknown libEGL warning: DRI2: failed to authenticate |
In reply to this post by gouessej
Hello Julien,
i created a new Jogl application on my Laptop with the latest Jogl 2.02 release and that app works. However the embedded views in my Eclipse RCP applications didn't (On Windows there is no problem). If i start the created new application with Jogl (using the native *.jars) the native libs a extracted in the temp folder of my Linux OS. If i open the view in my RCP application (using the native *.jars) no native libs are extracted in the temp folder. I also tried to use the native libs in my plugin as i did in my past version but also without success. I do not know how the current Jogl version searches for the native libs but could this error be related to a wrong path to the native libs if the native *.jars are embedded in an Eclipse RCP plugin (wrong path to the extracted native libs in the temp folder)? |
Administrator
|
Hi Marcel, I'm using the JOGL native JARs successfully from within an RCP plugin -- could you be more specific about what problem you're seeing? The one trick to using them from within RCP is to use an URL resolver, see the post at http://forum.jogamp.org/Solved-Profile-GL2ES2-is-not-available-OSGi-Bundled-JOGL-td4029947.html for more information. |
Hello Wade,
thanks for the link and your help. I will try approach #2. On Windows #1 works without problems. |
In reply to this post by Wade Walker
Hello,
i finally found the source of error. After hours of misleading error messages and different combinations of different versions the last tip gave me a way out of my personal confusion. On Windows i had a deadlock situation from a combination of Jogl panels and an embedded Swing panel. I could solve this problem by wrapping the creation of the Jogl panel asynchronously on the AWT event dispatching thread: Swingutilities.invokeLater....{ Creation of Jogl panel.... ....} This worked fine for Windows but was the source of error on Linux. I realized this after trying approach #2 from Wade which didn't work either but gave me some hints (when the information of the paths were given to Jogl). I returned to method #1 which i used succesfully in my earlier versions and everything worked fine, too. I have to test it again on LinuxMint (i tested this at home on Ubuntu) but i'm quite sure that it will also work. Again i would like to thank you both Wade and Julien by bringing me back on the path with your useful comments and suggestions. |
Administrator
|
Glad to hear you got it working :)
|
Free forum by Nabble | Edit this page |