<kc version="0.1.0">
<title>Wine Traffic</title>
<author contact="mailto:vinn@theshell.com">Brian Vincent</author>
<issue num="131" date="06 Aug 2002 23:00:00 -0800"/>

<intro><p>This is the 131st release of the Wine's kernel 
cousin publication. It's main goal is to distribute widely 
what's going on around Wine (the Un*x windows emulator).
</p></intro>


<stats posts="155" size="857" contrib="66" multiples="29" lastweek="32">

<person posts="12" size="26" who="Alexandre Julliard &lt;julliard@winehq.com&gt;" />
<person posts="11" size="32" who="Tony Lambregts &lt;tony_lambregts@telusplanet.net&gt;" />
<person posts="9" size="52" who="Michael Stefaniuc &lt;mstefani@redhat.de&gt;" />
<person posts="7" size="23" who="Eric Pouech &lt;eric.pouech@wanadoo.fr&gt;" />
<person posts="7" size="20" who="Lionel Ulmer &lt;lionel.ulmer@free.fr&gt;" />
<person posts="7" size="16" who="Bang Jun-Young &lt;junyoung@mogua.com&gt;" />
<person posts="6" size="13" who="Sylvain Petreolle &lt;spetreolle@yahoo.fr&gt;" />
<person posts="5" size="15" who="Joerg Mayer &lt;jmayer@loplof.de&gt;" />
<person posts="5" size="11" who="Ove Kaaven &lt;ovehk@ping.uio.no&gt;" />
<person posts="4" size="17" who="Shachar Shemesh &lt;wine-devel@sun.consumer.org.il&gt;" />
<person posts="4" size="12" who="Andreas Mohr &lt;andi@rhlx01.fht-esslingen.de&gt;" />
<person posts="3" size="13" who="Jesse Allen &lt;uh_ja@gmx.net&gt;" />
<person posts="3" size="13" who="Uwe Bonnes &lt;bon@elektron.ikp.physik.tu-darmstadt.de&gt;" />
<person posts="3" size="11" who="Paul Millar &lt;paulm@astro.gla.ac.uk&gt;" />
<person posts="3" size="8" who="Martin Cracauer &lt;cracauer@cons.org&gt;" />
<person posts="3" size="6" who="Francois Gouget &lt;fgouget@free.fr&gt;" />
<person posts="2" size="39" who="Serge Ryabchun &lt;sr@energy.uch.net&gt;" />
<person posts="2" size="10" who="Martin Lexa &lt;mlexa@iol.cz&gt;" />
<person posts="2" size="7" who="Gerald Pfeifer &lt;pfeifer@dbai.tuwien.ac.at&gt;" />
<person posts="2" size="7" who="Raul Dias &lt;chaos@swi.com.br&gt;" />
<person posts="2" size="6" who="Johan Gill &lt;johane@lysator.liu.se&gt;" />
<person posts="2" size="6" who="David D. Hagood &lt;wowbagger@sktc.net&gt;" />
<person posts="2" size="5" who="Dimitrie O. Paun &lt;dpaun@rogers.com&gt;" />
<person posts="2" size="4" who="Max &lt;max@veneto.com&gt;" />
<person posts="2" size="4" who="Marcus Meissner &lt;meissner@suse.de&gt;" />
<person posts="2" size="4" who="Andriy Palamarchuk &lt;apa3a@yahoo.com&gt;" />
<person posts="3" size="6" who="Steve Lustbader (Non-A-hsgAndover,ex1) &lt;steve_lustbader@hsgmed.com&gt;" />
<person posts="2" size="3" who="Steven Edwards &lt;steven_ed4153@yahoo.com&gt;" />
<person posts="3" size="366" who="Juergen Schmied &lt;juergenschmied@lycos.de&gt;" />
<person posts="1" size="5" who="Marco Pietrobono &lt;pietrobo@pietrobo.com&gt;" />
<person posts="1" size="4" who="Chris Morgan &lt;chrismorgan@rcn.com&gt;" />
<person posts="1" size="4" who="admiral coeyman &lt;admiral@corner.net&gt;" />
<person posts="1" size="3" who="Huw D M Davies &lt;h.davies1@physics.ox.ac.uk&gt;" />
<person posts="1" size="3" who="Oliver Sampson &lt;olsam@quickaudio.com&gt;" />
<person posts="1" size="3" who="Kristoffer Ericson &lt;kristoffer_e1@hotmail.com&gt;" />
<person posts="1" size="3" who="dank@kegel.com" />
<person posts="1" size="2" who="lists@vmn.com.br" />
<person posts="1" size="2" who="Vincent Beron &lt;vberon@mecano.gme.usherb.ca&gt;" />
<person posts="1" size="2" who="Marcus Meissner &lt;marcus@jet.franken.de&gt;" />
<person posts="1" size="2" who="List vmn &lt;list@vmn.com.br&gt;" />
<person posts="1" size="2" who="Matts &lt;kivik@firstlinux.net&gt;" />
<person posts="1" size="2" who="Fabian Cenedese &lt;Cenedese@indel.ch&gt;" />
<person posts="1" size="2" who="Peter Hunnisett &lt;peter@transgaming.com&gt;" />
<person posts="1" size="2" who="Jacek Bator &lt;jbator@man.poznan.pl&gt;" />
<person posts="1" size="2" who="Gregg Mattinson &lt;gm138242@scot.canada.sun.com&gt;" />
<person posts="3" size="6" who="Dusan Vujosevic &lt;dusanv@cadlink.com&gt;" />
<person posts="1" size="2" who="Patrik Stridvall &lt;ps@leissner.se&gt;" />
<person posts="1" size="2" who="Rafael Kitover &lt;caelum@debian.org&gt;" />
<person posts="1" size="2" who="Guy L. Albertelli &lt;galberte@neo.lrun.com&gt;" />
<person posts="1" size="2" who="Luc Saillard &lt;luc+wine@alcove.fr&gt;" />
<person posts="1" size="2" who="Dmitry Timoshkov &lt;dmitry@baikal.ru&gt;" />
<person posts="1" size="2" who="David Hammerton &lt;david@transgaming.com&gt;" />
<person posts="1" size="2" who="Jeremy Newman &lt;jnewman@codeweavers.com&gt;" />
<person posts="1" size="2" who="Mike McCormack &lt;mikem@codeweavers.com&gt;" />
<person posts="1" size="2" who="DJ Lucas &lt;dj@lucasit.com&gt;" />
<person posts="1" size="2" who="Malte Cornils &lt;malte@cornils.net&gt;" />
<person posts="1" size="1" who="Massimo &lt;max@veneto.com&gt;" />
<person posts="1" size="1" who="Joshua Thielen &lt;thielen@netprince.net&gt;" />
<person posts="1" size="1" who="Claudiu Costin &lt;claudiuc@kde.org&gt;" />
<person posts="1" size="1" who="Narayan Pavgi &lt;fisbo10011001@yahoo.com&gt;" />
<person posts="1" size="1" who="Paramjit S. Pannu &lt;ppannu@quark.co.in&gt;" />

</stats>

<section 
	title="News: Wine20020804, CrossOver Office 1.2, WineX 2.1, Xandros beta 3" 
	subject="News" 
	archive="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.65&amp;content-type=text/x-cvsweb-markup" 
	posts="3" 
	startdate="26 Jul 2002 23:00:00 -0800" 
	enddate="06 Aug 2002 23:00:00 -0800"
>
<topic>News</topic>

<mention>CodeWeavers</mention>
<mention></mention>
<mention>News</mention>
<mention>Gavriel State</mention>
<mention>codeweavers</mention>
<mention>Jeremy White</mention>
<mention>Xandros</mention>
<mention>TransGaming</mention>

<p>A new CVS drop occured on August 4th.  Alexandre noted
the following changes in the 
<a href="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.65&amp;content-type=text/x-cvsweb-markup">
announcement</a>:
<quote who="Alexandre Julliard">
<ul>	<li> Beginnings of an IDL compiler.</li>
	<li> Several new winedbg features.</li>
	<li> More OLE and shell improvements.</li>
	<li> NAS and AudioIO sound drivers.</li>
	<li> Still more Sparc portability fixes.</li>
	<li> Lots of bug fixes.</li></ul>
</quote></p>


<p>CodeWeavers 
<a href="http://www.codeweavers.com/about/press_releases/?id=20020807">announced</a> CrossOver 
Office 1.2.0.  The notable
additions are support for Quicken and Visio.  QuickBooks, while
not officially supported, is reportedly working to some degree.  Worth
noting is <a href="http://www.desktoplinux.com/articles/AT2282537026.html">
a review</a> with lots of screenshots.  The 
<a href="http://www.desktoplinux.com/articles/AT7614463206.html">
second page</a> of the review is actually an interview with Jeremy
White.</p>


<p>TransGaming <a href="http://www.transgaming.com/news.php?newsid=42">
announced</a> WineX 2.1 adding the ability to run even more games.   
Screenshots of some of new games include:
<ul><li><a href="http://www.transgaming.com/screenshots.php?gameid=556">Warcraft III</a></li>
<li><a href="http://www.transgaming.com/screenshots.php?gameid=517">Grand Theft Auto III</a></li>	
<li><a href="http://www.transgaming.com/screenshots.php?gameid=52">Civilization III</a></li>
<li><a href="http://www.transgaming.com/screenshots.php?gameid=2">Black and White</a></li>
</ul></p>


<p>There were some other announcements out of TransGaming.  First, a 
<a href="http://www.transgaming.com/webstore_peek.php">
web store</a> is in the works and set to open soon.  Gavriel State 
<a href="http://www.transgaming.com/gavstates.php">mentioned</a> that a
source-enabled port of Kohan will be available from the store soon.
Also of note are the winners of the "Name the Logo" contest.
Thomas Wouters, Ethan James and Aaron Glover each suggested the name
"Spike" for the TransGaming logo. </p>

<p>Some <a href="http://www.desktoplinux.com/articles/AT2929262760.html">news</a>
out of Xandros this week points towards another beta release in August and 
release date of September or October.  They plan to show off their desktop
solution at LinuxWorld including "a spectacular office suite".  </p>




</section>







<section 
	title="DIB Engine Update" 
	subject="GDI architecture" 
	archive="http://www.winehq.com/hypermail/wine-devel/2002/08/0072.html" 
	posts="4" 
	startdate="05 Aug 2002 23:00:00 -0800" 
	enddate="05 Aug 2002 23:00:00 -0800"
>
<topic>Patches</topic>
<topic>X11 Tree</topic>


<mention></mention>
<mention>Marcus Meissner</mention>
<mention>Ove K&#229;ven</mention>

<p>Jacek Bator asked,
<quote who="Jacek Bator">
 I'm tring to understand current wine gdi architecture, and as far as I 
 see its strictly based on and mixed with XWindows. Is it inheritance of 
 early development. Does any one tried ever to rewrite this layer not 
 only to separate dll, but to implement real drivers for graphics
 rendering.
</quote></p>

<p>Marcus Meissner pointed out that there were some abstraction layers
there.  Ove K&#229;ven offhandedly mentioned, 
<quote who="Ove Kaaven">
 David Hammerton is in possession of an experimental DIB engine of Wine,
 but I don't recall whether he ever got around to submitting it to wine
 yet.</quote>  To which David replied,
<quote who="David Hammerton">
 Hmm, I thought you were going to check it into rewind Ove? maybe I'll resend it
if you've lost it?</quote></p>

<p>Adding a DIB engine to Wine has been discussed in the past,
<kcref subject="DIB engine" startdate="29 Mar 2002 23:00:00 -0800" />
<kcref subject="wineconf 2002: final things"  startdate="18 Mar 2002 23:00:00 -0800" />
and it's really high on the wishlist items.  </p>

</section>







<section 
	title="make depend: Just Do It" 
	subject="Isn't 'make depend' optional?" 
	archive="http://www.winehq.com/hypermail/wine-devel/2002/08/0037.html" 
	posts="16" 
	startdate="04 Aug 2002 23:00:00 -0800"
>
<topic>Build Process</topic>

<mention></mention>

<p>Bang Jun-Young reported a problem building Wine:</p>
<quote who="Bang Jun-Young"><p>
 I got the following error with wine-20020804 when I skipped 'make depend'
 before doing 'make':</p>
<p><i>[ 
<a href="http://www.winehq.com/hypermail/wine-devel/2002/08/0037.html">
link</a> to error </i>]</p>
</quote>

<p>A ton of people wrote back to inform Jun-Young to just do the <code>make 
depend</code>.  If it worked in the past without it, then it was just luck.  
Sylvain Petreolle pointed out, 
<quote who="Sylvain Petreolle">
 See configure output and follow its instructions - it says to run
 '<code>make depend &amp;&amp; make</code>'.</quote></p>
<p>Jun-Young wondered why it was really required though.  He felt 
the source code should compile without it.  Several people admitted
they didn't know exactly why it was there, just that it was needed.
Alexandre explained:</p>
<p>
<quote who="Alexandre Julliard">
The reason is that some headers are generated at build time, and thus need
proper dependencies in order to be generated in the right order. So we
either have to require make depend before building, or manually
maintain the dependencies for these headers. Neither solution is
perfect, but at least the make depend approach has the advantage that
it doesn't break if you change a #include and forget to update the
makefile.</quote></p>


</section>










<section
  title="CUPS Printing"
  subject="CUPS and Wine"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/07/0481.html"
  posts="5"
  startdate="26 Jul 2002 23:00:00 -0800"
  enddate="26 Jul 2002 23:00:00 -0800"
>
<topic>Integration</topic>
<mention></mention>
<mention>Josh Thielen</mention>

<p>
David Hagood needed some advice on setting up CUPS printing:</p>
<quote who="David Hagood"><p>
 I've been having trouble with my RH7.2 LPRng based printing, so I 
 decided I'd try installing CUPS. After fighting for hours to get this 
 so-called easier printing system installed and working, I finally got to 
 where I could print from Linux apps. Now, however, Wine steadfastly 
 refuses to bring up a meaningful print dialog.
</p><p>
 I've gone into system.reg and win.ini and removed all the entries 
 relating to the printing system, to no avail. Wine sort of recognises 
 that there is a printer named "Color" managed by CUPS, but it cannot get 
 any kind of properties for it - no paper size, no queue, and any attempt 
 to accept the dialog is either ignored or results in a fault.
</p></quote>

<p>Andreas Mohr took a jab at CUPS first:</p>
<quote who="Andreas Mohr"><p>
 Yep, I've always been asking myself how this company came to name itself
 Easy Software Products.
 At least the CUPS install on Debian is rather problematic.
 You even have to type in printer URLs *by hand* in several cases !
 The menu choices are not exactly non-confusing.
 A web-based system could be considered to be *made* for a good
 context-sensitive help system, yet there's none to be found.
</p><p>
CUPS *should* be totally easy to set up in Wine, yet for some reason
Wine stumbles hard and dies instantly.
If noone has a stab at fixing this, then maybe I'll have some time to fix
it. Don't ask for a close look at my ToDo list, though... ;-)

</p></quote>
<p>Josh Thielen pointed that <a href="http://bugs.winehq.com/show_bug.cgi?id=823">
a bug</a> had already been filed on it.  </p>

</section>








<section 
	title="How to Maintain a Complete CVS Repository" 
	subject="How to mantain complete CVS repository" 
	archive="http://www.winehq.com/hypermail/wine-devel/2002/07/0452.html" 
	posts="6" 
	startdate="25 Jul 2002 23:00:00 -0800" 
	enddate="27 Jul 2002 23:00:00 -0800"
>
<topic>Build Process</topic>

<mention>Steve Lustbader</mention>
<mention></mention>

<p>Max had a question about maintaining an up to date copy
of the Wine code, <quote who="Max">
 I downloaded complete CVS wine repository, but the instructions on how to use 
 CVSUP to mantain it up to date are not complete (for me at least !).
 Can anybody explain me how to do it ?</quote></p>

<p>Tony Lambregts suggested:</p>
<quote who="Tony Lambregts"><p>
When I  update from CVS I use
<ul><code>
 cvs update -PAd<br />
 ./configure<br />
 make depend &amp;&amp; make<br />
 su<br />
 make install
</code></ul></p><p>
The configure is optional if no makefiles have been changed.</p></quote>

<p>Dimi Paun does it a different way:</p>
<quote who="Dimitrie Paun"><p>
Here is my setup:
<ul><code>
[dimi@dimi dimi]$ ls -ld /var/cvsup<br />
drwxrwxrwx    4 root     root         4096 May 21 03:25 /var/cvsup<br />
[dimi@dimi dimi]$ ls -ld /var/cvs<br />
drwxr-xr-x    3 root     root         4096 May 21 03:29 /var/cvs<br />
[dimi@dimi dimi]$ ls -l /var/cvs<br />
total 4<br />
drwxr-xr-x    2 root     root         4096 May 21 03:29 CVSROOT<br />
lrwxrwxrwx    1 root     root           14 May 21 03:28 wine -> ../cvsup/wine/<br />
[dimi@dimi dimi]$ cat ~/cvsup.sup<br />
*default base=/var/cvsup delete compress<br />
wine release=wine host=cvs.winehq.com<br />
[dimi@dimi dimi]$<br />
</code></ul></p><p>
What I do then is:
<ul><code>
cvs -d /var/cvs co wine<br />
to create your working directory.</code></ul>
</p><p>
When I want to update, I do:
<ul><code>
[dimi@dimi wine] cvsup ~/cvsup.sup<br />
[dimi@dimi wine] cvs up
</code></ul></p><p>
Everything else is as if you work directly with the WineHQ tree,
only _a_lot_ faster.</p>
</quote>

<p>Steve Lustbader asked when it's necessary to run wineinstall.
Tony Lambregts explained:</p>
<quote who="Tony Lambregts"><p>
 wineinstall sets up your  ~/.wine/config file and the default 
 registries in addition to compiling wine so most of the time if you 
 already have these set up then it is not nessesary to use wineinstall.
</p><p>
 However the structure of both the .wine/config and registries and thier 
 contents has changed over time and as new features are added to wine. 
  For example over time more functionality has been added to the various 
 dlls and in the default config file various dlls now default to builtin  
 rather than native. So running wineinstall once a month and letting it 
 overwrite your old config is not a really bad idea.  Your old config is 
 called config.sav and you can run "diff -u config.sav config>config.dif" 
 to see what it has changed.</p></quote>

</section>





<section 
	title="Dinput and StarSiege Tribes" 
	subject="Dinput - Keyb Bug" 
	archive="http://www.winehq.com/hypermail/wine-devel/2002/07/0394.html" 
	posts="12" 
	startdate="22 Jul 2002 23:00:00 -0800" 
	enddate="28 Jul 2002 23:00:00 -0800"
>
<topic>Fixes</topic>

<mention></mention>
<mention>Jesse Allen</mention>
<mention>Lionel Ulmer</mention>

<p>Kristoffer Ericson was looking for some help to get a game working:</p>
<quote who="Kristoffer Ericson"><p>
I'm trying to get StarSiege Tribes (1) to work, and from what i gather is it 
suffering from a quite common wine-gaming-problem (both wine &amp; winex).
</p><p>
The game starts smoothly enough but keyboard is dead. When i press any key 
it will instantly drop out and quit. No error message or breaks.
Considering the keyboard makes you move it basicly leaves you jumping up and 
down shooting at everything that comes..=) Other than the keyboard error 
tribes runs fine.
</p></quote>

<p>Steven Edwards had a quick solution,
<quote who="Steven Edwards">
 You need to use the windows dinput.dll as ours is (still) not up to spec. I used to play this game
 all the time under linux till tribes2. I dont know if this will work with the directx 8.1 but if
 you can find a dinput.dll from dx5 or 6 it should work. </quote></p>

<p>That seemed to work, but Kristoffer went on to mention some other problems such as 
sound not quite working right, OpenGL not working at all, and full-screen
mode feeling sluggish.   Lionel Ulmer asked for some debugging output which
Kristoffer and Jesse Allen provided.  Steven Edwards' solution for the
hardware acceleration was to use older Voodoo cards with GLIDE since the
game supported it. </p>

</section>







<section 
	title="Threading on Solaris" 
	subject="Threading on Solaris" 
	archive="http://www.winehq.com/hypermail/wine-devel/2002/07/0390.html" 
	posts="5" 
	startdate="22 Jul 2002 23:00:00 -0800" 
	enddate="25 Jul 2002 23:00:00 -0800"
>
<topic>Ports</topic>

<mention></mention>

<p>Francois Gouget reported a threading problem with Solaris:</p>
<quote who="Francois Gouget">
<p>
 Some time ago I did some tests of Wine on Solaris x86 and found that 
 there is a problem with the way we handle threads due to the differences 
 between the Linux and Solaris threading models. These differences are 
 also relevant for Solaris Sparc and probably many other Unices.
</p><p>
 Unfortunately I don't have time to work on it anymore so I created a bug 
 report in Bugzilla where I tried to dump the relevant information, 
 including a patch to illustrate the issues and the start of a fix. I 
 hope it will be useful to someone... maybe Gregg who has been doing a 
 lot of Solaris work recently.
</p><p>

<a href="http://bugs.winehq.com/show_bug.cgi?id=904">
 http://bugs.winehq.com/show_bug.cgi?id=904</a>
</p></quote>

<p>In the bug report Francois noted the following details:</p>
<quote who="Francois Gouget"><p><ul>
 <li> on Linux a process can contain multiple threads and each thread gets a unique
system-wide identifier which is confusingly called a pid (process id). It can be
argued that Linux does not in fact have the notion of what a process is: there
is no object that represents the process that contains all these threads. So you
cannot kill a process, you can only kill its individual threads. This is because
you can only send signals to specific threads so that when you 'kill -9 pid',
you only kill one individual thread in the process.
 </li><li>
  on Solaris too a process can contain multiple threads (called lightweight
processes or lwp for short). However, processes and threads are each separate
system objects. When you send a signal it is sent to the process: 'kill -9 pid'
will kill the process and all its threads. Also, individual lwps do not have a
globally unique identifier. Instead their ids (typically 0, 1, 2, etc.) are only
unique within a process. So if you want to refer to a specific lwp in the system
you must use specify both the pid and the lwpid.
 </li></ul></p>
<p>
Wine and in particular the Wine server, need the following functionality:
<ol>
 <li> uniquely identify a thread in the system</li>
 <li> sending a signal to a specific thread </li>
 <li> precisely identifying a thread's parent thread
   (for handle inheritance when creating a new process, etc. It is a
   prerequisite for the debugger too)</li>
</ol></p></quote>

<p>Gregg Mattinson dived into it and came up with a patch a few days
later.  He noted the following changes:</p>
<quote who="Gregg Mattinson"><p>
 Here is my first attempt at fixing threads for Solaris.  This patch is based on 
 the comments from and bug entered by Francois Gouget.
</p><p>
 I compiled the wineserver under i386-solaris, and it runs.  I do not have the 
 resources to compile ALL of wine under i386, or on any OS other than Solaris so 
 the linux and BSD portions of this code are completly un-tested.
</p><p>
 ChangeLog:<br/>
 Improved wineserver's handling of LWPs by following recommendations from 
 <a href="http://bugs.winehq.com/show_bug.cgi?id=904">
 http://bugs.winehq.com/show_bug.cgi?id=904</a>
 With LWPs (Solaris), each wine 
 process contains the unix_pid, and each thread contains the LWP id.  Without 
 LWPs (Linux, BSD, ...) each process contains the unix_pid 0, and each thread 
 contains the actual unix pid in it's tid member.
</p></quote> 
</section>














</kc>
