diff -rc compiz-0.5.0-orig/src/screen.c compiz-0.5.0/src/screen.c *** compiz-0.5.0-orig/src/screen.c 2007-04-02 20:15:30.000000000 +0200 --- compiz-0.5.0/src/screen.c 2007-04-18 21:52:43.000000000 +0200 *************** *** 1533,1539 **** Window *children; unsigned int nchildren; int defaultDepth, nvisinfo, nElements, value, i; ! const char *glxExtensions, *glExtensions; XSetWindowAttributes attrib; GLfloat globalAmbient[] = { 0.1f, 0.1f, 0.1f, 0.1f }; GLfloat ambientLight[] = { 0.0f, 0.0f, 0.0f, 0.0f }; --- 1533,1540 ---- Window *children; unsigned int nchildren; int defaultDepth, nvisinfo, nElements, value, i; ! const char *glxExtensions = NULL, *glExtensions; ! const char *glxServerExtensions = NULL; XSetWindowAttributes attrib; GLfloat globalAmbient[] = { 0.1f, 0.1f, 0.1f, 0.1f }; GLfloat ambientLight[] = { 0.0f, 0.0f, 0.0f, 0.0f }; *************** *** 1793,1800 **** if (glXIsDirect (dpy, s->ctx) == indirectRendering) i++; glxExtensions = glXQueryExtensionsString (dpy, screenNum); ! if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap")) { if (i > 0) { --- 1794,1805 ---- if (glXIsDirect (dpy, s->ctx) == indirectRendering) i++; + glxServerExtensions = glXQueryServerString(dpy, + screenNum, GLX_EXTENSIONS ); glxExtensions = glXQueryExtensionsString (dpy, screenNum); ! ! if (!strstr (indirectRendering ? glxServerExtensions : glxExtensions, ! "GLX_EXT_texture_from_pixmap")) { if (i > 0) {