--- compiz/src/screen.c 2007-06-23 03:34:47.000000000 +0800 +++ compiz/src/screen.c 2007-06-30 23:34:48.000000000 +0800 @@ -1414,7 +1414,7 @@ Window *children; unsigned int nchildren; int defaultDepth, nvisinfo, nElements, value, i; - const char *glxExtensions, *glExtensions; + const char *glxExtensions, *glxServerExtensions, *glExtensions; XSetWindowAttributes attrib; GLfloat globalAmbient[] = { 0.1f, 0.1f, 0.1f, 0.1f }; GLfloat ambientLight[] = { 0.0f, 0.0f, 0.0f, 0.0f }; @@ -1674,7 +1674,10 @@ } glxExtensions = glXQueryExtensionsString (dpy, screenNum); - if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap")) + glxServerExtensions = glXQueryServerString(s->display->display, + screenNum, GLX_EXTENSIONS); + if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap") && + !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap")) { compLogMessage (display, "core", CompLogLevelFatal, "GLX_EXT_texture_from_pixmap is missing");