具体错误:
libEGL warning: DRI2: failed to authenticate libEGL warning: DRI2: failed to authenticate libEGL warning: DRI2: failed to authenticate com.jogamp.opengl.GLException: Not a GL2 implementation at jogamp.opengl.es1.GLES1Impl.getGL2(GLES1Impl.java:4929) at javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6428) at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4612) at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2386) at javax.media.j3d.Renderer.doWork(Renderer.java:881) at javax.media.j3d.J3dThread.run(J3dThread.java:271) DefaultRenderingErrorListener.errorOccurred: CONTEXT_CREATION_ERROR: Renderer: Error creating Canvas3D graphics context graphicsDevice = X11GraphicsDevice[screen=0] canvas = javax.media.j3d.SwCanvas3D[canvas0,0,0,1004x564] EGLDisplayUtil.EGLDisplays: Shutdown (open: 1) EGLDisplayUtil: Open EGL Display Connections: 1 EGLDisplayUtil: Open[0]: 0x7efdf099b2d0: EGLDisplayRef[0x7efdf099b2d0: refCnt 1] X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1) X11Util: Open X11 Display Connections: 1 X11Util: Open[0]: NamedX11Display[:0, 0x7efdf097c4a0, refCount 1, unCloseable false]
真是让人莫名其妙。同事说以前几个包是对的,于是进行了研究,并重新编译,又对了。原因是替换了个GLContextImpl.class。也就是说:出错了再替换;不出错不替换。具体可参考: