From: Andres F. M. V. <af....@un...> - 2008-11-26 04:06:20
|
Hello all. I've been trying to get Chromium and JOGL to work together on a Xdmx tiled display wall but I've come across several problems. All tests were done using Jgears demo from the jogl-demos source found on their site. Initially, Jogl does not work under DMX (works fine in on a single node). I keep getting an error stating "cannot make context current". I can't figure out what's happening. I've tried running it with the flag -Djogl.GLContext.optimize, forcing it to run on a single thread, and even making a direct call to .makeContextCurrent(), but I still get the same error. The stack trace: --------------------------------------------------------------------------- java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1020) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348) at com.sun.opengl.util.Animator.display(Animator.java:158) at com.sun.opengl.util.Animator$MainLoop.run(Animator.java:181) at java.lang.Thread.run(Thread.java:674) Caused by: javax.media.opengl.GLException: Error making context current at com.sun.opengl.impl.x11.X11PbufferGLContext.makeCurrentImpl(X11PbufferGLCont ext.java:90) at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:134) at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:182) at com.sun.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferI mpl.java:208) at com.sun.opengl.impl.GLPbufferImpl.display(GLPbufferImpl.java:88) at javax.media.opengl.GLJPanel.paintComponent(GLJPanel.java:659) at demos.jgears.JGears.paintComponent(JGears.java:56) at javax.swing.JComponent.paint(JComponent.java:1041) at javax.swing.JComponent.paintChildren(JComponent.java:878) at javax.swing.JComponent.paint(JComponent.java:1050) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5164) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java :302) at javax.swing.RepaintManager.paint(RepaintManager.java:1145) at javax.swing.JComponent._paintImmediately(JComponent.java:5112) at javax.swing.JComponent.paintImmediately(JComponent.java:4922) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:740) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696) at com.sun.opengl.util.Animator$1.run(Animator.java:302) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:225) at java.awt.EventQueue.dispatchEvent(EventQueue.java:602) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java :275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:20 0) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) ------------------------------------------------------------------------- Trying to run it using chromium, I get a different error. From what I'm able to understand, it's because certain GLX functions have not been implemented in chromium. I'm using a modified dmx.conf mothership for 3 nodes, starting crservers manually on each one. Trace for chromium error: ---------------------------------------------------------------------------- - CR Warning(guaviare:12224): Unsupported GLX Call: glXCreateGLXPixmap() java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1020) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1348) at com.sun.opengl.util.Animator.display(Animator.java:158) at com.sun.opengl.util.Animator$MainLoop.run(Animator.java:181) at java.lang.Thread.run(Thread.java:674) Caused by: javax.media.opengl.GLException: glXCreateGLXPixmap failed at com.sun.opengl.impl.x11.X11OffscreenGLDrawable.create(X11OffscreenGLDrawable .java:94) at com.sun.opengl.impl.x11.X11OffscreenGLDrawable.setSize(X11OffscreenGLDrawabl e.java:67) at javax.media.opengl.GLJPanel.initialize(GLJPanel.java:929) at javax.media.opengl.GLJPanel.paintComponent(GLJPanel.java:488) at demos.jgears.JGears.paintComponent(JGears.java:56) at javax.swing.JComponent.paint(JComponent.java:1041) at javax.swing.JComponent.paintChildren(JComponent.java:878) at javax.swing.JComponent.paint(JComponent.java:1050) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5164) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java :302) at javax.swing.RepaintManager.paint(RepaintManager.java:1145) at javax.swing.JComponent._paintImmediately(JComponent.java:5112) at javax.swing.JComponent.paintImmediately(JComponent.java:4922) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:740) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696) at com.sun.opengl.util.Animator$1.run(Animator.java:302) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:225) at java.awt.EventQueue.dispatchEvent(EventQueue.java:602) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java :275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:20 0) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) ------------------------------------------------------------------------- I've also used the 'strace' command to try and figure out if there was something out of place with the libraries being used, but everything seems to be in order. Inside Xdmx there are failed calls to other libraries, but end of the day the same ones are being used. To be honest I'm stuck and I don't really know what else to try now. I would greatly appreciate any advice. Seeing as Xdmx is part of Xorg now, I asked around on their mailing lists but I have yet to receive any response. Thanks in advance. -Andres PS: Apologies for the long post. Wansn't sure if I'd be able to send the stack traces as attachments. |