I get “Error making context current” error when I try to run my test (very simple program) under Linux. Actually, I used to get this error until I rebuilt JOGL locally.
Here is the stack:
Exception in thread “main” net.java.games.jogl.GLException: Error making context current
at net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(X11GLContext.java:159)
at net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(X11OnscreenGLContext.java:111)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:254)
at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:112)
at java.awt.Component.setBounds(Component.java:1847)
I assume (and please do correct me if I am wrong) that the root of the problem is in some incompatibilities in OpenGL implementation of GLX by NVidia and whatever is used to build standard linux binary distributive. I saw this error come up several times in this thread and always with no answer. If anybody is interested in trying to debug this problem, let me know (I will do some experimenting myself but all machines I have access too have NVidia).
GLX_JNI.c:
/* Java->C glue code:
- Java package: net.java.games.jogl.impl.x11.GLX
- Java method: boolean glXMakeCurrent(long dpy, long drawable, long ctx)
-
C function: Bool glXMakeCurrent(Display * dpy, XID drawable, GLXContext ctx);
*/
JNIEXPORT jboolean JNICALL
Java_net_java_games_jogl_impl_x11_GLX_glXMakeCurrent(JNIEnv *env, jclass _unused, jlong dpy, jlong drawable, jlong ctx) {
Bool _res;
_res = glXMakeCurrent((Display *) (intptr_t) dpy, (XID) (intptr_t) drawable, (GLXContext) (intptr_t) ctx);
return _res;
}