Colin, that is good to know, and interesting that a nominally "worse" driver in the sense of an older OpenGL version is working fine with open-jdk.
Do you happen to know if it is possible to force Mesa to report an older version of the OpenGL API? I don't know what to make of this "not mapped" response in the java output:
Code: Select all
==== exception ====java.lang.InternalErrorXXX0 profile[1]:
GL3bc -> profile Impl GL4bc !!! not mapped ---
stack trace ----java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.protocase.viewer.JDesigner$$Lambda$5/758705033@46dead2c,notifier=null,catchExceptions=false,when=1517535655981] on sun.awt.X11.XToolkit@78fd62cajava.lang.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped
Google found some other instances of that profile not mapped on some other 3D software web sites, I'll take a look and see what the conclusion was there.
I tried ProtocaseDesigner on my kids' machine, which has an older Firepro card roughly equivalent to an AMD HD5450 card. The app started, but then put up a message that there was an error, when I clicked OK to acknowledge the app shut down.
Here is the GL info from that machine:
OpenGL vendor string: X.Org
OpenGL renderer string: AMD REDWOOD (DRM 2.50.0 / 4.14.14-300.fc27.x86_64, LLVM 5.0.0)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.4
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.2.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.2.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
And the PD debug.0.log file contents, looks like more complaints about profile mapping:
Code: Select all
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger []
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [===============================]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [==== JDesigner version 4.6.13 - Jan03,18 ====]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [== git branch adea6157cadb272b6c0f864ad00fc6005ba9359c ==]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [== Start at 18-02-01 19:55 ==]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [Os: Linux arch: amd64 version: 4.14.14-300.fc27.x86_64]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [Default Encoding: UTF-8]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [Total Memory: 119MB Free Memory: 104MB Max Memory: 1742MB]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [available processors: 4]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger []
<silly>@com.protocase.viewer.DesignerFileManager.setupLogger [Converting Inches to Points using dpi: 96]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger []
<silly>@com.protocase.utils.DataDirs.getExecutableDir [JDesigner path: /opt/lib/Protocase%20Designer/jdesigner.jar]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable found in path: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable dir: /opt/lib/Protocase Designer]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [executable dir: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [JDesigner path: /opt/lib/Protocase%20Designer/jdesigner.jar]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable found in path: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable dir: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [JDesigner path: /opt/lib/Protocase%20Designer/jdesigner.jar]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable found in path: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable dir: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getProgramDataDir [program data dir: /opt/share/Protocase Designer]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [program data dir: /opt/share/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [JDesigner path: /opt/lib/Protocase%20Designer/jdesigner.jar]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable found in path: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable dir: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [JDesigner path: /opt/lib/Protocase%20Designer/jdesigner.jar]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable found in path: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getExecutableDir [executable dir: /opt/lib/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getProgramDataDir [program data dir: /opt/share/Protocase Designer]
<silly>@com.protocase.utils.DataDirs.getMainLibraryDir [main library found: /opt/share/Protocase Designer/library]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [library dir: /opt/share/Protocase Designer/library]
<silly>@com.protocase.utils.DataDirs.getLibraryDir [user library found: /home/chris/ProtocaseDesigner/UserLibrary]
<debug>@com.protocase.viewer.DesignerFileManager.setupLogger [personal library: /home/chris/ProtocaseDesigner/UserLibrary]
<minor>@com.protocase.library.PartsManager.loadLibraries []
<minor>@com.protocase.library.PartsManager.loadLibraries [====>>>> loading library - ignore unless you have a problem with library <<<<====]
<minor>@com.protocase.library.PartsManager.loadLibraries [====>>>> in which case you should unsuppress warnings<<<<====]
<minor>@com.protocase.library.PartsManager.loadLibraries []
<debug>@com.protocase.library.FileTreeCategory.makeNodeFromFile [file IO error reading PDOperations]
<debug>@com.protocase.library.FileTreeCategory.makeNodeFromFile [null]
<debug>@com.protocase.designer.reflection.YAMLPersister.importOneObjectFromYAML [object Left Edge can't be read in]
<debug>@com.protocase.designer.reflection.YAMLPersister.importOneObjectFromYAML [object Right Edge can't be read in]
<debug>@com.protocase.designer.reflection.YAMLPersister.extractSingleMapObject [should only be one item for a field, cannot store maps.]
<minor>@com.protocase.library.PartsManager.loadLibraries []
<minor>@com.protocase.library.PartsManager.loadLibraries [====>>>> Done Loading Library <<<<====]
<minor>@com.protocase.library.PartsManager.loadLibraries []
<silly>@com.protocase.library.PartsManager.loadLibraries [root: /opt/share/Protocase Designer/library ver: 6]
<silly>@com.protocase.viewer.rendering.gl.decorations.GLDecorations.getDecorator [Couldn't find a GLDecorator of type GLSNAPPOINT]
<silly>@com.protocase.viewer.rendering.gl.decorations.GLDecorations.getDecorator [Couldn't find a GLDecorator of type SELECTION]
<silly>@com.protocase.viewer.rendering.gl.decorations.GLDecorations.getDecorator [Couldn't find a GLDecorator of type HOVER]
==== exception ====com.jogamp.opengl.GLExceptionAWT-EventQueue-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4--- stack trace ----java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.protocase.viewer3D.modular.editor.Editor3D$1$$Lambda$235/368980327@23d347ec,notifier=null,catchExceptions=false,when=1517536558537] on sun.awt.X11.XToolkit@67b51da6com.jogamp.opengl.GLException: AWT-EventQueue-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1279)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
at com.protocase.viewer.rendering.AbstractRenderer3D.redisplay(AbstractRenderer3D.java:265)
at com.protocase.viewer.rendering.AbstractRenderer3D.invalidateThingToRender(AbstractRenderer3D.java:381)
at com.protocase.viewer3D.modular.Editor3DCanvas.resetView(Editor3DCanvas.java:294)
at com.protocase.viewer3D.modular.editor.Editor3D.resetView(Editor3D.java:203)
at com.protocase.viewer3D.modular.editor.Editor3D$1.lambda$ancestorAdded$0(Editor3D.java:167)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.protocase.viewer.EventQueueProxy.dispatchEvent(EventQueueProxy.java:39)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.protocase.utils.dialogs.informationalviewer.InformationViewer.showViewer(InformationViewer.java:83)
at com.protocase.viewer.JDesigner.startupDialogs(JDesigner.java:520)
at com.protocase.viewer.JDesigner.lambda$main$11(JDesigner.java:1313)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.protocase.viewer.EventQueueProxy.dispatchEvent(EventQueueProxy.java:39)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
==== exception ====com.jogamp.opengl.GLExceptionAWT-EventQueue-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4--- stack trace ----java.awt.event.PaintEvent[PAINT,updateRect=java.awt.Rectangle[x=0,y=0,width=1627,height=905]] on canvas0com.jogamp.opengl.GLException: AWT-EventQueue-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1279)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
at com.jogamp.opengl.Threading.invoke(Threading.java:223)
at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
at sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:64)
at sun.awt.RepaintArea.paint(RepaintArea.java:240)
at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:584)
at java.awt.Component.dispatchEventImpl(Component.java:4965)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.protocase.viewer.EventQueueProxy.dispatchEvent(EventQueueProxy.java:39)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:869)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:666)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:637)
at com.protocase.utils.dialogs.OptionPane.DefaultOptionPane.showMessageDialog(DefaultOptionPane.java:19)
at com.protocase.utils.dialogs.DialogHelper.showMessageDialog(DialogHelper.java:105)
at com.protocase.utils.dialogs.DialogHelper.showMessageDialog(DialogHelper.java:88)
at com.protocase.viewer.EventQueueProxy.handleGLException(EventQueueProxy.java:53)
at com.protocase.viewer.EventQueueProxy.dispatchEvent(EventQueueProxy.java:44)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.protocase.utils.dialogs.informationalviewer.InformationViewer.showViewer(InformationViewer.java:83)
at com.protocase.viewer.JDesigner.startupDialogs(JDesigner.java:520)
at com.protocase.viewer.JDesigner.lambda$main$11(JDesigner.java:1313)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.protocase.viewer.EventQueueProxy.dispatchEvent(EventQueueProxy.java:39)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)