|
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.
|