diff --git a/overlay_gl/overlay.c b/overlay_gl/overlay.c index 31c3c7ce5..c9506798b 100644 --- a/overlay_gl/overlay.c +++ b/overlay_gl/overlay.c @@ -107,6 +107,16 @@ FDEF(glXGetProcAddress); static void resolveOpenGL() { RESOLVE(glXSwapBuffers); + + if (! oglXSwapBuffers) { + void *lib = dlopen("libGL.so.1", RTLD_GLOBAL | RTLD_NOLOAD); + if (! lib) + return; + RESOLVE(glXSwapBuffers); + if (! oglXSwapBuffers) + dlclose(lib); + } + RESOLVE(glXGetProcAddressARB); RESOLVE(glXGetProcAddress); }