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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="310" date="02 Apr 2006 00:00:00 -0800" />
<intro> <p>This is the 310th issue of the Wine Weekly News publication.
Its main goal is to let the golf clubs fight with the skis in the back of the pickup. 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="272" size="550" contrib="91" multiples="45" lastweek="39">

<person posts="16" size="20" who="julliard at winehq.org (Alexandre Julliard)" />
<person posts="14" size="38" who="segin2005 at gmail.com (Segin)" />
<person posts="12" size="19" who="tom at dbservice.com (Tomas Carnecky)" />
<person posts="11" size="12" who="mike at codeweavers.com (Mike McCormack)" />
<person posts="10" size="15" who="speeddymon at gmail.com (Tom Spear (Dustin Booker, Dustin Navea))" />
<person posts="10" size="12" who="dank at kegel.com (Dan Kegel)" />
<person posts="9" size="19" who="willie at zeitgeistmedia.net (Willie Sippel)" />
<person posts="9" size="17" who="hat at tesarici.cz (Petr Tesarik)" />
<person posts="9" size="8" who="mike at plan99.net (Mike Hearn)" />
<person posts="8" size="47" who="speeddymon at gmail.com (Tom Spear)" />
<person posts="8" size="13" who="kuba at mareimbrium.org (Kuba Ober)" />
<person posts="6" size="10" who="tony.lambregts at gmail.com (Tony Lambregts)" />
<person posts="6" size="9" who="hijinio at yahoo.com (Hiji)" />
<person posts="6" size="5" who="dimi at lattica.com (Dimi Paun)" />
<person posts="5" size="31" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="5" size="12" who="is at rambler-co.ru (Igor Sysoev)" />
<person posts="5" size="4" who="dmitry at codeweavers.com (Dmitry Timoshkov)" />
<person posts="4" size="14" who="astrand at cendio.se (=?iso-8859-1?Q?Peter_=C5strand?=)" />
<person posts="4" size="13" who="rob at codeweavers.com (Robert Shearman)" />
<person posts="4" size="8" who="eric.pouech at wanadoo.fr (Eric Pouech)" />
<person posts="4" size="6" who="andi at rhlx01.fht-esslingen.de (Andreas Mohr)" />
<person posts="4" size="4" who="scott at open-vote.org (Scott Ritchie)" />
<person posts="4" size="4" who="h.davies1 at physics.ox.ac.uk (Huw D M Davies)" />
<person posts="4" size="4" who="lionel.ulmer at free.fr (Lionel Ulmer)" />
<person posts="3" size="15" who="ukchucktown at yahoo.com (Grant Lewis)" />
<person posts="3" size="9" who="fgouget at free.fr (Francois Gouget)" />
<person posts="3" size="5" who="wine-devel at kievinfo.com (Vitaliy Margolen)" />
<person posts="3" size="5" who="truiken at gmail.com (James Hawkins)" />
<person posts="3" size="4" who="karl at nncc.info (Karl Lattimer)" />
<person posts="3" size="3" who="wine.dev at web.de (Detlef Riekenberg)" />
<person posts="3" size="3" who="meissner at suse.de (Marcus Meissner)" />
<person posts="2" size="9" who="mage.tophinus at free.fr (BONNEL Christophe)" />
<person posts="2" size="9" who="brian.vincent at gmail.com (Brian Vincent)" />
<person posts="2" size="7" who="ngompa13 at gmail.com (Neal Gompa)" />
<person posts="2" size="7" who="J.A.Gow at furrybubble.co.uk (Dr J A Gow)" />
<person posts="2" size="6" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="2" size="4" who="agarobr.listas at gmail.com (Augusto Arcoverde da Rocha)" />
<person posts="2" size="4" who="chmorgan at gmail.com (Chris Morgan)" />
<person posts="2" size="4" who="the3dfxdude at gmail.com (Jesse Allen)" />
<person posts="2" size="3" who="winehacker at gmail.com (Steven Edwards)" />
<person posts="2" size="3" who="hans at it.vu.nl (Hans Leidekker)" />
<person posts="2" size="3" who="blin at gmx.net (Kai Blin)" />
<person posts="2" size="3" who="jave27 at gmail.com (Jason Green)" />
<person posts="2" size="2" who="penna at bb.com.br" />
<person posts="2" size="2" who="thadden at web.de (Joachim von Thadden)" />
<person posts="1" size="3" who="billy.ng at navy.mil (Ng, Billy H CIV NAVSEA)" />
<person posts="1" size="3" who="alasdairs at dsl.pipex.com (Alasdair Sinclair)" />
<person posts="1" size="3" who="dominic.wise at ukonline.co.uk (Dominic Wise)" />
<person posts="1" size="3" who="andreas.bierfert at lowlatency.de (Andreas Bierfert)" />
<person posts="1" size="3" who="stl at fidonet.org.il (Stanislav Shwartsman)" />
<person posts="1" size="3" who="k04jg02 at kzoo.edu (Joseph Garvin)" />
<person posts="1" size="2" who="leidola at newcon.de (Olaf Leidinger)" />
<person posts="1" size="2" who="frick at sc-networks.de (Christoph Frick)" />
<person posts="1" size="2" who="fabian.scheler at gmail.com (Fabian Scheler)" />
<person posts="1" size="2" who="cmorgan at alum.wpi.edu (Chris Morgan)" />
<person posts="1" size="2" who="vbudovsk at cs.rmit.edu.au (Vitaly Budovski)" />
<person posts="1" size="1" who="rayjones at gmx.net (Ray Jones)" />
<person posts="1" size="1" who="geoff at dyalog.com (Geoff Streeter)" />
<person posts="1" size="1" who="jwhite at codeweavers.com (Jeremy White)" />
<person posts="1" size="1" who="tomdkat at comcast.net (Tom Williams)" />
<person posts="1" size="1" who="pneves at telus.net (Philip V. Neves)" />
<person posts="1" size="1" who="xerox_xerox2000 at yahoo.co.uk (Louis. Lenders)" />
<person posts="1" size="1" who="eddy_nigg at startcom.org (Eddy Nigg (StartCom Ltd.))" />
<person posts="1" size="1" who="burnus at gmx.de (Tobias Burnus)" />
<person posts="1" size="1" who="jan.wine at zerebecki.de (Jan Zerebecki)" />
<person posts="1" size="1" who="saulius2 at ar.fi.lt (Saulius Krasuckas)" />
<person posts="1" size="1" who="gladiac.lists at gmail.com (Christian Lachner)" />
<person posts="1" size="1" who="markus.amsler at oribi.org (Markus Amsler)" />
<person posts="1" size="1" who="qingdao33122 at yahoo.com (qingdoa daoo)" />
<person posts="1" size="1" who="dfawcus at cisco.com (Derek Fawcus)" />
<person posts="1" size="1" who="jakob at vmlinux.org (Jakob Eriksson)" />
<person posts="1" size="1" who="jonwil at tpgi.com.au (Jonathan Wilson)" />
<person posts="1" size="1" who="hverbeet at gmail.com (H. Verbeet)" />
<person posts="1" size="1" who="bmayland at leoninedev.com (Bryan Mayland)" />
<person posts="1" size="1" who="fred at netbil.com.br (Frederico Bertucci)" />
<person posts="1" size="1" who="eric.kohl at t-online.de (Eric Kohl)" />
<person posts="1" size="0" who="patrol at sinus.cz (Pavel Troller)" />
<person posts="1" size="0" who="timschmidt at gmail.com (Tim Schmidt)" />
<person posts="1" size="0" who="kdekorte at yahoo.com (Kevin DeKorte)" />
<person posts="1" size="0" who="jorishuizer at planet.nl (Joris Huizer)" />
<person posts="1" size="0" who="wine-devel at shemesh.biz (Shachar Shemesh)" />
<person posts="1" size="0" who="phil at newstar.rinet.ru (Phil Krylov)" />
<person posts="1" size="0" who="molle.bestefich at gmail.com (Molle Bestefich)" />
<person posts="1" size="0" who="wine at troy.rollo.name (Troy Rollo)" />
<person posts="1" size="0" who="miclud at studcs.uni-sb.de (Michel Ludwig)" />
<person posts="1" size="0" who="roli8200 at yahoo.de (Roland Kaser)" />
<person posts="1" size="0" who="schwarz.dan at gmail.com (Daniel Schwarz)" />
<person posts="1" size="0" who="pgr at arcelectronicsinc.com (paul)" />
<person posts="1" size="0" who="jeffl at yless4u.com.au (Jeff Latimer)" />
<person posts="1" size="0" who="robert at robertvanherk.nl (Robert van Herk)" />

</stats>
<section 
	title="News: Wine 0.9.11"
	subject="News"
	archive="http://www.winehq.com/?announce=1.115"
	posts="1"
>
<topic>News</topic>
<mention>News</mention>

<p>At the end of last week Alexandre released Wine 0.9.11.  There
were a bunch of notable updates including:</p>
<quote who="Alexandre Julliard"><p>
<ul>
 <li>Fake dll files created in the system directory to help installers.</li>
 <li>Desktop mode now properly supports multiple processes.</li>
 <li>Better type parsing in dbghelp.</li>
 <li>Several OpenGL fixes.</li>
 <li>A bunch of Unicode functions in advpack.</li>
</ul></p></quote>
<p>
  Check out our
  <a href="http://www.winehq.org/site/download">download page</a> for packages 
  or download the source and compile.  </p>


</section>
<section 
	title="Software Freedom Law Center Update"
	subject="Update on Software Freedom Law Center work"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/046105.html"
	posts="5"
>
<topic>Project Management</topic>
<p>Last year we announced the 
<a href="http://www.softwarefreedom.org/">Software Freedom Law Center</a>
was going to take on Wine as a client to provide legal assistance.  (See
WWN <a href="http://www.winehq.org/site/?issue=260#Software%20Freedom%20Law%20Center">#260</a> for more info.)
Well, a year has gone by and we haven't announced anything more concerning
that relationship.  Part of that was due to the SFLC getting off the ground
and coming up to speed.  Another part of it was due to things happening
quietly behind the scenes.  This week Alexandre announced what's been going
on and things we can expect:</p>
<quote who="Alexandre Julliard"><p>
As announced at the last Wineconf, Jeremy and myself have been working
for a few months now with the Software Freedom Law Center on a number
of legal issues concerning Wine. We've been mostly quiet about it, so
I thought I'd post a status update. There are two major tasks going on
at the moment:
</p><p>

1. <u>Code audit</u>
</p><p>
We are doing an audit of the code base, to make sure we have proper
records of all contributions, and spot any potentially troublesome
code. The goal is to be able to show to people who don't want to dig
through the source that we have done our development properly, and
that they can use Wine without fear of legal trouble.
</p><p>
Currently, a survey is being sent out to people we have identified as
major contributors, so that we can collect some information from them,
like employers, license agreements, that sort of thing. This will
enable us to build a complete track record for all contributions.
</p><p>
We are still processing the results, at this point the responses we
received cover approximately half of the code base (many thanks to
everybody who took the time to answer!). We'll be sending the survey
to more contributors in the near future to try to get as close to 100%
coverage as we can.
</p><p>

2. <u>Non-profit organization</u>
</p><p>
There are many advantages to having a non-profit organization for a
project, for instance to allow tax-exempt donations, or hold assets
like trademarks. However it's a lot of paperwork to do, so we never
went to the trouble of setting one up.
</p><p>
Now the SFLC is starting an organization called the Software Freedom
Conservancy, that will be officially launched on Monday. It's
basically an umbrella non-profit that provides services to free
software projects. By joining that organization, we will get all the
advantages of having our own non-profit, without having to do any of
the work, so that seems like a good deal...
</p><p>
There will also be the possibility of assigning our copyrights to that
organization, which would make it easier to enforce the license, and
provide some liability protection for developers. However this will
only be done if most developers are comfortable with it, so I'd be
interested to hear your feedback on this issue.
</p></quote>

<p>The part about non-profit status started some discussion and we'll cover 
that bit in next thread.  The other issue that provoked discussion concerned
copyrights.  Here's my theory: there's no better way to get a bunch of
software developers to care about law than to mention licenses or copyrights.
Two comments stand out (keeping in mind IANAL nor do I play one on TV), the
first from Scott Ritchie:
</p><quote who="Scott Ritchie"><p>

Fortunately, in order to enforce the license they don't really need
rights to all of it, or even most of it - just rights to substantial
portions of the useful stuff.  Heck, Alexandre's contributions alone
could probably be enough code to cover virtually the entire project.
</p></quote>

<p>And the second from Kai Blin:</p>
<quote who="Kai Blin"><p>
I'm still unsure about this "assigning the copyright to someone else"
thing. I'm living in the EU, where the copyright is split into "usage
rights" and "creator's rights" and only the usage rights are
transferable. I'm not into that legal stuff too much, so I'd leave that
to experts to decide on, but I'd like to see a conclusive explanation on
how this will apply to all of us new and old Europeans.</p></quote>

<p>Given that this discussion started at the end of the week, I'd expect
there to be a lot more comments in the next few days.</p>

</section>
<section 
	title="Non-Profit Status?"
	subject="Software Freedom Conservancy"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/046121.html"
	posts="6"
>
<topic>Project Management</topic>
<mention>CodeWeavers</mention>

<p>Regarding the Software Freedom Conservancy, a new thread was started by
Jeremy White to discuss whether non-profit status should be considered:</p>
<quote who="Jeremy White"><p>
I'd like to start a separate thread on this subject, so
we don't lose the chance to discuss this.
</p><p>
I think it's a really good idea for us to join.
</p><p>
Right now, I manage the finances for 'The Wine Project'.
The money literally flows into my personal bank account;
I registered a 'Doing Business As' (DBA) in Minnesota
so I could take checks and stuff as 'The Wine Project'.
</p><p>
It's not tons of money, but the account is now up
to about $2400 (which is nice, as our Wineconf fees
will be about that much).  (Of course, without the
embezzling, it'd be much more, but that's the way
it goes &lt;grin&gt;).
</p><p>
Further, we had a challenge when we needed to
manage the money from Google for the Summer of Code.
Again, I handled it via CodeWeavers, but it wasn't quite 'right'.
</p><p>
So I think it would be better for us to have a professional
organization to hold these funds, and to serve
as an umbrella organization for us.
</p><p>
Candidly, I'm not sure I see any down side.
They do all the nasty work, and we get someone to help
us out with annoying admin chores.  What's not to like?
</p><p>
I guess if they prove to be incompetent or unresponsive
it could be an issue (like if we send them the $2400
but can never get a check cut).  But right now I
don't see much risk of that; the SFLC at least has been
very responsive (which, considering what we're paying
them [$0] is nothing short of miraculous).
</p><p>
Anyone else have any objections or other thoughts on it?
</p></quote>

<p>Obtaining real 
<a href="http://en.wikipedia.org/wiki/Non-profit_organization">non-profit 
organization</a> (NPO) status in the US generally means obtaining a tax exempt 
status.  <i>A lot</i> of paperwork is involved and it can take a while, 
especially if you're not a lawyer.  The issue has come up several times in the 
past and we've generally decided the hassle of setting everything up wouldn't 
be worth it.  However, every year we find yet another situation where it 
would be nice to have it.  Jeremy's email came late in the week and there
wasn't much discussion other than a bunch of positive comments.</p> 
</section>
<section 
	title="Using Photoshop Plugins with Gimp"
	subject="Photoshop plugins in Gimp on Linux using Wine!"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/046070.html"
	posts="11"
>
<topic>Winelib</topic>
<topic>Integration</topic>
<p>Some rumblings began a few weeks ago about work to support Photoshop
plugins in Gimp using Wine.  Well, that's now a reality.  Dan Kegel
forwarded a message to wine-devel wit a link to the PSPI project:</p>
<quote who="Dan Kegel"><p>
I've been hearing rumblings about people using Wine
to run windows photoshop plugins on Linux Gimp,
but hadn't seen anything concrete.  Well, here it is:
<a href="http://www.gimp.org/~tml/gimp/win32/pspi.html">
http://www.gimp.org/~tml/gimp/win32/pspi.html</a>
Have a look.  Congratulations, Wine!</p></quote>

<p>Despite the success of Gimp, one of the drawbacks often cited is the
lack of Photoshop plugins.  Sure, there's about a million Gimp plugins
and they're pretty awesome.  But there's about a billion Photoshop plugins
and some are incredible.  Tor Lillqvist is the author behind PSPI and
on the page above he describes exactly what a Photoshop filter is:</p>
<quote who="Tor Lillqvist"><p>
 Photoshop plug-in filters (for the Windows version of Photoshop, which is 
what we are talking about here) are actually Windows DLLs, which are 
dynamically loaded into the plug-in host process's address space. They are 
files with the extension .8bf, though, not .dll. (GIMP plug-ins, on the other 
hand, are separate processes.)
</p><p>
Unlike GIMP plug-ins, 3rd-party Photoshop plug-ins don't use any common user 
interface library. (GIMP plug-ins use GTK+, obviously.) This is because 
3rd-party Photoshop plug-ins are usually available both for the Windows and 
Macintosh versions of Photoshop. Typically each company uses some homegrown 
widget library, with a look and feel that is widely different than the normal 
Windows common control look and feel, or the GTK+ look and feel. </p></quote>

<p>Ironically, we covered this topic about 2 and a half years ago in
<a href="http://www.winehq.com/?issue=198#Running%20Photoshop%20Plugins%20in%20the%20GIMP%20With%20Wine">WWN #198</a>.
You can also find news about in on heise online 
<a href="http://www.heise.de/newsticker/meldung/71270">in German</a> 
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.heise.de%2Fnewsticker%2Fmeldung%2F71270&amp;langpair=de%7Cen&amp;hl=en&amp;ie=UTF-8&amp;oe=UTF-8&amp;prev=%2Flanguage_tools">or translated to English</a> 
via Google.</p>
</section>
<section 
	title="Vista App Compatibility"
	subject="stir stir stir"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/045929.html"
	posts="1"
>
<topic>Microsoft Windows</topic>
<mention>Microsoft</mention>

<p>Microsoft has rewritten the Win32 API four different times: NT, Win9x,
WinCE, and Win32S.  Are they doing it a fifth?  More recent news from the
company suggests they're not, but apparently whatever
they're doing, it's not going well.  Mike Hearn sent a link this week
outlining internal problems with Windows Vista:</p>
<quote who="Mike Hearn"><p>
In the comments of this anonymous MS employees blogs post (great reporting
here huh) we can find this post by somebody who claims to be on an
appcompat testing team:

<ul><a href="http://minimsft.blogspot.com/2006/03/vista-2007-fire-leadership-now.html#c114300669155836359">
http://minimsft.blogspot.com/2006/03/vista-2007-fire-leadership-now.html#c114300669155836359</a></ul></p><p>

in which the following totally astonishing claim is made:
<ul>  
    "Results: Client appcompat % hovering at &lt;40% (GASP - INTERNAL INFO... 
    better moderate this one out!!!!)"</ul></p><p>

which is explained due to reduction of testing staff, loss of team morale
and outsourcing of testing.
</p><p>
Can it really be true that the Vista builds have such appallingly low
application compatibility? Anybody who has access to Vista builds want to
comment on this?
</p><p>
Given they (now) have half a year to clean it up, does anybody want to
take bets on what the score will be by the time it
releases? I wonder what this number means (presumably that 40% of apps
work perfectly out of the box), and I also wonder what our own appcompat
score is.
</p><p>
Wouldn't it be scary if Linux ends up more Windows compatible than Windows
is! :)
</p></quote>

<p>Given the subtle nuances in the Win32 API, nailing down all of the corner
cases in 6 months sounds like an overwhelming task.  </p>
</section>
<section 
	title="New Kernel Option &amp; Wine"
	subject="linux 2.6.16 and 2G/2G-split"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-April/046152.html"
	posts="1"
>
<topic>Fixes</topic>
<p>There's a new configuration option in the new 2.6.16 kernel that's
apparently causing some problems with Wine.  We probably won't see this
appear with any vendor kernels, but some folks compiling on their own
have apparently stumbled across it.  The issue at hand involves the new
VMSPLIT option.  Here's how the kernel config file describes it:</p>
<quote who="Jens Axboe"><p>
          If the address range available to the kernel is less than the
          physical memory installed, the remaining memory will be available
          as "high memory". Accessing high memory is a little more costly
          than low memory, as it needs to be mapped into the kernel first.
          Note that increasing the kernel address space limits the range
          available to user programs, making the address space there
          tighter.  Selecting anything other than the default 3G/1G split
          will also likely make your kernel incompatible with binary-only
          kernel modules.
</p></quote>

<p>Jens Axboe explained a little more about when this could be helpful:</p>
<quote who="Jens Axboe"><p>
Basically the option boils down to how much virtual address space you want to 
assign to the kernel and user space. The kernel can always access all of 
memory, but in some cases part of that memory will be available as high memory 
that needs to be mapped in first (see references to kmap() and kmap_atomic() in 
the kernel). So whether changing the mapping or using highmem is the best 
option for you, depends entirely on what you run on that machine. If you 
require a huge user address space, then you don't want to change away from the 
3/1 user/kernel default setting. However, if you don't need the full 3G of 
address space to user apps, then you are better off increasing the kernel 
address space range to get rid of the high memory mapping.</p></quote>

<p>Right now this is marked as <i>experimental</i>, but apparently that
hasn't stopped a couple different people from wondering why Wine is broken.
Sven K&#246;hler asked on wine-devel this week:</p>
<quote who="Sven Kohler"><p>
Since I upgraded my kernel to 2.6.16, wine segfaults immediatly after I
start it. When I upgraded to 2.6.16, I also chose to use the 2G/2G vmsplit.
</p><p>
Is wine supposed to work with that config?</p></quote>

<p>Alexandre actually replied on a different mailing list explaining the
problem to someone:</p>
<quote who="Alexandre Julliard"><p>
It's a constraint of the Windows architecture. You can use a 2G/2G
split when Windows version is set to win2k, but many apps still
require win98, and in that mode we need 3G of user address space.</p></quote>

<p>So there ya have it.  This likely won't be a problem as long as none of
the major distros ship with that option enabled, but it doesn't seem likely
they will.</p>

</section>
<section 
	title="New apt Repository"
	subject="Budget Dedicated has provided us with a server and a ton of free bandwidth"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/046130.html"
	posts="1"
>
<topic>Project Management</topic>
<mention>CodeWeavers</mention>
<mention>WineHQ</mention>

<p>Scott Ritchie announced a new server that's been donated by
Budget Dedicated for use by Wine.  Currently CodeWeavers hosts most
of WineHQ and there's no plan to change that.  We also have a few
other servers used by the project, such as the wiki server hosted by 
lattica.com and a backup CVS server in Germany.   Scott announced
what the new server would be used for:</p>
<quote who="Scott Ritchie"><p> 
Just wanted to let everyone know that I finished setting up the server
Budget Dedicated has given us.  
(<a href="http://www.budgetdedicated.com">http://www.budgetdedicated.com</a>)
</p><p>
Currently it's hosting the APT repository:
<ul>
<li>deb <a href="http://wine.lowvoice.nl/apt">http://wine.lowvoice.nl/apt</a> breezy main</li>
<li>deb-src <a href="http://wine.lowvoice.nl/apt">http://wine.lowvoice.nl/apt</a> breezy main</li>
</ul></p><p>
Now, here's the cool thing: we're not confined by disk space anymore
here, so we can host .deb packages in the APT repository for different
distributions.  This includes backports to Debian Sarge, as well as
forward ports to new versions of Ubuntu like Dapper, or even whatever
other crazy deb distro we want to package.
</p><p>

Budget Dedicated has also given permission for other things to be moved
there, such as the Wine website (or parts thereof).  The server is super
fast and on a very fat pipe in the Netherlands, so for anyone in Europe
it'll almost certainly be better to download things from there.
</p><p>
For now, however, it's just an APT repository, and the APT repository
just has Ubuntu Breezy packages, however it would be very easy to add
packages for other distributions or architectures - just send me an
email and I can take care of it.
</p></quote>
</section>
<section 
	title="Major Changes to Desktop Mode"
	subject="Alexandre Julliard : x11drv: Moved desktop mode handling to the explorer process."
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/045966.html"
	posts="24"
>
<topic>Fixes</topic>
<p>Sometimes progress in Wine comes with growing pains.  In fact, it seems
to happen more than most people would like to see.  Alexandre committed
a bunch of changes last week to enable interprocess desktop support in
Wine and a lot of folks expressed concern it could lead to problems.
First, here's Alexandre's commit notes that describe how to use the new
desktop mode:</p>
<quote who="Alexandre Julliard"><p>

 x11drv: Moved desktop mode handling to the explorer process.
</p><p> 
 Per-application desktop mode settings are no longer supported.  Apps
 can be launched in a specific desktop window by using:
<ul><code> 
   explorer /desktop=name[,widthxheight] app.exe [args]</code></ul></p><p>
 
 If the named desktop already exists the app is launched inside it. The
 default desktop is cleverly named "default".
</p></quote>

<p>Tony Lambregts thought of some of the problems with it:</p>
<quote who="Tony Lambregts"><p>
So if I understand this correctly all programs will share the same 
desktop. Is it also true that I cannot specify in winecfg that one 
program can run full screen and another in a desktop window.
</p><p>
If this is the case we will have a fair amount of crying over this one.
</p></quote>

<p>Vitaliy Margolen cited a specific example that could be a problem:</p>
<quote who="Vitaliy Margolen"><p>
Ok so now say with Steam and all of it's games - it will be almost 100%
unusable! Because we still haven't fixes managed/unmamaged windows. And
Steam itself would be on top of everything. So the way people were able
to work-around this is by putting Steam into virtual desktop. Now that
means their game will run in the same desktop as well.
</p><p>
We really really really have to fix managed/unmanaged mode then. I can't
even imagine how many people will stay with current or older Wine because
of this patch.
</p><p>
Also I remember some users were using other two parameters of the desktop
(top left corner - changing manually in the registry). I didn't seen
anything that indicates they are still supported with this patch.
</p></quote>

<p>Alexandre confirmed those options were no longer supported.  A lot
of people then turned the discussion into whether hacks should be
introduced to make things appear to work better.  Most developers 
agreed the proper solution was to get the window management behaving
correctly.  </p>
<p>Those of you using desktop mode will need to update the way you
launch your Wine process (desktop shortcut, etc) to take advantage of the 
new method.</p>
</section>
<section 
	title="Finishing advpack.dll"
	subject="advpack: The Plan"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/046068.html"
	posts="5"
>
<topic>Architecture</topic>
<p>James Hawkins outlined his game plan for finishing off his work on
advpack.dll.  That library is responsible for working with INF files 
for managing software packages.  He wrote:</p>
<quote who="James Hawkins"><p>
As you've probably noticed, I've been working on implementing advpack
for a couple months now; a lot of progress has been made, and I'm glad
to say that the end is in sight.  The rest of this email details the
game plan for finishing advpack.
</p><p>
advpack has five main install functions: DoInfInstall, ExecuteCab,
LaunchINFSection, LaunchINFSectionEx, and RunSetupCommand.  They all
basically do the same thing with minor differences in functionality. 
ExecuteCab extracts the files to install from a cab archive,
LaunchINFSectionEx provides backup and rollback capability, and
RunSetupCommand can also launch executables.  When installing an INF
section, advpack calls setupapi to install the base INF commands, such
as CopyFiles and AddReg.  After this, advpack parses the Advanced INF
for advanced commands that are only installable when using advpack. 
These commands include:
</p><p>
Values:
<ul>
<li>RequiredEngine - Use either setupapi or setupx, we will ignore it.</li>
<li>CustomDestination - assigns ldids to extra directories.</li>
<li>SmartReboot - same reboot options as LaunchINFSection.</li>
<li>Cleanup - deletes the INF when the install/uninstall is finished if this is 1.</li>
<li>CheckAdminRights - check if the user is admin if this is 1.</li>
</ul>
Actions:
<ul>
<li>RegisterOCXs</li>
<li>UnregisterOCXs</li>
<li>BeginPrompt</li>
<li>EndPrompt</li>
<li>RunPreSetupCommands</li>
<li>RunPostSetupCommands</li>
<li>DelDirs</li>
<li>PerUserInstall</li></ul>
</p><p>
Backup/Rollback:
<ul>
<li>ComponentName</li>
<li>ComponentVersion</li>
<li>BackupReg</li>
<li>PreRollBack</li>
<li>BackupPath</li></ul>
</p><p>
Internally, there will be three main install functions: install_init,
which will open the INF, make sure it's legit, and other
initializations, spapi_install, which will call setupapi to install
the base INF commands, and adv_install, which will parse the install
section and run the provided commands.  Each advanced command will be
implemented by a function of similar name, e.g., RegisterOCXs would be
implemented by the function register_ocxs, etc.  All the command
functions will be in a hash map, the key being the command name, the
value being a pointer to the function that implements the command. 
adv_install will use setupapi to parse the entries of the install
section, calling the function returned by a query to the hash map. 
According to INF Web [1], some commands are run before others, so
there will probably be three or four maps, the functions in the maps
grouped according to the order in which the commands should be run. 
For example, RunPreSetupCommands is to be executed after the
BeginPrompt command, so begin_prompt would be in the phase 1 map, and
run_pre_setup_commands would be in the phase 2 map.  We would call the
parser like so:
<ul><code>
run_adv_commands("InstallSection", phase1_map);<br />
run_adv_commands("InstallSection", phase2_map);<br />
run_adv_commands("InstallSection", phase3_map);</code></ul>
</p><p>
If a command in the install section is not in the map, we just ignore it.
</p><p>
This is The Plan so far, so if anyone has any ideas or suggestions,
I'd love to hear from you.
</p></quote>

<p>There were a few small suggestions regarding implementation and James
was quite receptive to the ideas.</p>
</section></kc>
