diff --git a/documentation/opengl.sgml b/documentation/opengl.sgml index 1a021afa0a4..b1e0918ad31 100644 --- a/documentation/opengl.sgml +++ b/documentation/opengl.sgml @@ -65,43 +65,13 @@ - - 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 explicitly 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 responsibility to enable it. - - - Anyway, it should be pretty safe to build with - --enable-opengl. - - - 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. + glXCreateContext function. @@ -114,46 +84,9 @@ 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. - - - - this is not completely true as one could rewrite a - glXGetProcAddressARB replacement - using dlopen and friends, but well, - telling people to upgrade is easier :-). - - - - 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 - ~/.wine/config file - in the [x11drv] section : - - -DesktopDoubleBuffered = Y - - - and to run Wine with the --desktop - option. - - - How it all works @@ -203,7 +136,7 @@ DesktopDoubleBuffered = Y choosing if one wants a depth / alpha buffer, the size of these buffers, ...) and to do the 'page flipping' in double buffer mode. This is implemented in - graphics/x11drv/opengl.c (all these + dlls/x11drv/opengl.c (all these functions are part of Wine's graphic driver function pointer table and thus could be reimplemented if ever Wine works on another Windowing system than X). @@ -314,48 +247,27 @@ DesktopDoubleBuffered = Y - 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://www.dll-files.com/dllindex/index.shtml). - - - - - OpenGL not detected at configure time - - - See section (I) for a detailed explanation of the - configure requirements. - - + Known problems 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. + 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 + ~/.wine/config file + in the [x11drv] section: + +DesktopDoubleBuffered = Y + + and to run Wine in desktop mode. - Wine gives me the following error message : + Unknown extension error message: Extension defined in the OpenGL library but NOT in opengl_ext.c... @@ -370,9 +282,7 @@ Please report (lionel.ulmer@free.fr) ! was NOT found in Wine's extension registry. - This can come from two causes : - - + This can come from two causes: @@ -393,11 +303,11 @@ Please report (lionel.ulmer@free.fr) ! + - If you have this, run with --debugmsg - +opengl and send me - lionel.ulmer@free.fr the TRACE. + If you have this, run with --debugmsg +opengl + and send me lionel.ulmer@free.fr the TRACE. @@ -419,7 +329,8 @@ Please report (lionel.ulmer@free.fr) ! create a dummy .c file : -int main(void) { +int main(void) +{ return 0; }