11.4. Known problems - shortcomings

11.4.1. Missing GLU32.DLL

GLU is a library that is layered upon OpenGL. There is a 100% correspondence between the libGLU.so that is used on Linux and GLU32.DLL.

As for the moment, I did not create a set of thunks to support this library natively in Wine (it would easy to do, but I am waiting for a better solution than adding another autogenerated thunk file), you can always download anywhere on the net (it's free) a GLU32.DLL file (by browsing, for example, http://ftpsearch.lycos.com/).

11.4.2. OpenGL not detected at configure time

See section (I) for a detailed explanation of the configure requirements.

11.4.3. When running an OpenGL application, the screen flickers

See section (II) for how to create the context double-buffered and thus preventing this flicker effect.

11.4.4. Wine gives me the following error message :

Extension defined in the OpenGL library but NOT in opengl_ext.c...
Please report (lionel.ulmer@free.fr) !
        

This means that the extension requested by the application is found in the libGL used by Linux (ie the call to glXGetProcAddressARB returns a non-NULL pointer) but that this string was NOT found in Wine's extension registry.

This can come from two causes :

  1. The opengl_ext.c file is too old and needs to be generated again.

  2. Use of obsolete extensions that are not supported anymore by SGI or of 'private' extensions that are not registered. An example of the former are glMTexCoord2fSGIS and glSelectTextureSGIS as used by Quake 2 (and apparently also by old versions of Half Life). If documentation can be found on these functions, they can be added to Wine's extension set.

If you have this, run with --debugmsg +opengl and send me the TRACE.

11.4.5. libopengl32.so is built but it is still not working

This may be caused by some missing functions required by opengl_norm.c but that your Linux OpenGL library does not provide.

To check for this, do the following steps :

  1. create a dummy .c file :

    int main(void) {
        return 0;
    }
                
  2. try to compile it by linking both libwine and libopengl32 (this command line supposes that you installed the Wine libraries in /usr/local/lib, YMMV) :

    gcc dummy.c -L/usr/local/lib -lwine -lopengl32
                
  3. if it works, the problem is somewhere else (and you can send me an email). If not, you could re-generate the thunk files for OpenGL 1.1 for example (and send me your OpenGL version so that this problem can be detected at configure time).