On my way to the grocery store, I realized that code I sent was probably useless with the new Xquartz beta and Wine. D'oh. An actual patch would look more like this: Code: --- dlls/winex11.drv/opengl.c 2009-03-11 21:45:29.000000000 -0500 +++ dlls/winex11.drv/opengl.c 2009-03-11 21:46:56.000000000 -0500 @@ -478,12 +478,14 @@ * the ATI drivers and from then on use GLX client information for them. */ +#ifndef __APPLE__ if(glxRequireVersion(3)) { pglXChooseFBConfig = pglXGetProcAddressARB((const GLubyte *) "glXChooseFBConfig"); pglXGetFBConfigAttrib = pglXGetProcAddressARB((const GLubyte *) "glXGetFBConfigAttrib"); pglXGetVisualFromFBConfig = pglXGetProcAddressARB((const GLubyte *) "glXGetVisualFromFBConfig"); pglXQueryDrawable = pglXGetProcAddressARB((const GLubyte *) "glXQueryDrawable"); } else if(glxRequireExtension("GLX_SGIX_fbconfig")) { +#endif pglXChooseFBConfig = pglXGetProcAddressARB((const GLubyte *) "glXChooseFBConfigSGIX"); pglXGetFBConfigAttrib = pglXGetProcAddressARB((const GLubyte *) "glXGetFBConfigAttribSGIX"); pglXGetVisualFromFBConfig = pglXGetProcAddressARB((const GLubyte *) "glXGetVisualFromFBConfigSGIX"); @@ -492,6 +494,7 @@ * enable this function when the Xserver understand GLX 1.3 or newer */ pglXQueryDrawable = NULL; +#ifndef __APPLE__ } else if(strcmp("ATI", WineGLInfo.glxClientVendor) == 0) { TRACE("Overriding ATI GLX capabilities!\n"); pglXChooseFBConfig = pglXGetProcAddressARB((const GLubyte *) "glXChooseFBConfig"); @@ -507,6 +510,7 @@ } else { ERR(" glx_version is %s and GLX_SGIX_fbconfig extension is unsupported. Expect problems.\n", WineGLInfo.glxServerVersion); } +#endif if(glxRequireExtension("GLX_ATI_render_texture")) { use_render_texture_ati = 1; That's what I'm using with Wine 1.1.16 and Xquartz 2.3.3 RC1. Gothic, which is Direct3D, works fine, as do some OpenGL programs in Windows. YMMV! -ryan[/code]