[SNAP 8.0] Problems with product library

Hello there:

I’m using SNAP in a multiuser server that we connect using X2GO client. It is a setup very similar to RUS machines where the host does not have a dedicated GPU for each VM. The server is running CentOS 8 OS with all the updates installed and mesa packages installed.

While other versions of SNAP had problems with WorldWiew module because the use of openGL acceleration always worked when this module is disabled. However I tried to disable it as suggested here (by enabling flat only and removing the jar file) and product library still have rendering problems. The system shows the following error:

javax.media.opengl.GLException: AWT-EventQueue-0: X11GLXContext.createContextImpl ctx !ARB, profile > GL2 requested (OpenGL >= 3.0.1). Requested: GLProfile[GL3bc/GL3bc.sw], current: 3.1 (Compat profile, ES2 compat, ES3 compat, FBO, software) - 3.1 Mesa 19.3.4 at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:386) at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:662) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:561) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:518) at javax.media.opengl.awt.GLJPanel$OffscreenBackend.initialize(GLJPanel.java:1466) at javax.media.opengl.awt.GLJPanel.initializeBackendImpl(GLJPanel.java:1148) at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:526) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:994) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at org.netbeans.core.windows.view.ui.MainWindow$1.paint(MainWindow.java:189) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 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:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) [catch] 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)

Any ideas on how to fix it? It is quite strange because it requests OpenGL >= 3.0.1 but detects 3.1.

Thanks!

Hello,
Unfortunatelly ProductLIbrary doesn’t use “snap.worldwind.useFlatEarth” property.
Switching to 2D map/ 3D globe is possible from Product Library UI:

There is also a preference setting saved in rcp.properties file, located under:
~/.snap/system/config/Preferences/org/esa/snap/snap/rcp.properties
You can manually add here:
last_world_map_panel=1
(value 1 is for 2D, 2 for 3D flat, 3 for 3D globe)

I hope it helps …

Thank you very much for your help.

In my case the entire window was not loaded so it was very difficult to find that menu. However knowing that I was able to find it and disable 3d map.

Java still shows errors even when 2D map is loaded and product library takes a while to load. It could be a very good idea to have a setting to disable 3D acceleration in the SNAP settings to fix this kind of issues.

Thank you for your help