http://bugs.winehq.org/show_bug.cgi?id=28748
Bug #: 28748 Summary: Two Worlds: missing audio Product: Wine Version: 1.3.30 Platform: x86 URL: http://www.fileplanet.com/180119/180000/fileinfo/Two-W orlds-Demo OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winealsa.drv AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com CC: aeikum@codeweavers.com Classification: Unclassified Regression SHA1: 8258a5188cc36563809ac7495e49bc43ae4326e4
Created attachment 36932 --> http://bugs.winehq.org/attachment.cgi?id=36932 +tid,+mmdevapi,+alsa,+winmm,+dsound debug log (uncompressed 4.7 MB)
Two Worlds (released in 2007 by Topware Interactive) is missing audio (sound effects, speech, music). Audio worked reliably in the game up until this commit:
8258a5188cc36563809ac7495e49bc43ae4326e4 is the first bad commit commit 8258a5188cc36563809ac7495e49bc43ae4326e4 Author: Andrew Eikum aeikum@codeweavers.com Date: Fri Sep 23 15:03:51 2011 -0500
winealsa.drv: Remove wave, mixer, and dsound driver code.
:040000 040000 e34e9dab6f585755d23f4cad91d4af6dc37b786b bf2a47c73bcdd75db339177384a4d566c4fa41e6 M dlls
Still present as of wine-1.3.30-145-g7a4349b. This might be a dupe of bug #28706. Other bug reports related to this commit: bug #28617, bug #28618, bug #28619. Can be reproduced in the demo as well. The game requires: physx, d3dx9_36, xact
Fedora 15 x86 Kernel 2.6.40.6-0.fc15.i686.PAE Alsa 1.0.24 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2) Pulseaudio is not running
http://bugs.winehq.org/show_bug.cgi?id=28748
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression
http://bugs.winehq.org/show_bug.cgi?id=28748
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |14717
--- Comment #1 from Andrew Eikum aeikum@codeweavers.com 2011-10-18 14:08:52 CDT --- This is caused by the resampler mess in dsound. If you set the registry to have dsound use a 48khz sample rate (which matches the application's audio rate, meaning no resampling is necessary), the audio does work.
The trouble is that Wine chooses to resample the application's buffer in the client thread during the secondary buffer Unlock() call, and not in the mixer thread. I assume this is to try to prevent underruns due to the CPU intensity of resampling (commit 3aeedea0b646a0b6a783a67069bedf00ce0131c8 introduced this behavior). But, the application continually modifies the data in the buffer without using Lock() or Unlock(), so the data written by the application never gets resampled. dsound just continually sends the first Unlock()'s resampled data, which happens to be silent, to mmdevapi.
The solution, I think, is to always do resampling just before sending data to mmdevapi, which basically involves moving it /back/ into the mixer thread, undoing the commit mentioned above. But before we do that, we should get a more efficient and high quality resampler, which is Bug 14717. I suspect this bug will be fixed when Bug 14717 is fixed, due to the amount of related code that will be touched.
http://bugs.winehq.org/show_bug.cgi?id=28748
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on|14717 |
http://bugs.winehq.org/show_bug.cgi?id=28748
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |14717
http://bugs.winehq.org/show_bug.cgi?id=28748
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
--- Comment #2 from Jerome Leclanche adys.wh@gmail.com 2011-10-18 14:18:09 CDT --- Are bug 28618 and bug 28706 dupes?
http://bugs.winehq.org/show_bug.cgi?id=28748
--- Comment #3 from Andrew Eikum aeikum@codeweavers.com 2011-10-18 14:23:48 CDT --- Bug 28618 is almost certainly not related.
Bug 28706 might be, but it has no log and I'm not even sure the debug traces in Wine are sufficient to be certain if it's a dupe. I added a whole lot of traces to figure out exactly what was going on in this one. Anyway, I'll go request a log from 28706.
http://bugs.winehq.org/show_bug.cgi?id=28748
--- Comment #4 from Andrew Eikum aeikum@codeweavers.com 2011-10-26 10:31:18 CDT --- This is indeed fixed by a preliminary patch for Bug 14717, in comment 183.
http://bugs.winehq.org/show_bug.cgi?id=28748
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rmlipman@gmail.com
--- Comment #5 from Andrew Eikum aeikum@codeweavers.com 2011-10-26 13:53:06 CDT --- *** Bug 28840 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=28748
--- Comment #6 from GyB gyebro69@gmail.com 2011-10-26 13:55:32 CDT --- (In reply to comment #4)
This is indeed fixed by a preliminary patch for Bug 14717, in comment 183.
The patch fixes the missing audio issue here as well, tried with the full version of the game.
http://bugs.winehq.org/show_bug.cgi?id=28748
Alexander E. Patrakov patrakov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |patrakov@gmail.com
--- Comment #7 from Alexander E. Patrakov patrakov@gmail.com 2011-12-30 00:05:48 CST --- This is supposed to be fixed by commit 663bc476029a3f867c698677f888d778246f4718 (despite the indicated dependency on bug 14717). Could you please retest with the latest git, or, when it comes out, wine-1.3.36?
http://bugs.winehq.org/show_bug.cgi?id=28748
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |663bc476029a3f867c698677f88 | |8d778246f4718 Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #8 from GyB gyebro69@gmail.com 2011-12-30 01:05:39 CST --- Audio is working again in Two Worlds in wine-1.3.35-273-geaa8801. Tested with Xp, Vista and Seven compatibility modes, all sound good (the game utilizes Xact). Thanks to all of you for the efforts you have put into reworking audio in Wine.
http://bugs.winehq.org/show_bug.cgi?id=28748
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2011-12-30 12:57:08 CST --- Closing bugs fixed in 1.3.36.
http://bugs.winehq.org/show_bug.cgi?id=28748
Bug 28748 depends on bug 14717, which changed state.
Bug 14717 Summary: resampled sound is horrible http://bugs.winehq.org/show_bug.cgi?id=14717
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED