Commit 6c95e75f authored by Dimitrie O. Paun's avatar Dimitrie O. Paun Committed by Alexandre Julliard

Remove obsolete section about thread-safety.

Cleanup section on configuration, merged the remaining bit into the "Known problems" section. Miscellaneous cleanups and simplifications.
parent 4fae1e8f
......@@ -66,42 +66,12 @@
</sect2>
<sect2>
<title>OpenGL library thread-safety</title>
<para>
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).
</para>
<para>
If the OpenGL library explicitly links in libpthread (you
can check it with a <command>ldd libGL.so</command>), you
need to force OpenGL support by starting
<command>configure</command> with the
<parameter>--enable-opengl</parameter> flag.
</para>
<para>
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.
</para>
<para>
Anyway, it should be pretty safe to build with
<parameter>--enable-opengl</parameter>.
</para>
</sect2>
<sect2>
<title>OpenGL library itself</title>
<para>
To check for the presence of 'libGL' on the system, the
script checks if it defines the
<function>glXCreateContext</function> function. There should
be no problem here.
<function>glXCreateContext</function> function.
</para>
</sect2>
......@@ -114,46 +84,9 @@
function. Your OpenGL library needs to have this function
defined for Wine to be able to support OpenGL.
</para>
<para>
If your library does not provide it, you are out of luck.
</para>
<note>
<para>
this is not completely true as one could rewrite a
<function>glXGetProcAddressARB</function> replacement
using <function>dlopen</function> and friends, but well,
telling people to upgrade is easier :-).
</para>
</note>
</sect2>
</sect1>
<sect1 id="opengl-configure">
<title>How to configure</title>
<para>
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
<filename>opengl32.dll</filename>.
</para>
<para>
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
<filename>~/.wine/config</filename> file
in the [x11drv] section :
</para>
<programlisting>
DesktopDoubleBuffered = Y
</programlisting>
<para>
and to run Wine with the <parameter>--desktop</parameter>
option.
</para>
</sect1>
<sect1 id="opengl-works">
<title>How it all works</title>
......@@ -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
<filename>graphics/x11drv/opengl.c</filename> (all these
<filename>dlls/x11drv/opengl.c</filename> (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
</sect1>
<sect1 id="opengl-problems">
<title>Known problems - shortcomings</title>
<sect2>
<title>Missing GLU32.DLL</title>
<para>
GLU is a library that is layered upon OpenGL. There is a
100% correspondence between the
<filename>libGLU.so</filename> that is used on Linux and
<filename>GLU32.DLL</filename>.
</para>
<para>
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
<filename>GLU32.DLL</filename> file (by browsing, for example,
<ulink url="http://www.dll-files.com/dllindex/index.shtml">
http://www.dll-files.com/dllindex/index.shtml</ulink>).
</para>
</sect2>
<sect2>
<title>OpenGL not detected at configure time</title>
<para>
See section (I) for a detailed explanation of the
<filename>configure</filename> requirements.
</para>
</sect2>
<title>Known problems</title>
<sect2>
<title>When running an OpenGL application, the screen flickers</title>
<para>
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
<filename>~/.wine/config</filename> file
in the <literal>[x11drv]</literal> section:
<programlisting>
DesktopDoubleBuffered = Y
</programlisting>
and to run Wine in desktop mode.
</para>
</sect2>
<sect2>
<title>Wine gives me the following error message : </title>
<title>Unknown extension error message:</title>
<screen>
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.
</para>
<para>
This can come from two causes :
</para>
This can come from two causes:
<orderedlist>
<listitem>
<para>
......@@ -393,11 +303,11 @@ Please report (lionel.ulmer@free.fr) !
</para>
</listitem>
</orderedlist>
</para>
<para>
If you have this, run with <parameter>--debugmsg
+opengl</parameter> and send me
<email>lionel.ulmer@free.fr</email> the TRACE.
If you have this, run with <parameter>--debugmsg +opengl</parameter>
and send me <email>lionel.ulmer@free.fr</email> the TRACE.
</para>
</sect2>
......@@ -419,7 +329,8 @@ Please report (lionel.ulmer@free.fr) !
create a dummy <filename>.c</filename> file :
</para>
<programlisting>
int main(void) {
int main(void)
{
return 0;
}
</programlisting>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment