Open jzy3d opened 1 year ago
Julien proposed a fix that worked : You have to replace in GLProfile.java:
} else if(GL2 == profile && hasAnyGL234Impl && ( desktopCtxUndef || GLContext.isGL2Available(device, isHardwareRasterizer))) {
return desktopCtxUndef ? GL2 : GLContext.getAvailableGLProfileName(device, 2, GLContext.CTX_PROFILE_COMPAT);
by:
} else if(GL2 == profile && hasAnyGL234Impl && ( desktopCtxUndef || GLContext.isGL2Available(device, isHardwareRasterizer))) {
return desktopCtxUndef || (GL3bc == GLContext.getAvailableGLProfileName(device, 2, GLContext.CTX_PROFILE_COMPAT) && !GLContext.isGL3bcAvailable(device, isHardwareRasterizer)) ? GL2 : GLContext.getAvailableGLProfileName(device, 2, GLContext.CTX_PROFILE_COMPAT);
Somehow JOGL can't map an implementation to the OpenGL version it does detect. Looking for GL3bc means JOGL assume your hadware supports OpenGL 3 and is in backward compatible mode.
Debugging
glxinfo
command on the terminal to check which OpenGL version your hardware claim.GLProfile.getMaximum(true)
instead ofGLProfile.getDefault()
ORGLProfile.get("your OpenGL version")
(which is definetely not portable but at least help understanding your situation).-Djogl.disable.openglcore=true
this partially resolved the problem for me some time ago.Useful discussions in forum