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

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="308" date="13 Mar 2006 00:00:00 -0800" />
<intro> <p>This is the 308th issue of the Wine Weekly News publication.
Its main goal is to make eggrolls. 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="201" size="368" contrib="73" multiples="38" lastweek="29">

<person posts="11" size="33" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="11" size="11" who="lav at etersoft.ru (Vitaly Lipatov)" />
<person posts="10" size="10" who="julliard at winehq.org (Alexandre Julliard)" />
<person posts="9" size="8" who="dank at kegel.com (Dan Kegel)" />
<person posts="8" size="11" who="rob at codeweavers.com (Robert Shearman)" />
<person posts="8" size="7" who="hverbeet at gmail.com (H. Verbeet)" />
<person posts="7" size="9" who="h.davies1 at physics.ox.ac.uk (Huw D M Davies)" />
<person posts="6" size="29" who="tom at dbservice.com (Tomas Carnecky)" />
<person posts="6" size="10" who="wjsqudtlr at gmail.com (Byeong-Sik Jeon)" />
<person posts="6" size="8" who="wine-devel at kievinfo.com (Vitaliy Margolen)" />
<person posts="5" size="11" who="p.beutner at gmx.net (Peter Beutner)" />
<person posts="5" size="5" who="ivg2 at cornell.edu (Ivan Gyurdiev)" />
<person posts="5" size="5" who="mike at codeweavers.com (Mike McCormack)" />
<person posts="4" size="11" who="tony.lambregts at gmail.com (Tony Lambregts)" />
<person posts="4" size="6" who="rdorsch at web.de (Rainer Dorsch)" />
<person posts="4" size="5" who="thunderbird2k at gmx.net (Roderick Colenbrander)" />
<person posts="4" size="4" who="wijn at wanadoo.nl (Rein Klazes)" />
<person posts="3" size="16" who="mail at chrschn.de (Christian Schneider)" />
<person posts="3" size="8" who="frick at sc-networks.de (Christoph Frick)" />
<person posts="3" size="7" who="Vikas.Gera at headstrong.com (Vikas Gera)" />
<person posts="3" size="6" who="fgouget at free.fr (Francois Gouget)" />
<person posts="3" size="5" who="jave27 at gmail.com (Jason Green)" />
<person posts="3" size="3" who="segin2005 at gmail.com (Segin)" />
<person posts="3" size="3" who="kuba at mareimbrium.org (Kuba Ober)" />
<person posts="3" size="2" who="mjung at iss.tu-darmstadt.de (Michael Jung)" />
<person posts="4" size="5" who="eric.pouech at wanadoo.fr (Eric Pouech)" />
<person posts="3" size="1" who="dimi at lattica.com (Dimi Paun)" />
<person posts="3" size="1" who="dmitry at codeweavers.com (Dmitry Timoshkov)" />
<person posts="2" size="4" who="andi at rhlx01.fht-esslingen.de (Andreas Mohr)" />
<person posts="2" size="4" who="gladiac.lists at gmail.com (Christian Lachner)" />
<person posts="2" size="4" who="rolf.kalbermatter at citeng.com (Rolf Kalbermatter)" />
<person posts="2" size="4" who="agarobr.listas at gmail.com (agaro)" />
<person posts="2" size="2" who="willie at zeitgeistmedia.net (Willie Sippel)" />
<person posts="2" size="2" who="twickline at gmail.com (Tom Wickline)" />
<person posts="2" size="2" who="bon at elektron.ikp.physik.tu-darmstadt.de (Uwe Bonnes)" />
<person posts="2" size="2" who="jim at pagesmiths.com (Jim White)" />
<person posts="2" size="1" who="leiz at ucla.edu (Lei Zhang)" />
<person posts="2" size="1" who="Arun.Khandelwal at headstrong.com (Arun Kumar Khandelwal)" />
<person posts="1" size="17" who="_deepfire at mail.ru (Samium Gromoff)" />
<person posts="1" size="7" who="signman359 at gmail.com (Rich Gilson)" />
<person posts="1" size="5" who="lats at yless4u.com.au (Jeff L)" />
<person posts="1" size="4" who="aj at suse.de (Andreas Jaeger)" />
<person posts="1" size="4" who="astrand at cendio.se (=?iso-8859-1?Q?Peter_=C5strand?=)" />
<person posts="1" size="3" who="Lalit.Aggarwal at headstrong.com (Lalit Aggarwal)" />
<person posts="1" size="3" who="james.trotter at gmail.com (James Trotter)" />
<person posts="1" size="3" who="stefandoesinger at gmx.at (Stefan =?utf-8?q?D=C3=B6singer?=)" />
<person posts="1" size="3" who="thadden at web.de (Joachim von Thadden)" />
<person posts="1" size="2" who="gerald at pfeifer.com (Gerald Pfeifer)" />
<person posts="1" size="2" who="infyquest at gmail.com (Vijay Kiran Kamuju)" />
<person posts="1" size="2" who="jrliggett at cox.net (James Liggett)" />
<person posts="1" size="2" who="reif at earthlink.net (Robert Reif)" />
<person posts="1" size="1" who="jan.wine at zerebecki.de (Jan Zerebecki)" />
<person posts="1" size="1" who="the3dfxdude at gmail.com (Jesse Allen)" />
<person posts="1" size="1" who="wine.dev at web.de (Detlef Riekenberg)" />
<person posts="1" size="1" who="jwhite at winehq.org (Jeremy White)" />
<person posts="1" size="1" who="jan.dvorak at kraxnet.cz (Jan Dvorak)" />
<person posts="2" size="2" who="meissner at suse.de (Marcus Meissner)" />
<person posts="1" size="1" who="jelly at ktb.net (James E. Lang)" />
<person posts="1" size="1" who="Adam at luchjenbroers.com (Adam Luchjenbroers)" />
<person posts="1" size="1" who="obchod at stesticko.cz (Obchod id)" />
<person posts="1" size="0" who="hijinio at yahoo.com (Hiji)" />
<person posts="1" size="0" who="adam.j.cooper at ntlworld.com (Adam Cooper)" />
<person posts="1" size="0" who="johnlen at inbox.ru (John Len)" />
<person posts="1" size="0" who="zhilla2 at gmail.com (Marin Glibic)" />
<person posts="1" size="0" who="jacek at codeweavers.com (Jacek Caban)" />
<person posts="1" size="0" who="phil at newstar.rinet.ru (Phil Krylov)" />
<person posts="1" size="0" who="agarobr.listas at gmail.com (agaro agaro)" />
<person posts="1" size="0" who="Sven.Paschukat at t-online.de (Sven Paschukat)" />
<person posts="1" size="0" who="mike at plan99.net (Mike Hearn)" />
<person posts="1" size="0" who="axel at 3dragons.com (Axel Huizinga)" />

</stats>
<section 
	title="News: CodeWeavers News"
	subject="News"
	archive="http://www.versora.com/support/release.php?id_num=59"
	posts="2"
>
<topic>News</topic>
<mention>CodeWeavers</mention>
<mention>Microsoft</mention>
<mention>News</mention>
<mention>cvs</mention>

<p>There's a little news out of CodeWeavers this week.  First, they've
teamed up with <a href="http://www.versora.com">Versora</a> to offer
a Linux desktop migraton and productivity bundle.  Versora has a product
called <i>Progression Desktop</i> that will migrate settings from 
Windows to Linux.  That product runs $29.00 allows you to:</p>
<quote who="Versora"><p>
Migrate Microsoft Outlook and Outlook Express to Novell Evolution, KMail, 
Mozilla or Thunderbird, Microsoft Internet Explorer to Mozilla, Firefox or 
Konqueror, Microsoft Office to OpenOffice.org and more.</p></quote>

<p>At this point it looks like the Versora deal is just a bundling that
contains the Progression Desktop and CrossOver Office 5.0.  The products
are not integrated together at all.  It seems like a good deal though - 
$49.00 for both.  For more info, read the 
<a href="http://www.versora.com/support/release.php?id_num=59">press 
release</a>.</p><p>

I stumbled across more news from a few weeks ago concerning
CodeWeavers and porting some software.  From 
<a href="http://www.linuxelectrons.com/article.php/2006022013533346">the
article</a>:</p>
<quote who="LinuxElectrons"><p>
CodeWeavers and WorldVistA have announced a strategic partnership aimed at 
making low-cost healthcare management software more freely available worldwide. 
As the centerpiece of that partnership, CodeWeavers is porting the 
CPRS (Computerized Patient Record System) component of VistA, a free 
electronic health records software application developed by the U.S. 
Department of Veterans Affairs, for use on Linux open source computers.
</p><p>
CodeWeavers' version of the VistA CPRS (Computerized Patient Record System) 
graphical user interface will be promoted by WorldVistA to non-profits as well 
as healthcare providers in developing nations around the world. The goal of the 
two organizations is to increase the viability of implementing VistA, thereby 
giving providers the same capabilities in records management enjoyed by their 
better-funded counterparts in the industrialized West.
</p><p>
VistA (Veterans Health Information Systems and Technology Architecture), a 
robust and proven client-server application, has been used and continuously 
improved by the VA since the mid 1980's to support high-quality medical care i
for military veterans in the United States. Available for free public use via 
the U.S. Freedom of Information Act, VistA and its accompanying CPRS is of 
great value to healthcare organizations that cannot afford the immense cost of 
proprietary commercial alternatives. 
</p></quote>

<p>Neato.  It sounds like a win-win situation.</p>

<p>Completely unrelated, things that make you say 
"<a href="http://www.cxtest.org/pipermail/cxtest-cvs/2006-March/000100.html">hm</a>."
</p>
</section>
<section 
	title="Wine on MacOS X"
	subject="Summary of darwine status posted to website"
	archive="http://sourceforge.net/mailarchive/forum.php?thread_id=9709931&amp;forum_id=26200"
	posts="8"
>
<topic>Ports</topic>
<mention>CodeWeavers</mention>
<mention>WineHQ</mention>
<mention>Darwine</mention>
<mention>Apple</mention>

<p>Things have been a bit vague concerning Wine on MacOS X (Intel).  Questions
arrive on wine-devel almost weekly concerning whether such a port will 
happen.  It's known that CodeWeavers is working on it, and even has 
a developer or two dedicated to it.  Over on the 
<a href="http://darwine.opendarwin.org">Darwine</a> side, things have
been really quiet.  So what exactly is going on?  Will Wine ever work with
MacOS X?  Jeremy White sent an email to the Darwine mailing list with
some details about what's going happening:</p>
<quote who="Jeremy White"><p>
There are a range of issues with OS/X.  For one, Apple has demanded
a 16 byte stack alignment on every call.  Modifying that is non trivial;
it requires a gcc patch.
</p><p>
Further, there are a lot of *nix functionality that Wine relies on
being done correctly.  Things like signal handlers, access to system
registers, and these sorts of things that OS/X does not provide,
or when they do, they provide a buggy implementation.  Sadly, the net
effect is that only a handful of applications work properly right now;
apps such as notepad and so on.
</p><p>
These are all issues we're working on at CodeWeavers; I'm hoping we'll
be able to release our changes in the relatively near future (our current 
official line is second quarter).
</p><p>
But there is still a lot of hard work to be done, and a lot
of kludges that need to be cleaned up.
</p><p>
I know that it doesn't help that Alexandre commits our changes to
the WineHQ tree with very little fanfare.  But, don't worry, we plan
on making a lot of fanfare when we think Wine is usable on an Intel Mac
</p></quote>

<p>So where does that put us?  Well, it seems CodeWeavers has waded
deep into the waters and has started tackling the big issues.  Those
issues seem pretty difficult though, so it may be some time before we
see something usable.  It doesn't appear anyone other than CodeWeavers
is working on this (or, at least they're not contributing patches
back to Wine.)  Right now that appears to be a good thing - overlap
with development being done behind closed doors can lead to wasteful 
duplication.  </p><p>

Even after the problems Jeremy mentioned are solved, there's likely to
be some integration issues.  One problem that gets mentioned quite a
bit concerns what kind of display driver to use.  OSX doesn't install X Windows
by default, so it would be nice to have a native Quartz display driver.
Fortunately, Wine has been written to abstract a lot of the display driver
stuff away from the rest of the code and it's possible to create a drop-in
replacement.  Some initial stabs have been taken at that, but it may be too 
large of a task at this point.  Even then, things like hardware accelerated
DirectX might have a lot of problems so the initial versions will likely
focus on office applications.</p>

</section>
<section 
	title="WineD3D Issues"
	subject="ddraw design flaw"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/045490.html"
	posts="8"
>
<topic>DirectX</topic>
<mention>Tomas Carnecky</mention>

<p>The DirectX code in Wine continues to be developed.  There's some
very dedicated developers, but their time seems to be limited.  With
everything in flux, issues pop up every week of things that need to
be addressed.  I'm just going to cover some of these that appeared in
different threads so you can get a feel for what is and isn't working.
</p><p>
First, Tomas Carnecky was concerned because the World of Warcraft 
"public test release" requires the DirectDraw DLL to be unloaded and
right not that isn't possible in Wine.  Stefan D&#246;singer elaborated
on what the problem was and explained the correct solution is to 
migrate ddraw to a new implementation 
(see WWN <a href="http://www.winehq.com/?issue=307#DirectDraw%20via%20WineD3D">#307</a>) 
rather than patch up the current code:</p>
<quote who="Stefan Dosinger"><p>
The ddraw implementation has some unloading bugs at the moment. Not restoring 
the glx context(that's the problem you reported, right) is only one of them. 
Another is that the screen resolution isn't restored when the app doesn't 
care for releasing it's object.
</p><p>
I have this problem in mind, and I'll check WineD3D for it, as it most likely 
affects all D3D libs. Once it's fixed in wineD3D and ddraw uses wineD3D for 
rendering, this should be sorted out.
</p><p>
Sorry for not fixing this at once, but time is limited ;). If you want a 
solution now, you're free to fix ddraw. But I registered that issue and it's 
on my lenghty todo list.
</p></quote>

<p>In another thread, Adam Luchjenbroers began looking into a big chunk
of code regarding surfaces:</p>
<quote who="Adam Luchjenbroers"><p>
I've been using and tracking Stefan D&#246;singer's work re: DDraw over WineD3D 
and decided try and find out if IWineD3DSurface was far enough along to be 
able to be used in place of IWineX11Surface for 2d applications (Hopefully to 
eliminate depth conversion issues).
</p><p>
Short answer, no.
</p><p>
Long answer, Screen displays blank, trace log shows that glReadPixels at line 
615 in wined3d\surface.c (LockRect) is failing with error 
GL_INVALID_OPERATION. Further investigation reveals that this is because 
glFormat is GL_COLOR_INDEX, yet the display is an RGB visual (presumably 
because an indexed colour visual was not available, and this buffer is 
connected directly to the screen).
</p><p>
I figured I'd look to the people already familiar with the WineD3D\DDraw 
codebase before I tried to figure out my own solution.
</p></quote>

<p>Stefan replied with details about that:</p>
<quote who="Stefan Dosinger"><p>
That is not supported right now. My current priority is to get all previously 
supported apps working in the way they where working before. Roderic has 
posted a patch for the current ddraw code to address this, this could be used 
to extend WineD3D.
</p><p>
At the moment I have problems with LockRect / UnlockRect, described here: 
<a href="http://archives.free.net.ph/message/20060213.220622.51814d8e.en.html">http://archives.free.net.ph/message/20060213.220622.51814d8e.en.html</a>
(The sf.net archives broke the attachment). This is needed for DDraw, and it's 
also a showstopper for many D3D7 games.
</p><p>
So what's basically needed for DDraw over opengl:
<ul>
<li> Indexed colours</li>
<li> Better UnlockRect code</li>
<li> Handling for all Blit cases in BltOverride</li>
<li> A opengl accellerated BltFast override</li></ul></p></quote>

<p>Finally, Stefan wondered about a refcounting problem and sent a
long email describing what he ran into along with a possible workaround:</p>
<quote who="Stefan Dosinger"><p>
I have a a question regarding some code that might be rejected by Alexandre 
when I submit it. The problem is that I have to do an refcount hack in my new 
ddraw code to destroy textures properly. I CC this mail to AJ because it's 
him who has the last word ;)
</p><p>
WineD3D and Direct3D7 have different ideas about handling mipmap textures. In 
d3d7 they are complex surfaces - a bunch of surfaces with a root and 
sublevels. All surfaces in the compound have their own refcount, but they are 
all destroyed when the root is destroyed. In WineD3D there's the texture as a 
container, and the surfaces in the container have their refcount linked to 
the container(See the patch H. Verbeet sent a few days ago).
</p><p>
In d3d7 the application destroys the first surface to release the whole 
texture. My first idea was to Release the WineD3DTexture. It would then call 
the Release method of all the sublevel ddraw surfaces, which would destroy 
them. This works for a correctly written application, but applications call 
GetAttachedSurface for the sublevels, which addrefs, and many do not Release 
the sublevels after GetAttachedSurface(). This leaves the sublevel surfaces 
with a refcount of 2 or more when the root is destroyed. To make sure that 
they are destroyed, I set their refcount to 1 when the root is destroyed. 
When the last reference to the WineD3D Texture is released, wineD3D will 
destroy the sublevel surfaces.
</p><p>
Is such a thing acceptable for Wine? Does anyone have a better solution? If 
you need some code to look at, I'll upload an updated patch to my homepage 
later.</p></quote>

<p>One suggestion that had been mentioned in the past was to simply destroy
the object regardless of the refcount.  Stefan noted that that the problem
with that is WineD3D can crash in some cases.  </p>

</section>
<section 
	title="Winetools.. part II"
	subject="May be a bad idea to have Winetools in the next SUSE release"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/045464.html"
	posts="12"
>
<topic>Utilities</topic>
<mention>Jason</mention>

<p>Winetools came up again this week.  For some background, you can
check out WWN 
<a href="http://www.winehq.com/?issue=304#WineTools%20&amp;%20Wine">#304</a>.
Basically everyone falls into three camps:
<ul><li>Those who think Winetools makes life easier to install programs and
should therefore be an integral part of using Wine.</li>
<li>Those who think Winetools should be eradicated because it covers up some 
big problems and does it in a way that makes troubleshooting problems really 
hard.</li>
<li>Those who think Winetools provides a handy service in theory, but
falls apart in implementation. </li></ul></p><p>

Of those, there doesn't seem to be a lot of productive discussion between
the first two groups.  The third group hasn't expressed a lot of ideas
on how to fix the problem.  This week Rich Gilson jumped in and sort of
summarized the current state of affairs and then brought up a new idea:</p>
<quote who="Rich Gilson"><p>
The reality that I have come up with is this:
Even following the instructions provided in the appdb to install IE6 (which is 
necessary for almost anything else to work properly) I can't seem to get it 
to install properly.  When I run an install through Winetools, it works 
flawlessly.  When I try to install TurboTax under "pure" Wine, it fails 
miserably without having to do dll overrides and such.  When I install it 
under Winetools, I have no problems getting it to run without having to tweak 
the hell out of it.
</p><p>
Please don't misunderstand me, I have a great deal of respect for what what 
the Wine developers have accomplished so far; however, I feel that those that 
have put the effort into Winetools have done so because they saw a need and 
filled it.  In the realm of ease of use and user-friendliness, Wine is 
horribly lacking.  Yes, it is getting better, but I think that Winetools is 
the closest thing I've seen that would make it so that an average user could 
us it.
</p><p>
IMHO, the Wine developers should spend less time b*tching about Winetools and 
more time figuring out how they can 1) build a front-end that is better than 
Winetools, or 2) help improve Winetools so that it works more to their liking 
but still offers an easy, user-friendly interface.
</p><p>
Personally, I would like to see an application (be it Winetools or something 
else, it doesn't really matter to me) that would interface with the appdb.  
You could launch this front-end and it would pull up a list of all the 
applications in the appdb that have special "config" files.  These files 
would tell this front-end EXACTLY what dll overrides are necessary, what 
files to run, what needs to be installed beforehand, etc.  Then, if there is 
ever a change (due to Wine improving support for a particular dll so that an 
override is no longer needed, for example) all that would have to be done is 
to update the "config" file attached to the program in the appdb and *bingo*, 
you've just "update" your front-end!
</p><p>
I say I would like to see it because I do not personally have the requisite 
programming skill to accomplish such a task, but I'm convinced it could be 
done and that there are programmers out there in the Wine community that 
would easily be able to accomplish such a task.
</p><p>
This whole Wine/Winetools argument has been a thorn in my side for a while 
because I see both sides of the argument and can understand both stances.  
However, I'm also watching and not seeing any compromise being made.  It's 
like both sides have formed ranks and dug in.
</p><p>
It's not my intention to just whine and cry about things, but I'm not in a 
position to directly help.  What I can do is offer my ideas and opinions.  I 
have I haven't pissed too many people off because that was not my intention.  
</p><p>
I do look forward to every new release of Wine that comes out, hoping that 
it's that much closer to allowing me to leave Windows behind for good.
</p></quote>

<p>Tony Lambregts, one of the AppDB developers, replied with more details 
about what could potentially be accomplished:</p>
<quote who="Tony Lambregts"><p>
I think this is a "Good Idea" (tm)
</p><p>
There are always going to be programs that need tweaks to get them to run.
</p><p>
I know of a few that will work fine just by changing the windows version but 
fail miserably with a "clean wine" [1]. These programs usually fail in XP as 
well but it would be nice for the users to have an easy way to get them to run 
"out of the box" in wine
</p><p>
There are others that look for a certain file and if it does not exist the 
program fails[2]. Just creating an empty file with the appropriate name is often 
enough to get the program working. This is a class of bug that is sure to be 
around for a while.
</p><p>
The last class of bugs are the ones that require native (windows) DLL's [3]. It 
would be nice to be able to keep track of these somewhere so that developers 
know which files need to be worked on
</p><p>
Most people are not programmers and even fewer are capable of being developers 
but if we can find a way to make everyones life easier both developers and users 
then we should do it.
</p><p>
In simple terms we get WineTools to query the AppDB with an application name (ie 
somename.exe) and we return a list of applications for the user to choose from 
and the after the user selects the program WineTools gets the appropriate 
overrides from the AppDB and sets them for the user.
</p><p>
I think that that this is do-able if we work together.</p></quote>

<p>Jason Green gave a braindump of a tasklist:</p>
<quote who="Jason Green"><p>
here's a [very incomplete] list of what would need to be done
to pull this off:
<ul>
<li> AppDB would have to be extended to be able to get and report this
data, and it would make sense for each App's maintainer to be able to
manage that information.</li>
  <li> Biggest issue here is that this information could have a tendency
to change very rapidly, so it might overload the app maintainers if
they had to track this for each version of wine.  What I think would
make sense is to have regular snapshots (every 3 months?) and release
a new version of "Winetools Plus" or whatever you want to call this
thing a month later to give the maintainers time to update each of
their apps based on the frozen version.</li>
<li> Data needed: AppID, AppVersionID, WineVersionID, Window Version, DLL
Overrides, Window settings (fullscreen/windowed - sometimes and
issue), Sound options, Video acceleration required, General notes or
HOWTO's, etc.  You would need separate overrides/settings for
Installing vs. Running the app.</li>
<li> AppDB could dump this information to an xml format which "Winetools
Plus" could be distributed with.  Maybe have an option to download the
latest xml file directly from winehq.org.</li>
<li> The 'Winetools Plus' front-end would just be a menu which would
query all of the apps in the xml dump.  The user picks they app they
want to install, and it reads the necessary information, verifies the
source installation media, and goes at it.</li>
<li> Applying patches to apps might get tricky (e.g., where wine only
successfully runs version 1.5 of the app, but 1.0 is on the CD), but
I'm sure it could be worked out.</li></ul>
</p><p>
Anyway, there's a start.  That would encourage users to get involved
in the AppDB reporting process as well as better organize how to just
"get things done" using wine.</p></quote>

<p>Will the idea ever get off the ground?  Sadly, I don't think it will.
It seems like the AppDB guys might be able to get the necessary additions
made, but WineTools is another story.  There aren't very many Winetools
developers (two?) and the changes needed seem pretty large.</p>
</section>
<section 
	title="AMD64, FAT32, and Failing Apps"
	subject="Can't run DirectX games on x86_64 biarch Linux SOLVED"
	archive="http://www.winehq.com/pipermail/wine-devel/2006-March/045520.html"
	posts="1"
>
<topic>Fixes</topic>
<p>A few weeks ago Christian Schneider reported a problem that no one
had the answer to.  Apparently at some point he upgraded to an AMD64
and some of his DirectX games stopped working with Wine.  The errors he was
seeing were kind of strange. This week he reported that he figured out
what the problem was.  While this is probably an uncommon configuration,
it's quite possible someone else is running into this:</p>
<quote who="Christian Schneider"><p>
I found out that the problem doesn't seem to be related DirectX nor
x86_64 libs. My games were all installed on a FAT32 partition which is
also available for my parallel installed Windows XP. But the programs
that worked I had installed directely to drive C: (~/.wine/drive_c).
</p><p>
Now after I installed any of the games to the fake windows directory,
they worked again! Renaming the installation directory and setting a
symlink to the same game directory on the FAT32 parition, and the game
crashed again.
</p><p>
The debug messages showed that the last called function always was
ntdll.NtQueryDirectoryFile. Grepping this function name from the log
file showed the last call to it:
<ul><code>
0009:Call ntdll.NtQueryDirectoryFile(0000009c, 00000000, 00000000, 00000000,
55dad048, 558f2a58, 00002000, 00000003, 00000000, 558f2a3c, 00000000) 
ret=559c6246<br />
err:seh:setup_exception nested exception on signal stack in thread 0009 eip 
55725f43 esp 55589c90 stack 0x55ca1000-0x55db0000 
</code></ul></p></quote>


</section></kc>
