[DSOUND?] SMP problem workaround, more info

OverrideX overridex at punkass.com
Sat Jun 14 19:13:42 CDT 2003


Hi again,

Ok so I've found a workaround (not a great one..) for the deadlock I
experience running System Shock 2 in wine using a SMP box.  I've also
tried another game in wine, Jedi Knight 2 which does not deadlock, I'm
guessing it has to do with how ss2 is calling sounds, since it seems
directly related to dsound underruns, and dsound_main.c says in the todo
it's missing critical section locking in some parts of it's code, and
it's critical section timeouts with the same address, and different
tid's that are in the log when the deadlock occurs. (see older thread
for more info....) 

I decided I needed to try a new kernel, 2.5.70 to see if it was
something with my kernel - and I also had an idea of how to work around
it.  The kernel upgrade still deadlocked, but 2.5.70 has the ability to
set hard cpu affinity, so by restricting all the wine processes to only
using cpu1, the deadlock disappears - obviously this should be fixed in
the code rather than working around it like this, but I can't trace it
since it doesn't happen when the game plays slow.  It seems like it only
happens when the game is playing at a good pace and two or more sounds
are about to play at the same time.  I hope someone knows what needs to
be fixed for this without too much more info, as I'm only a novice
coder.  But until then I'll do some heavy reading on how wine works and
see if I can figure it out myself... cheers -Dan

--
OverrideX <overridex at punkass.com>
GPG Key Fingerprint = 4AD5 CE9C D7C8 0069 BDD3 7F72 3AB2 642A 5A5D EB89

It is difficult to legislate morality in the absence of moral
legislators.





More information about the wine-devel mailing list