
                              Wine Documentation                               
Prev                      Chapter 10. Wine and OpenGL                      Next
-------------------------------------------------------------------------------

Known problems - shortcomings

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/).

OpenGL not detected at configure time

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

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.

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 <lionel.ulmer@free.fr
> the TRACE.

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).
   

-------------------------------------------------------------------------------
Prev                                 Home                                  Next
How it all works                      Up                  The Wine Build System
