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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="278" date="06/10/2005" />
<intro> <p>This is the 278th issue of the Wine Weekly News publication.
Its main goal is to start on the seventh chapter. 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="202" size="766" contrib="79" multiples="41" lastweek="39">

<person posts="14" size="36" who="Alexandre Julliard" />
<person posts="10" size="49" who="=?iso-8859-1?q?Ren=E9_Rebe?=" />
<person posts="9" size="37" who="Robert Shearman" />
<person posts="8" size="20" who="Andreas Mohr" />
<person posts="7" size="47" who="(wino)" />
<person posts="7" size="43" who="Robert Lunnon" />
<person posts="7" size="26" who="Jesse Allen" />
<person posts="7" size="20" who="Mike McCormack" />
<person posts="6" size="18" who="Ivan Gyurdiev" />
<person posts="6" size="18" who="Mike Hearn" />
<person posts="6" size="17" who="Uwe Bonnes" />
<person posts="5" size="24" who="Mitchell Mebane" />
<person posts="5" size="13" who="Juan Lang" />
<person posts="4" size="14" who="=?utf-8?q?Ren=C3=A9_Rebe?=" />
<person posts="4" size="10" who="Stefan D&#246;singer" />
<person posts="4" size="9" who="Paul Vriens" />
<person posts="3" size="37" who="Antoine Chavasse" />
<person posts="3" size="18" who="David Albrecht" />
<person posts="3" size="9" who="Dmitry Timoshkov" />
<person posts="3" size="8" who="Andrew Neil Ramage" />
<person posts="3" size="8" who="Marcus Meissner" />
<person posts="2" size="27" who="MediaHost (TM)" />
<person posts="2" size="9" who="Scott Ritchie" />
<person posts="2" size="8" who="Brian Vincent" />
<person posts="2" size="8" who="Saulius Krasuckas" />
<person posts="2" size="7" who="Marcus Meissner" />
<person posts="2" size="6" who="Felix Nawothnig" />
<person posts="2" size="6" who="Jakob Eriksson" />
<person posts="2" size="6" who="Adrian Harvey" />
<person posts="2" size="5" who="Ivan Leo Puoti" />
<person posts="2" size="5" who="Christian Costa" />
<person posts="2" size="5" who="Jeremy Newman" />
<person posts="2" size="5" who="Duane Clark" />
<person posts="2" size="5" who="Keith Dunwoody" />
<person posts="2" size="5" who="Dan Kegel" />
<person posts="2" size="5" who="Pavel Troller" />
<person posts="2" size="5" who="Hans Kristian Rosbach" />
<person posts="2" size="5" who="Stefan =?utf-8?q?D=C3=B6singer?=" />
<person posts="2" size="5" who="Shachar Shemesh" />
<person posts="2" size="4" who="Tom Wickline" />
<person posts="2" size="4" who="Lionel Ulmer" />
<person posts="1" size="20" who="(a_villacis)" />
<person posts="1" size="6" who="Tobias Burnus" />
<person posts="1" size="4" who="Jules Richardson" />
<person posts="1" size="4" who="(Simon.Tyler)" />
<person posts="1" size="4" who="Jason Campbell" />
<person posts="1" size="3" who="(peter)" />
<person posts="1" size="3" who="Ove Kaaven" />
<person posts="1" size="3" who="=?iso-8859-15?q?Ren=E9_Rebe?=" />
<person posts="1" size="3" who="J. Grant" />
<person posts="1" size="3" who="Jacek Caban" />
<person posts="1" size="3" who="Stefan D&#246;singer" />
<person posts="1" size="3" who="Joerg Mayer" />
<person posts="1" size="3" who="Piotr Caban" />
<person posts="1" size="3" who="Gerold J. Wucherpfennig" />
<person posts="1" size="3" who="Jan Jezabek" />
<person posts="1" size="3" who="Michael Jung" />
<person posts="1" size="3" who="David Lee Lambert" />
<person posts="1" size="3" who="Vitaliy Margolen" />
<person posts="1" size="3" who="Christoph Frick" />
<person posts="1" size="2" who="Casper Hornstrup" />
<person posts="1" size="2" who="Dustin Navea" />
<person posts="1" size="2" who="Marcelo Duarte" />
<person posts="1" size="2" who="Grant Williamson" />
<person posts="1" size="2" who="Holly Bostick" />
<person posts="1" size="2" who="Pavel Troller" />
<person posts="1" size="2" who="Andreas 'GlaDiaC' Schneider" />
<person posts="1" size="2" who="Dimi Paun" />
<person posts="1" size="2" who="Rein Klazes" />
<person posts="1" size="2" who="Gregory M. Turner" />
<person posts="1" size="2" who="Steven Edwards" />
<person posts="1" size="2" who="Robert Reif" />
<person posts="1" size="2" who="Gerald Pfeifer" />
<person posts="1" size="2" who="Pierre d'Herbemont" />
<person posts="1" size="2" who="Rolf Kalbermatter" />
<person posts="1" size="2" who="Pashok" />
<person posts="1" size="2" who="Jonathan Wilson" />
<person posts="1" size="1" who="Chuck Hall" />

</stats>
<section 
	title="News: IBM &amp; Wine, Steam" 
	subject="News"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/02/0.html" 
	posts="1"
	startdate="06/04/2005"
	enddate="06/10/2005"
>
<topic>News</topic>
<p>IBM has been a long-time user of Wine.  Internally they use it 
to support their Lotus Notes client among other things.  They can 
hardly be considered a supporter of Wine though.  In fact, they've
deliberately gone out of their way to yank articles from their
website discussing Wine and in general try to discourage its use.
An article over at ARNnet discusses IBM's usage in an
article titled, "<a href="http://www.arnnet.com.au/index.php/id;1648327977;fp;2;fpid;1">IBM
A Reluctant User of Wine Software</a>".  From that article:</p>
<quote who="ARNnet"><p>
But trying to get IBM to talk about Wine is another thing entirely. IBM 
executives declined to comment on the company's use of Wine for this article, 
and while the software is mentioned occasionally on IBM's Web site, it is 
generally not endorsed as a tool for moving Windows desktops to Linux. Last 
year, IBM raised eyebrows in the Wine community by pulling an article 
describing the use of Wine from its DeveloperWorks Web site. 
</p><p>
....</p>
<p>...according to Scott Handy, vice president of worldwide Linux strategy 
with IBM. IBM wants to promote open standards, like the Web-based protocols 
used in its Lotus Workplace suite of collaboration software, rather than the 
Microsoft APIs (application programming interfaces) used by Wine, he said.
</p></quote>

<p>Wine is definitely IBM's dirty, little secret.  It's strange how
much trouble they go through to sweep it under the rug.</p>

<p>Over at linuX-gamers.net, Andreas 'GlaDiaC' Schneider put together a
<a href="http://www.linux-gamers.net/modules/wfsection/article.php?articleid=70">Steam/Half-Life2/Counter-Strike howto</a>.  
Steam has been sort of working with Wine for a while, although there's been
some difficulty getting it to run.  The notable change with this howto compared
to past attempts is that it's no longer necessary to install Internet Explorer.
A bunch of native DLLs are still required and instructions for installing
them are given.  
</p>
</section>
<section 
	title="AppDB Update and To-Do List" 
	subject="Google Summer of Code - Website maintenance"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/06/0070.html" 
	posts="8"
	startdate="06/02/2005"
	enddate="06/03/2005"
>
<topic></topic>
<p>The AppDB has seen even more improvements in the past few months.
We've had a lot of bug fixes, fuzzy searching support added, category
and application sorting by name, etc.  As part of the 
<a href="http://wiki.winehq.org/SummerOfCode">Summer of Code</a>
program, Ed Mack asked last week if there was some work that could
be done on the website.  Chris Morgan thought it would be really
helpful and replied with some ideas:</p>
<quote who="Ed Mack"><p>
One thing I've been thinking about lately is allowing maintainers to handle 
screenshot and version submissions for the applications they maintain.  The 
maintainer system has been a great success so far with over 150 applications 
maintained by users of the appdb.  These maintainers reply to forum postings 
for particular apps, edit and update application howto's and descriptions, 
and can add screenshots without appdb maintainer interaction.  This would 
take more load off of the highest level maintainers of the appdb who have to 
go through all screenshots and all new versions that have been submitted.  
Continuing this distribution of work to individual experts should let us 
provide more accurate and complete information.
</p><p>
Another task would be to overhaul the look and feel of the appdb.  It looks a 
bit clunky in areas and I think with some polish it would be more pleasing to 
the eye and easier to maintain the look and feel.
</p><p>
We are looking for anything that makes the appdb easier and simpler to use and 
makes administration and the data contained in it more timely and accurate.
</p></quote>

<p>In a different email Ed referenced the AppDB to-do list.  For anyone
interested in getting involved, that list currently reads:

<ul><li> incorporate templates into appdb to simplify code, Jeremy says we can 
borrow from lostwages(winehq.org/cvsweb/lostwages) for this</li>

<li> check for existing email when user is creating a new account</li>

<li> add a system that will allow users to monitor an app without becoming 
a maintainer.</li>

<li> add wineversion, distro, source/package fields to the user_list table.</li>

<li> add wineversion, distro, source/package fields to the appComments 
table.</li>

<li> add new table for maintainer ratings. fields: userid, appId versionId,
rating, wineversion, distro, source/package</li></ul></p>

<p>Thanks to everyone who helps maintain the AppDB.  It's grown a lot
over the past year and really improved.  If you run an app regularly with
Wine, consider signing up to be a maintainer.</p>
</section>
<section 
	title="FFMpeg Video Wrapper" 
	subject="[QUARTZ] Add FFMpeg video wrapper filter"
	archive="http://www.winehq.com/hypermail/wine-patches/2005/06/0226.html"
	posts="3"
	startdate="06/09/2005"
	enddate="06/10/2005"
>
<topic>Graphics</topic>
<p>
Christian Costa sent a large patch in for Quartz and described it:</p>
<quote who="Christian Costa"><p>

This wrapper only support rle, msvideo1 and mjpeg for now.
To enable support for it, download the latest FFMpeg package, build it and 
install it.
Also copy avcodec.h, rational.h and common.h into a ffmpeg directory 
created in a
standard directory (/usr/include or /usr/local/include).
Once done, run configure to detect the library and the headers.
The library is static so there is no runtime dependency.
</p></quote>

<p>Supporting more video codecs through Quartz is obviously a Good Thing.
A couple replied suggesting that ffmpeg be detected at runtime.  Rob
Shearman's reasoning:</p>
<quote who="Robert Shearman"><p>
I think it would be better to always register the
CLSID_FFMpegVideoWrapper class and just make FFMpegVideoWrapper_create
fail if the libraries or headers aren't present. This will allow people
to install these at a later date and after a recompile have the filter
working, without having to re-register the DLL. It will also have the
advantage of decreasing the number of ugly ifdefs everywhere.
</p></quote>

<p>Joerg Mayer had a different reason:</p>
<quote who="Joerg Mayer"><p>
  I haven't looked at libffmpeg as a standalone library, but in case it's
  possible to do so, maybe runtime detection would be the way to go. That
  way wine binaries can be delivered without being patent challenged and
  video support can be added by just installing an additional dynamic lib.
</p></quote>
</section>
<section 
	title="Kernel Scheduling Problems &amp; Wine"
	subject="SetThreadPriority, gamerz needed (Re: Game sound problem with wine 20050310 (Debian testing))"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/05/0603.html"
	posts="2"
	startdate="05/15/2005"
	enddate="06/10/2005"
>
<topic>Integration</topic>
<p>
Andi Mohr asked if anyone had tried out a patch he came up with last 
month to help with scheduling problems on Linux.  He asked:</p>

<quote who="Andreas Mohr"><p>
has ANYONE done any testing with my experimental SetThreadPriority patch
which I mailed on May 15?
So far I haven't received any replies, despite this probably being rather
interesting, given that it is implemented by many of our winmm threads...
</p><p>
Or should this remain untested until I have a sizeable amount of
time for testing myself during LinuxTag?
</p></quote>

<p>The patch from May required some work to set up properly, but has
the potential to improve anything highly dependent on the scheduler, such
as games.  Andi described the patch:</p>
<quote who="Andreas Mohr"><p>
That stuff will require a REAL self-made kernel,
a -ck one with that improved scheduling and much better
interactivity, probably best to grab the 2.6.11-ck8 patch version,
from <a href="http://members.optusnet.com.au/ckolivas/kernel/">
http://members.optusnet.com.au/ckolivas/kernel/</a></p><p>

(normal kernels don't have non-root realtime scheduling, due to very
tricky implementation of usually easily DoS-able realtime priorities)
</p><p>
You'd be able to test it now, with my very preliminary
proof-of-concept patch that is attached (it's not tested since I
currently don't know of any software/game that uses
SetThreadPriority()).
</p><p>
Also, testing would best be done based on known-to-be-problematic
games. If this patch together with a SCHED_ISO-capable kernel
makes a real difference, then we have something that we should
continue to work on.
</p><p>
OK, again, you need:
<ul>
<li> 2.6.X-ckX kernel (the ones with SCHED_ISO, SCHED_BATCH support)</li>
<li> rather current (CVS) Wine, since it requires the SetThreadPriority
patches in various multimedia/sound threads in Wine</li>
<li> my patch in that Wine</li>
<li> one or better several preferrably problematic game(s) with in-game
  lags or sound distortion etc. pp.</li></ul></p><p>

And of course you should first run the game *without* my patch,
since the -ck kernel may very well significantly improve game
behaviour anyway (or actually deteriorate it), so the test basis
is VERY different from running a normal kernel and this should
be taken into account properly, otherwise you can just bin those
test findings. :)
</p><p>
I'm interested in test results from as many people as possible,
preferrably people with a good (excessive?) gaming background ;)
</p><p>
The best result would be to have this patch dramatically improve
lag or sound or graphics interactivity in games in a recent CVS
Wine version on a -ck kernel, compared to exactly the same
environment *minus* my SetThreadPriority() patch.
</p><p>
One last thing: you might have to change the unix_tid in the
patch into unix_pid in case it fails with the unmodified patch.
</p><p>
Please report any changes you observe.
</p></quote>

<p>Anyone already running a -ck kernel, or someone who doesn't mind
upgrading, can send their results to Andi.</p>
</section>
<section 
	title="Checking Windows Versions"
	subject="Tests and window versions"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/06/0225.html"
	posts="2"
	startdate="06/08/2005"
>
<topic>Testing</topic>
<p>It's generally agreed that it's bad to code something that
specifically checks for a version of Windows.  However, often that's 
the easy way to make something work.  Paul Vriens asked this week
about something like that:</p>
<quote who="Paul Vriens"><p>

I've just finished another test for NtQuerySystemInformation. In this
test I test the structure SYSTEM_PROCESS_INFORMATION. The structure is
however different for NT4.
</p><p>
If I add an osversion (> 4) check I can check the structure for
W2K/WinXP and W2K3 and skip this structure-check for NT4 (for now).
</p><p>
Wine however defaults to Win98 unless I put in the config:

<ul><code>
[AppDefaults\\ntdll_test.exe.so\\Version]<br />
"Windows" = "winxp"</code></ul></p><p>

Is there another approach or will this test be accepted as is ?
</p></quote>
<p>Alexandre suggested, <quote who="Alexandre Julliard">

Ideally you should determine which structure to check by observing the
function behavior, not by checking the Windows version. For instance
if the structures have different sizes you can use the returned size
to determine if you got the NT4 structure or the win2k one.</quote>
</p>
</section>
<section 
	title="Summer of Code Status" 
	subject="Google Summer of Code"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/06/0114.html" 
	posts="49"
	startdate="05/31/2005"
	enddate="06/06/2005"
>
<topic>Project Management</topic>
<p>Alexandre announced a committee had been set up to review submissions
to Google's <a href="http://wiki.winehq.org/SummerOfCode">Summer of Code</a>:
</p><quote who="Alexandre Julliard"><p>
Just to let people know, we have now organized an "official" committee
composed of Jeremy, Dimi, Lionel, Dan Kegel and myself. We'll be
reviewing the applications that Google forwards to us. So now if your
application gets rejected you know who's to blame ;-)
</p></quote>

<p>In a different thread, Dan Kegel gave an update on the number of
 applications received so far.  Later statistics put the average at around
 320 per day.  All in all, there's going to be a lot of competition,
 which can only be a good thing for a lot of open source projects.
 The stats, as originally posted by Chris DiBona:
</p><quote who="Dan Kegel"><p> 
Google hasn't sent out any applications to
the mentoring organizations (e.g. Wine) yet,
but they did just release a breakdown of the
number of proposals received for each project.
The count for Wine is at 77!
No idea how many of those will make it through
the selection process, but at least a few
ought to be good.  Here's the full breakdown from
<a href="http://groups-beta.google.com/group/summer-discuss/msg/fd9e7ed643a3514d">
http://groups-beta.google.com/group/summer-discuss/msg/fd9e7ed643a3514d</a> :
<ul><ul>
  424 google<br />
  263 asf<br />
  213 gnome<br />
  209 gaim<br />
  204 other<br />
  156 psf<br />
  156 mono<br />
  126 ubuntu<br />
   &#160;90 freebsd<br />
   &#160;84 nmap<br />
   &#160;78 gallery<br />
   &#160;77 wine       &lt;------<br />
   &#160;58 mambo<br />
   &#160;53 kde<br />
   &#160;49 svn<br />
   &#160;40 tpl<br />
   &#160;39 internet2<br />
   &#160;37 oo<br />
   &#160;35 fedoracore<br />
   &#160;33 lj<br />
   &#160;32 drupal<br />
   &#160;31 mozdev<br />
   &#160;29 handhelds<br />
   &#160;26 blender<br />
   &#160;25 winlibre<br />
   &#160;23 netbsd<br />
   &#160;23 codehaus<br />
   &#160;21 samba<br />
   &#160;21 jxta<br />
   &#160;18 xwiki<br />
   &#160;16 inkscape<br />
   &#160;15 plg<br />
   &#160;15 horde<br />
   &#160;14 semedia<br />
   &#160;13 jabber<br />
   &#160;12 asterisk<br />
   &#160;10 lispnyc<br />
    &#160;&#160;7 monotone<br />
    &#160;&#160;5 psu<br />
    &#160;&#160;5 oscar<br />
    &#160;&#160;5 ohiolink<br />
    &#160;&#160;5 bricolage</ul>
TOTAL: 2795</ul></p></quote>
<p>Google has specified that sponsoring organizations must decide
upon applications by June 24th.  So by next week there should be some
idea of how many applications were submitted and by the week after 
some decisions will likely have been made.</p>

</section>
<section 
	title="Apple, Intel, Wine, and Darwine" 
	subject="Some economic analysis of Apple's move to x86"
	archive="http://www.winehq.com/hypermail/wine-devel/2005/06/0268.html" 
	posts="2"
	startdate="06/09/2005"
>
<topic>Ports</topic>
<p>Sometimes things get posted to wine-devel that are borderline
editorializing.  A lot of the time those threads don't really
make it into WWN, or if they do it's only the technical bits.
Scott Ritchie posted something interesting this week and it's
something worth thinking about.  With Apple's move this week to Intel, 
there will almost certainly be an affect on Wine.  It's way too early
to say what that is and how it will come about.  Scott did have
some technical ideas about that and wrote:</p>
<quote who="Scott Ritchie"><p>
After thinking about it a lot and discussing it extensively in IRC and
with a few other knowledgeable people, I think it's time to share my
economic analysis of the impact of Apple's decision to move to x86 as it
relates to us.
</p><p>
In short, Apple's move is nothing short of a tremendous potential boon.
Getting Wine to work on OSX-x86 is probably one of the easier projects
to do, and most of the work has been done already by the Darwine
project, such as a Cocoa layer in XCode for the various graphical pieces
they've created.
</p><p>
While XCode objective C isn't importable to the main tree, most of Wine
is portable to OSX-x86 very easily. X11, while not installed by default,
works just as well on OSX as it does on Linux, and unlike most projects
we don't need to worry too much about adopting the OSX look and feel,
since we can't do that for applications that need to look and feel like
Windows to behave properly.
</p><p>
That said, Darwine needs to remain a fork, though perhaps a more
closely-related one. We might want to host or link them more from the
main page. What's needed for Darwine that isn't needed for Wine are some
OSX specific things - OSX doesn't use the freedesktop.org standards, for
instance, so it will have to be specially coded for. I hope to soon be
working on some of the freedesktop things for Wine (such as getting that
infernal start menu working in Gnome), but that's a different matter for
now.
</p><p>
Anyway, Apple's decision has fundamentally changed Wine's market
environment in a way that's extremely friendly to us. With the Mac users
going to Intel, the number of potential Wine users has somewhere between
tripled and quintupled, and all we have to do to get them is some
relatively easy Cocoa work that's mostly done already.
</p><p>
More economically visible than the user base, however, is the almost
overnight growth in Wine's potential market Apple's decision has caused.
Right now, there are quite a few small firms roughly the size of
CodeWeavers that make a majority of their money JUST porting games from
Wintel to OSX on PowerPC. As we know, porting these programs with Wine
is far more efficient than rewriting the code from scratch to use
completely different APIs, even if we have to expand Wine a little in
the process. Moreover, as Wine gets better and better it becomes
increasingly easier to port applications - I'm sure our users (and
TransGaming's customers) wouldn't mind games working better in the free
version of Wine. In economic terms, that not only means that our
production technology is much better, it means we face increasing
returns to scale: we can provide the same service cheaper, and the
advantage is increasingly ours the more we do it.
</p><p>
Simply put, with Apple's move to x86 companies using Wine now have the
potential to displace these small porting firms very quickly. Since
CodeWeavers is currently the only company of Wine experts out there, I
can't think of a better firm to enter this newly changed market. If I
were CodeWeavers, I'd strongly consider investing in a Cocoa developer
and a development kit, and put him to work making a Cocoa version of the
CrossOver interface. At the very least, I'd give Apple a call and see if
they have any desire to help.
</p><p>
And Apple should be helping a lot. Now, I can't be sure if CodeWeavers
don't have a secret agreement with Apple already (it would certainly be
Apple's style), nor can I be sure that Apple isn't already secretly
forking Wine (much like they did with Konqueror). However, the point
still stands - in about a year's time, when Macs on the x86 are being
sold, Longhorn still isn't out, and Wine is a stable, functional, and
usable piece of free software, things are really going to shake up. 
</p><p>
Now, firms that stand to lose out by this shakeup may be in a bit of a
daze right now. They might try and deny it will ever happen, claiming
Wine will never be good enough, or usable enough, or whatever, but we
can all see the writing on the wall from here - the Mac Porting firm is
fundamentally doomed unless they embrace our new, cheaper technology. If
I had a bit of capital or a rich friend, I might even buy one of those
firms myself, turn them into Wine people, help perfect Wine's gaming
support, and conquer the world of porting software to OSX on the cheap.
</p></quote>

<p>Being realistic, it's way too early to speculate on a lot of this
stuff.  Lots of conspiracy theories in the community about Apple and
Intel are floating around, but the truth of it seems to be IBM
couldn't produce a mobile version of the G5.  We're likely a few
years away from OS X on Intel being a viable platform with a large
enough community for Wine to be actively used.</p>

<p>Meanwhile, Friday saw a group of hackers dusting off Quartdrv and
trying to get some things working.</p>

</section></kc>

