diff --git a/documentation/opengl b/documentation/opengl
new file mode 100644
index 0000000..647dde4
--- /dev/null
+++ b/documentation/opengl
@@ -0,0 +1,160 @@
+I What is needed to have OpenGL support in Wine
+===============================================
+
+Basically, if you have a Linux OpenGL ABI compliant libGL
+(http://oss.sgi.com/projects/ogl-sample/ABI/) installed on your
+computer, you should everything that is needed.
+
+To be more clear, I will detail one step after another what the
+configure script checks.
+
+If, after Wine compiles, OpenGL support is not compiled in, you can
+always check 'config.log' to see which of the following points failed.
+
+I.1 Header files
+----------------
+
+The needed header files to build OpenGL support in Wine are :
+
+ - gl.h : the definition of all OpenGL core functions, types and
+   enumerants
+
+ - glx.h : how OpenGL integrates in the X Window environment
+
+ - glext.h : the list of all registered OpenGL extensions
+
+The latter file (glext.h) is, as of now, not necessary to build
+Wine. But as this file can be easily obtained from SGI
+(http://oss.sgi.com/projects/ogl-sample/ABI/glext.h), and that all
+OpenGL should provide one, I decided to keep it here.
+
+
+I.2 OpenGL library thread-safety
+--------------------------------
+
+After that, the script checks if the OpenGL library relies or not on
+the pthread library to provide thread safety (most 'modern' OpenGL
+libraries do).
+
+If the OpenGL library explicitely links in libpthread (you can check
+it with a 'ldd libGL.so'), you need to force OpenGL support by
+starting configure with the '--enable-opengl' flag.
+
+The reason to this is that Wine contains some hacks done by Ove to
+cohabit with pthread that are known to work well in most of the cases
+(glibc 2.1.x). On the other hand, we never got Wine to work with glibc
+2.0.6. Thus, I deemed preferable to play it safe : by default, I
+suppose that the hack won't work and that it's the user's
+responsability to enable it.
+
+Anyway, it should be pretty safe to build with '--enable-opengl'.
+
+
+I.3 OpenGL library itself
+-------------------------
+
+To check for the presence of 'libGL' on the system, the script checks
+if it defines the 'glXCreateContext' function. There should be no
+problem here.
+
+
+I.4 glXGetProcAddressARB function
+---------------------------------
+
+The core of Wine's OpenGL implementation (at least for all extensions)
+is the glXGetProcAddressARB function. Your OpenGL library needs to
+have this function defined for Wine to be able to support OpenGL.
+
+If your library does not provide it, you are out of luck.
+
+(Note: this is not completely true as one could rewrite a
+       glXGetProcAddressARB replacement using 'dlopen' and friends,
+       but well, telling people to upgrade is easier :-) ).
+
+
+
+II How to configure
+===================
+
+Configuration is quite easy : once OpenGL support has been built in
+Wine, this internal OpenGL driver will be used each time an
+application tries to load 'opengl32.dll'.
+
+Due to restrictions (that do not exist in Windows) on OpenGL contexts,
+if you want to prevent the screen to flicker when using OpenGL
+applications (all games are using double-buffered contexts), you need
+to set the following option in your .winerc / wine.ini in the [x11drv]
+section :
+
+DesktopDoubleBuffered = Y
+
+and to run Wine with the '--desktop' option.
+
+
+
+III How it all works
+====================
+
+(to be done later)
+
+
+
+IV  Known problems - shortcomings
+=================================
+
+IV.1 Missing GLU32.DLL
+----------------------
+
+GLU is a library that is layered upon OpenGL. There is a 100 %
+corespondance 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/).
+
+
+IV.2 OpenGL not detected at configure time
+------------------------------------------
+
+See section (I) for a detailed explanation of the configure
+requirements.
+
+
+IV.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.
+
+
+IV.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 :
+
+ - the opengl_ext.c file is too old and need to be generated again.
+
+ - 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.
+
+
+
+           Lionel Ulmer (lionel.ulmer@free.fr)
+           last modification : 2000/06/12
