Remove obsolete section about thread-safety.
Cleanup section on configuration, merged the remaining bit into the "Known problems" section. Miscellaneous cleanups and simplifications.
This commit is contained in:
parent
4fae1e8faf
commit
6c95e75fea
|
@ -65,43 +65,13 @@
|
|||
</para>
|
||||
</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>
|
||||
|
|
Loading…
Reference in New Issue