Problem with geometry editor & mesh on Linux 64b (Xubuntu 20.04)

I’m experiencing some issues with SPIS-Propultion 6.0.4 Linux 64b on fresh Xubuntu 20.04 LTS 64bit, going through the GUI works until it is about to call on the 3d tools in “Geometry editor” or “Mesh” when the following error is displayed in the terminal:

thoni@thoniLaptop:~/spis/SPIS-Propulsion-6.0.4-linux64b$ ./SpisPropulsion.sh 

*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/felix-5.6.2/felix.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/resources.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/rt.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/jsse.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/jce.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/charsets.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/jfr.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/nashorn.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/sunjce_provider.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/jaccess.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/jfxrt.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/dnsns.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/sunec.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/localedata.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/zipfs.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/cldrdata.jar'
*sys-package-mgr*: processing new jar, '/home/thoni/spis/SPIS-Propulsion-6.0.4-linux64b/dependencies/thirdparty/jre-8u202-linux64b/lib/ext/sunpkcs11.jar'
Exception in thread "AWT-EventQueue-0" com.jogamp.opengl.GLException: Profile GL4bc is not available on X11GraphicsDevice[type .x11, connection :0.0, unitID 0, handle 0x7fb9ec4e43c0, owner true, JAWTToolkitLock[obj 0x10c8766f, isOwner true, <6006c826, 7becb067>[count 1, qsz 0, owner <AWT-EventQueue-0>]]], but: [GLProfile[GL4ES3/GL4.hw], GLProfile[GL2ES2/GL4.hw], GLProfile[GL4/GL4.hw], GLProfile[GL4/GL4.hw], GLProfile[GL3/GL4.hw], GLProfile[GL2GL3/GL4.hw]]
	at com.jogamp.opengl.GLProfile.get(GLProfile.java:991)
	at jogamp.opengl.GLContextImpl.verifyInstance(GLContextImpl.java:1491)
	at jogamp.opengl.GLContextImpl.setGLFunctionAvailability(GLContextImpl.java:1962)
	at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:395)
	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:760)
	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:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	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)

The first few lines are of course only shown on first execution, but I can’t seem to get past the error “com.jogamp.opengl.GLException: Profile GL4bc is not available on X11GraphicsDevice”.
Have anyone of you seen this or know of any workaround?

The only file which grep find any thing for GL4bc appears to be:

thoni@thoniLaptop:~/spis/SPIS-Propulsion-6.0.4-linux64b$ grep -ri gl4bc *
Binary file dependencies/main/org-keridwen-vtk8-linux64b-3.0.4.jar matches

// With best regards, Thomas Nilsson

Hi, I have it working on ubuntu lxde and windows, did you try sudo apt install gmsh?

Dear @rsc9421,
thanks for the reply! And yes I have had gmsh installed system wide since a long time ago and the standalone version of gmsh works just fine… The problem only occurs when I am running SPIS and it goes to use its packaged version in the “geometry editor” or “mesh” stage in setting up a new project…

I have resorted back to using a virtual Windows 10 to get past these steps, so it’s no longer a major issue on my side…

Dear @thomas.nilsson,

Sorry for the delay in my answer, I forgot the post…

Unfortunately, there is an issue with the library used by SPIS for the 3D rendering on recent linux with recent hardware that does not recognize the installed graphic card.

We have found a way to mitigate this issue but it will only be available in the next SPIS release that should happen this year.

Fortunately you found a workaround, we are sorry for the inconvenience,

Best regards
Arnaud

SPIS uses its own embedded Gmsh version (you can find it inside dependencies/thirdparty so the installation of Gmsh on the system will not impact SPIS directly.

Hi - I have a related question about the imbedded Gmsh. I am running Spis-Propulsion 6.0.4 on MAC OSX and want to run a later version of Gmsh. It appears that the third party dependency for 6.0.4 is Gmsh 2.8.5 which is too old. I downloaded Gmsh 4.8.0 and am able to run it independent of SPIS but I am having trouble getting it configured to run within SPIS. I modified the osx64.properties file to point to the new path of my later version of Gmsh but am getting an error when launching Gmsh inside SPIS with this change.

-Is SPIS-Propulsion 6.0.4 compatible with later versions of Gmsh?
-If yes, how do I properly configure SPIS to launch the new Gmsh version from inside the GUI?

Thanks in advance!