Wine Devel Guide: OpenGL update

Dimitrie O. Paun dpaun at rogers.com
Mon Jan 26 23:29:03 CST 2004


ChangeLog
    Remove obsolete section about thread-safety.
    Cleanup section on configuration, merged the
    remaining bit into the "Known problems" section.
    Miscellaneous cleanups and simplifications.

Index: documentation/opengl.sgml
===================================================================
RCS file: /var/cvs/wine/documentation/opengl.sgml,v
retrieving revision 1.7
diff -u -r1.7 opengl.sgml
--- documentation/opengl.sgml	22 Sep 2003 19:35:25 -0000	1.7
+++ documentation/opengl.sgml	27 Jan 2004 05:22:03 -0000
@@ -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 @@
               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 @@
     </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 @@
           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 @@
             </para>
           </listitem>
         </orderedlist>
+        </para>
 
         <para>
-          If you have this, run with <parameter>--debugmsg
-            +opengl</parameter> and send me
-          <email>lionel.ulmer at free.fr</email> the TRACE.
+          If you have this, run with <parameter>--debugmsg +opengl</parameter>
+          and send me <email>lionel.ulmer at free.fr</email> the TRACE.
         </para>
       </sect2>
 
@@ -419,7 +329,8 @@
               create a dummy <filename>.c</filename> file :
             </para>
             <programlisting>
-int main(void) {
+int main(void)
+{
     return 0;
 }
             </programlisting>


-- 
Dimi.




More information about the wine-patches mailing list