<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="207" date="30 Jan 2004 00:00:00 -0800" />
<intro> <p>This is the 207th issue of the Wine Weekly News publication.
Its main goal is to go to WineConf.. happy birthday to me. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix.  Think of it as a Windows compatibility layer.  Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.   You can find more info at <a href="http://www.winehq.org">www.winehq.org</a></p> </intro>
<stats posts="218" size="748" contrib="75" multiples="42" lastweek="35">

<person posts="19" size="47" who="Dmitry Timoshkov" />
<person posts="14" size="39" who="Robert Shearman" />
<person posts="12" size="43" who="Fabian Cenedese" />
<person posts="10" size="53" who="Abdul-Haseeb Ahmad" />
<person posts="8" size="21" who="Mike Hearn" />
<person posts="7" size="17" who="Alexandre Julliard" />
<person posts="6" size="58" who="MediaHost \(TM\)" />
<person posts="8" size="19" who="Dimitrie O. Paun" />
<person posts="6" size="12" who="Ivan Leo Murray-Smith" />
<person posts="5" size="20" who="Richard Schilling" />
<person posts="5" size="12" who="Eric Pouech" />
<person posts="5" size="10" who="Tom" />
<person posts="4" size="30" who="Duane Clark" />
<person posts="4" size="22" who="Ge van Geldorp" />
<person posts="4" size="18" who="Mike McCormack" />
<person posts="4" size="15" who="Peter Riocreux" />
<person posts="4" size="12" who=" (Frank Schruefer)" />
<person posts="4" size="12" who="Uwe Bonnes" />
<person posts="4" size="12" who="Shachar Shemesh" />
<person posts="4" size="9" who="Jakob Eriksson" />
<person posts="3" size="9" who="Brian Vincent" />
<person posts="3" size="8" who="Lionel Ulmer" />
<person posts="3" size="6" who="Thomas Brix Larsen" />
<person posts="3" size="6" who="Steven Edwards" />
<person posts="3" size="6" who="Vitaliy Margolen" />
<person posts="3" size="5" who="Jason Edmeades" />
<person posts="2" size="15" who="saravanan" />
<person posts="2" size="9" who="Paul R Streitman" />
<person posts="2" size="8" who="Alex Pasadyn" />
<person posts="2" size="6" who="hatky" />
<person posts="2" size="6" who="Kevin DeKorte" />
<person posts="2" size="6" who=" &lt;ceztko@libero.it&gt;" />
<person posts="2" size="5" who="Carlos Lozano" />
<person posts="2" size="5" who="Savio Ramos" />
<person posts="2" size="5" who="Boaz Harrosh" />
<person posts="2" size="5" who="Dan Kegel" />
<person posts="2" size="5" who="Aric Stewart" />
<person posts="2" size="5" who="Sami Aario" />
<person posts="2" size="5" who="Francois Gouget" />
<person posts="2" size="4" who="Rein Klazes" />
<person posts="2" size="4" who="Kevin Koltzau" />
<person posts="1" size="16" who="Mike Kost" />
<person posts="1" size="14" who="Hans Leidekker" />
<person posts="1" size="7" who="David Goodenough" />
<person posts="1" size="5" who="Abdul Ahmad" />
<person posts="1" size="4" who="Abdul Ahmad" />
<person posts="1" size="3" who="Cordula's Web" />
<person posts="1" size="3" who="Todd T. Fries" />
<person posts="1" size="3" who="Ge van Geldorp" />
<person posts="1" size="3" who="Peter Hartshorn" />
<person posts="1" size="2" who="Frank Schruefer" />
<person posts="1" size="2" who="Nyef" />
<person posts="1" size="2" who="Rolf Kalbermatter" />
<person posts="1" size="2" who="Anil Akurathi" />
<person posts="1" size="2" who="Jason Edmeades" />
<person posts="1" size="2" who="Leo" />
<person posts="1" size="2" who="Chuck Swiger" />
<person posts="1" size="2" who="Andrew L. Bereson" />
<person posts="1" size="2" who="Jeremy White" />
<person posts="1" size="2" who="sean" />
<person posts="1" size="2" who="(ATMRD)" />
<person posts="1" size="2" who="Anonymous" />
<person posts="1" size="2" who="Andreas Mohr" />
<person posts="1" size="2" who="Vincent B&#233;ron" />
<person posts="1" size="2" who="Acke Carlsson" />
<person posts="1" size="2" who="Ferenc Wagner" />
<person posts="1" size="2" who="Martin Garton" />
<person posts="1" size="2" who="Paul Millar" />
<person posts="1" size="1" who="Gregory M. Turner" />
<person posts="1" size="1" who="Sylvain Petreolle" />
<person posts="1" size="1" who="Bill Medland" />
<person posts="1" size="1" who="Martin Fuchs" />
<person posts="1" size="1" who="Robert Shearman" />

</stats>
<section 
	title="News: C4 Update" 
	subject="News"
	archive="http://www.codeweavers.com/site/compatibility/toplists" 
	posts="4"
	startdate="24 Jan 2004 00:00:00 -0800"
	enddate="30 Jan 2004 00:00:00 -0800"
>
<topic>News</topic>
<mention></mention>
<mention>codeweavers</mention>
<mention>News</mention>

<p>Last week we announced the creation of CodeWeaver's
<a href="c4.codeweavers.com">C4</a> project.  After just
one week it's interesting to go back and look at 

<a href="http://www.codeweavers.com/site/compatibility/toplists">
the database statistics</a>.  There is some serious money being
offered for working applications.  Right now Lotus Notes 6 / 6.5 
has a reward of $4326.50.</p>

</section>
<section 
	title="WineConf &amp; Remote Participation" 
	subject="Remote access to wineconf"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/01/0978.html" 
	posts="2"
	startdate="29 Jan 2004 00:00:00 -0800"
>
<topic>WineConf 2004</topic>
<mention></mention>
<mention>codeweavers</mention>

<p>In case you hadn't heard, WineConf 2004 is this weekend in St. Paul, Minnesota.  
Over thirty developers are expected to attend.  Almost everyone will be arriving
tomorrow, if they're not there already.  Part of the reason this weeks' WWN
is so small is because people are en route.  The other reason is I'm rushing
out the door myself.  Next week there will definitely be 
some form of update posted in the WWN.  I'll probably wait a few days to allow
everyone to put together some nice collections of pictures, slide topics, etc.
</p><p>
Jeremy White has set up some remote
participation capabilities for those unable to make it:</p>

<quote who="Jeremy White"><p>
It looks as though through the kind help of some folks that
we will be able to have video streaming for Wineconf.
</p><p>
We'll also be maintaining an irc channel for the conference;
#wineconf on freenode (said channel is already open for business,
and will be active throughout the weekend).
</p><p>
We've got a test stream up if you want to try your viewer:
<ul><a href="http://www.winehq.org/wineconf/stream.html">
 http://www.winehq.org/wineconf/stream.html</a></ul>
</p><p>
I'll point it to the live stream on Saturday morning.
</p><p>
We've had success with mplayer (the following was found
by Art to work well):
<ul><tt>
mplayer -rtsp-stream-over-tcp rtsp://wine.codeweavers.com/wineconf-test.sdp</tt></ul></p><p>

You can also use Quicktime, and the Player from Quicktime 6.3 should run
under Wine.  I haven't had time to nail down a version of
Wine that runs it reliably; I had one working a few weeks
ago, but now our CVS tip doesn't work for beans.  Hopefully
I'll get enough time to push one out.
</p><p>
If someone else wants to take a poke, the key is to snag
Quicktime 6.3 (it's a bit hard to find, but is out there),
and make sure you use a Wine that is recent enough that it
has the REUSEADDR badness in socket.c reverted.
</p></quote>

<p>For more info on accessing Wine's IRC channels, see the
<a href="http://www.winehq.com/site/forums#irc">IRC instructions</a>
on WineHQ.  Please use the #wineconf channel for conference related
questions.  For more information on WineConf happenings, see the
<a href="http://www.winehq.com/wineconf/">website</a> or read the recent
<a href="http://www.winehq.com/hypermail/wineconf/2004/01/index.html">mailing 
list archives</a>.</p>

<p>Kevin DeKorte gave a pointer toward a little bit of browser
integration for viewing Jeremy's video stream:</p>
<quote who="Kevin DeKorte"><p>
Shameless promotion here.
</p><p>
If you install mplayer with the realplayer codecs and get the below link 
working, but you want you see it in the browser do the following.
</p><p>
Get the CVS version of 
<a href="http://mplayerplug-in.sf.net">http://mplayerplug-in.sf.net</a> and install it. 
Then in the <tt>$(HOME)/.mplayer/mplayerplug-in.conf</tt> file (create the file if 
missing) set "enable-real=1" and "rtsp-use-tcp=1", delete 
<tt>$(HOME)/.mozilla/pluginreg.dat</tt> and restart mozilla and the video should work 
in the browser window. At least it does for me.
</p></quote>

</section>
<section 
	title="Wine Status Updates" 
	subject="Remote access to wineconf"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/01/0977.html" 
	posts="1"
	startdate="29 Jan 2004 00:00:00 -0800"
>
<topic>Status Updates</topic>
<mention></mention>
<mention>Tom Wickline</mention>

<p>Dimi wondered why we hadn't told anyone about the 
<a href="http://www.winehq.com/site/status">updated
status pages</a> on WineHQ:  </p>
<quote who="Dimitrie Paun"><p>
How about a news item about the status being updated?
Tom just finished a big status update, and people that
don't follow wine-{cvs,devel,patches}@winehq.org have
no way of knowing.
</p><p>
In general, I think any big site update should make it
as news items.
</p></quote>
<p>
Ha!  I just told everyone.  However, I haven't updated all of the
references to WWN issues.  I should complete that next
week and then I really will splash a new item across the
front page.  However, that's really quite minor compared
to the work Tom Wickline did putting this together.  The
format is slightly reorganized, including a whole new
page for <a href="http://www.winehq.com/site/status_directx">
DirectX</a> work.</p>

</section>
<section 
	title="Darwine Update" 
	subject="Remote access to wineconf"
	archive="http://www.winehq.org/hypermail/wine-devel/2004/01/0977.html" 
	posts="1"
	startdate="29 Jan 2004 00:00:00 -0800"
>
<topic>Ports</topic>
<mention></mention>

<p>The <a href="http://darwine.sourceforge.net/index.php">Darwine</a> folks have
been keeping busy.  The goal of Darwine is to port Wine to MacOS X and allow Windows
programs to run on it.  This week Sanjay Connare announced:</p>
<quote who="Sanjay Connare"><p>
I have created and released a binary for wine on Mac OS X available at 
<a href="http://prdownloads.sourceforge.net/darwine/Darwine.pkg.tgz?download">
http://prdownloads.sourceforge.net/darwine/Darwine.pkg.tgz?download</a></p><p>
this binary is part of the Darwine project.   Thanks for all of your help in 
helping the Darwine team, especially Pierre to bring wine over to Mac OS X.
</p></quote>

<p>One of the goals of Darwine is to integrate an x86 emulator such as Bochs or
QEMU.  I <i>think</i> that currently only Winelib applications compiled natively
will run.  By adding in the x86 emulator they'll be able to natively run Windows
programs out of the box.</p>

</section>

<section 
	title="Some Patches That Appeared This Week" 
	subject="INI File Processing Improvements"
	archive="http://www.winehq.org/hypermail/wine-patches/2004/01/0377.html" 
	posts="4"
	startdate="24 Jan 2004 00:00:00 -0800"
	enddate="30 Jan 2004 00:00:00 -0800"
>
<topic>Patches</topic>
<mention></mention>

<p>As I was putting this issue together I felt guilty because I didn't
really cover a good technical thread.  I'll take this opportunity to
cover some patches sent to <a href="http://www.winehq.com/hypermail/wine-patches">
wine-patches</a> this week.  This is a pretty random sampling of some
of the work going on.  First, Alex Pasadyn 
<a href="http://www.winehq.com/hypermail/wine-patches/2004/01/0443.html">
submitted</a> a patch to make some changes to Wine's desktop mode:</p>
<quote who="Alex Pasadyn"><p>
ChangeLog:
<ul>
<li> Make a separate process for the Wine desktop window</li>
<li> In desktop mode, all applications share one desktop window</li>
<li> Ensure system metrics are accurate for all processes after resolution 
changes</li></ul></p><p>
This is an updated version of this patch that I originally sent a couple 
months ago.  To test it, you must run both autoconf and 
tools/make_requests.  While several applications work fine, there are 
some issues I have not been able to resolve.  The problems have to do 
with trying to call WIN_FindWndPtr across processes, especially from the 
windows/painting.c file.
</p><p>
I am sending this now as several people were interested in it, and the 
old version I posted no longer applies cleanly to the CVS Wine version. 
  I am hoping someone with more knowledge of the painting and region 
code could spot some obvious way to get around the issue.  Otherwise it 
will be tough.  I had tried replacing some of the WND* uses with server 
calls to get rectangles and style flags, but that does not handle 
everything that's being read out of those structures.  Unless there's 
some shortcut I don't see how to do it without moving more of that data 
into the server.  The other problem related to this is that some 
functions are supposed to fail if the window is in another process, 
while others would work better if they got the data from the server, and 
it's not always obvious which way a particular function should work.
</p></quote>

<p><a href="http://www.winehq.com/hypermail/wine-patches/2004/01/0455.html">From
Mike McCormack</a>:</p>
<quote who="Mike McCormack"><p>
The richedit control is currently not thread safe due to extensive use
of global variables.  This patch removes almost all global variables
from the control.</p><p>
 ChangeLog:
 <ul>
 <li> remove global variables from the richedit control</li></ul></p></quote>

<p><a href="http://www.winehq.com/hypermail/wine-patches/2004/01/0353.html">From
Mike Hearn</a>:</p>
<quote who="Mike Hearn"><p>
Here's a first cut at allowing wine to be installed to any prefix at
runtime and still work nicely. I have implemented this for some customers
who are finding it a bit tricky to work with the source tarball I sent
them, so I want to make a binary tarball and let them extract it to
wherever so it can be installed side-by-side with a pre-existing wine.
</p><p>
It is unfortunately Linux specific, though that's more because I know how
to do this on Linux but not on any other platforms. It'd not be too hard
to adapt to other platforms if they provide the same information Linux
does to userland.
</p><p>
Here's how it works:
<ul>
<li> A configure test is added that checks for the existence of
/proc/self/maps, so you will need to run "autoheader &amp;&amp; autoconf" to make
this work.</li>

<li> A new file is added to libs/wine, prefix.c, which looks up the
base address of libwine by using dladdr on an empty string (ie an entry in
the data segment). We then scan /proc/self/maps looking for that base
address, from which we can then get the absolute path of the library. This
file is a stripped down form of a generic kit, which is why it might look
a bit strange at first.</li>

<li> The dynamically derived absolute path of the dlls directory is appended
to dll_paths</li>

<li> We set an RPATH on the wine binaries: wineserver, wine-glibc,
wine-pthread and wine-kthread using the ELF ${ORIGIN} feature, so they can
locate libwine without needing LD_LIBRARY_PATH or /etc/ld.so.conf set.</li>
</ul>
</p><p>
These changes combined mean you can do the following:
<ul><tt>
./configure<br />
make depend &amp;&amp; make<br />
make install prefix=/opt/wine1<br /><br />

/opt/wine1/bin/wine<br />
(works)<br /><br />

mv /opt/wine1 /opt/wine2<br />
/opt/wine2/bin/wine<br />
(still works)</tt></ul></p><p>

Before Wine would not be able to find libwine nor ntdll.so, now it can.
</p><p>
I hope this patch is OK, as I think this is a useful feature that far more
free software should support. The list of use cases is big.
</p></quote>

<p>Robert Shearman
<a href="http://www.winehq.com/hypermail/wine-patches/2004/01/0377.html">worked 
on</a> INI file processing:</p>
<quote who="Robert Shearman"><p>
Initially, I just wanted to add Unicode support, but ended up redoing
most of the parsing and saving. It now doesn't use Unix functions for
files, doesn't needlessly peek into DOSFS internals and fully processes
files in Unicode. I've also added Unicode file detection as detailed
here:<ul>
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_42jv.asp">
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_42jv.asp</a>
</ul></p><p>
Changelog:
<ul>
<li> Use Win32 instead of Unix file functions</li>
<li> Process files fully in Unicode</li>
<li> Add Unicode file detection</li>
</ul></p></quote>

</section></kc>
