http://bugs.winehq.org/show_bug.cgi?id=19370
Summary: Secret of Monkey Island audio functioning is dependent on Wine's sample rate Product: Wine Version: 1.1.26 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dsound AssignedTo: wine-bugs@winehq.org ReportedBy: ehoover@mines.edu
The Secret of Monkey Island: Special Edition's audio only works when Wine's "Default Sample Rate" is set to 44100. Other sample rates allow the game to load, but the game is completely silent. This occurs when using the alsa driver, I'm unsure whether OSS has the same issue since MI:SE will not load when the oss driver is selected.
http://bugs.winehq.org/show_bug.cgi?id=19370
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P3 Severity|normal |minor
--- Comment #1 from Ken Sharp kennybobs@o2.co.uk 2009-07-23 08:22:31 --- Is there any terminal output?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #2 from André Fettouhi A.Fettouhi@gmail.com 2009-07-24 10:53:40 --- Created an attachment (id=22576) --> (http://bugs.winehq.org/attachment.cgi?id=22576) STEAM and MI:SE ouput
http://bugs.winehq.org/show_bug.cgi?id=19370
André Fettouhi A.Fettouhi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |A.Fettouhi@gmail.com
--- Comment #3 from André Fettouhi A.Fettouhi@gmail.com 2009-07-24 10:55:42 --- In my case sound doesn't work at all on The Secret of Monkey Island: Special Edition. It doesn't matter what sample rate I choose and I've tested the sound in wine with the test tool in winecfg. My sound card is a HDA Intel card and I'm running Arch Linux and Wine 1.1.26. I've attached an output of running STEAM then starting MI:SE and then quiting MI:SE after playing for the first part of the game.
http://bugs.winehq.org/show_bug.cgi?id=19370
Michael Wilson michael.wilson1990@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael.wilson1990@gmail.co | |m
--- Comment #4 from Michael Wilson michael.wilson1990@gmail.com 2009-07-28 06:10:33 --- Try to set hardware acceleration (winecfg;audio tab) to emulation.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #5 from André Fettouhi A.Fettouhi@gmail.com 2009-07-28 06:14:49 --- OK, I'll try that when I get home from work tonight. But sound is working for me in "The Dig" and "LOOM" both installed via STEAM and running from there in wine.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #6 from Michael Wilson michael.wilson1990@gmail.com 2009-07-28 06:23:33 --- Sound wasn't working for me either in MI:SE till I tried this option. I think there's quite a good chance it may work for you, because I'm also running Arch Linux and got a Intel HDA sound card.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #7 from André Fettouhi A.Fettouhi@gmail.com 2009-07-28 06:26:48 --- Nice, thanks for the heads up. I really want to play this and on Linux :D.
Regards
André
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #8 from André Fettouhi A.Fettouhi@gmail.com 2009-07-28 12:34:45 --- (In reply to comment #6)
Sound wasn't working for me either in MI:SE till I tried this option. I think there's quite a good chance it may work for you, because I'm also running Arch Linux and got a Intel HDA sound card.
Yep, that worked :D. Many thanks again!!!
Kind Regards
André
http://bugs.winehq.org/show_bug.cgi?id=19370
Maarten Lankhorst m.b.lankhorst@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |m.b.lankhorst@gmail.com
--- Comment #9 from Maarten Lankhorst m.b.lankhorst@gmail.com 2010-01-29 15:45:35 --- Can I see a +dsound,+dsalsa debug log of broken 'full' acceleration?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #10 from knipl@in.tum.de 2010-02-05 12:57:05 --- Created an attachment (id=26066) --> (http://bugs.winehq.org/attachment.cgi?id=26066) output of WINEDEBUG=+dsound,dsalsa wine "C:\Programme\Steam\Steam.exe" -applaunch 32360 &> MISE.log
Using wine-1.1.38, alsa w/ full acceleration and 8 khz.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #11 from Maarten Lankhorst m.b.lankhorst@gmail.com 2010-02-21 02:20:56 --- Sorry, got a bit occupied.
Well, it seems the problem is that it resamples, and somehow doesn't do that properly.
Fortunately I already encountered a problem like this before, and made a undocumented registry key that counters it.
If you create a string in HKCU\Software\Wine\DirectSound called MaxShadowSize and set it to 0, sound should work accelerated, no matter what sample rate is used.
This is only a workaround, I need further investigation to figure out what the hell is going on here.
Cheers, Maarten.
http://bugs.winehq.org/show_bug.cgi?id=19370
Maarten Lankhorst m.b.lankhorst@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1
--- Comment #12 from Maarten Lankhorst m.b.lankhorst@gmail.com 2010-02-21 02:47:47 --- actually, it should be set to -1, not 0 :)
http://bugs.winehq.org/show_bug.cgi?id=19370
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #13 from Austin English austinenglish@gmail.com 2010-03-11 22:09:47 --- Still present in 1.1.40.
http://bugs.winehq.org/show_bug.cgi?id=19370
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #14 from Dan Kegel dank@kegel.com 2010-03-12 17:56:35 --- austin, does the workaround in #11 and #12 work for you?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #15 from Austin English austinenglish@gmail.com 2010-03-12 18:10:57 --- (In reply to comment #14)
austin, does the workaround in #11 and #12 work for you?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #16 from Austin English austinenglish@gmail.com 2010-03-12 18:14:07 --- (In reply to comment #14)
austin, does the workaround in #11 and #12 work for you?
No. I've been trying various workarounds (OSS/Alsa/emulation/MaxShadowSize) in varying combinations, with no luck. It may be Pulseaudio, though sound works in the few other games I play. I'll try with it disabled in a bit.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #17 from Austin English austinenglish@gmail.com 2010-03-12 18:35:52 --- I seem to have good luck using Alsa, acceleration = emulated, sample rate = 44100 (default), and MaxShadowSize = -1.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #18 from Maarten Lankhorst m.b.lankhorst@gmail.com 2010-03-13 03:35:33 --- austin,
MaxShadowSize = -1 should be enough, it's the only valid setting that would disable the bad behavior, the rest shouldn't matter..
-1 sets to disabled, 0 still enables it for devices that have a smaller buffer than the primary buffer, which monkey island has, so only -1 works..
Frequency is basically ignored, and if it works in emulation it likely works with full too
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #19 from Austin English austinenglish@gmail.com 2010-03-14 16:59:17 --- Well, it's back to not working at all for me, in any way. I'm trying to get rid of pulse and install Esound, so I'll see what happens...
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #20 from Austin English austinenglish@gmail.com 2010-03-14 17:55:01 --- With pulse removed and esound instead, works fine for me with or without the maxshadowsize hack.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #21 from Dan Kegel dank@kegel.com 2010-03-15 12:43:14 --- Does pasuspender also help?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #22 from Austin English austinenglish@gmail.com 2010-03-15 12:53:31 --- (In reply to comment #21)
Does pasuspender also help?
Theoretically, it should, but I've never had any luck when using it.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #23 from Dan Kegel dank@kegel.com 2010-03-16 15:04:28 --- I bought a copy from direct2drive, and the audio problem is really bad. MaxShadowSize=-1 didn't help, alas. This is with pulseaudio.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #24 from Austin English austinenglish@gmail.com 2010-03-16 15:07:47 --- Have you tried pasuspender?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #25 from Maarten Lankhorst m.b.lankhorst@gmail.com 2010-03-17 03:57:06 --- The real workaround is setting MaxShadowSize to -1, or setting sample rate to 44100, don't bother with all these might work might not work workarounds, since it won't help you, some of them will set the sample rate to 44100 but maxshadowsize = -1 is recommended still..
Setting sample rate to 44100 would probably be enough for wine's alsa driver if it outputs to pulseaudio
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #26 from Austin English austinenglish@gmail.com 2010-03-17 11:17:11 --- (In reply to comment #25)
The real workaround is setting MaxShadowSize to -1, or setting sample rate to 44100, don't bother with all these might work might not work workarounds, since it won't help you, some of them will set the sample rate to 44100 but maxshadowsize = -1 is recommended still..
Setting sample rate to 44100 would probably be enough for wine's alsa driver if it outputs to pulseaudio
Again, I tried that...still stuttered for me, using Alsa, sample rate 44100 and maxshadowsize=-1, when pulseaudio was running. It would sometimes work on the first run/after a reboot, but subsequent runs went back to hurting my ears.
http://bugs.winehq.org/show_bug.cgi?id=19370
Raymond superquad.vortex2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |superquad.vortex2@gmail.com
--- Comment #27 from Raymond superquad.vortex2@gmail.com 2010-03-19 18:35:54 --- (In reply to comment #9)
Can I see a +dsound,+dsalsa debug log of broken 'full' acceleration?
what is 'full' acceleration dsound for a sound card which does not hardware mixing ?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #28 from Raymond superquad.vortex2@gmail.com 2010-07-28 09:00:55 --- (In reply to comment #10)
Created an attachment (id=26066)
--> (http://bugs.winehq.org/attachment.cgi?id=26066) [details]
output of WINEDEBUG=+dsound,dsalsa wine "C:\Programme\Steam\Steam.exe" -applaunch 32360 &> MISE.log
Using wine-1.1.38, alsa w/ full acceleration and 8 khz.
But your card does not support 8Kz
Seem wine use 48000Hz for primary buffer and 44100 Hz for software secondary
is this normal behaviour ?
Is it correct for winealsa.drv to use DSBFREQUENCY_MIN and DSBFREQUENCY_MAX as dwMinSecondarySampleRate and dwMaxSecondarySampleRate ?
http://bugs.winehq.org/show_bug.cgi?id=19370
Vincent Beers VincentBeers@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |VincentBeers@gmail.com
--- Comment #29 from Vincent Beers VincentBeers@gmail.com 2010-07-28 09:53:05 --- I have also tested and created a log with the following command:
WINEDEBUG=+sound,+dsound,+coreaudio,+dsound3d,+openal32 wine Steam.exe
File is attached. Sound was 44100 Hz + audio emulation. I am willing to test again under different circumstances (48000 Hz, hardware mode etc). Unless you already have enough info to determine what the problem is?
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #30 from Vincent Beers VincentBeers@gmail.com 2010-07-28 09:54:19 --- Created an attachment (id=29884) --> (http://bugs.winehq.org/attachment.cgi?id=29884) WINEDEBUG with most audio debugging channels
The command I used to make this log was: WINEDEBUG=+sound,+dsound,+coreaudio,+dsound3d,+openal32 wine Steam.exe
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #31 from Raymond superquad.vortex2@gmail.com 2010-07-29 01:04:54 --- (In reply to comment #29)
I have also tested and created a log with the following command:
WINEDEBUG=+sound,+dsound,+coreaudio,+dsound3d,+openal32 wine Steam.exe
File is attached. Sound was 44100 Hz + audio emulation. I am willing to test again under different circumstances (48000 Hz, hardware mode etc). Unless you already have enough info to determine what the problem is?
I guess you have to fix this problem first
Corrupt JPEG data: 57 extraneous bytes before marker 0xdb
so what is your problem ?
trace:dsound:DirectSoundEnumerateW calling lpDSEnumCallback(NULL,"Primary Sound Driver","winealsa.drv",0x81d9fd0) trace:dsound:DirectSoundEnumerateW calling lpDSEnumCallback({bd6dd71a-3deb-11d1-b171-00c04fc20000},"default","winealsa.drv",0x81d9fd0)
The winealsa.drv use alsa "default" device but the debug log cannot show this "default" device is dmix , pulse , hw or user-defined device even when you specify +alsa
trace:dsound:GetDeviceID (DSDEVID_DefaultPlayback,0x7e3b9d4) trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000} trace:dsound:GetDeviceID (DSDEVID_DefaultVoicePlayback,0x7e3b9e4) trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000} trace:dsound:DirectSoundEnumerateW lpDSEnumCallback = 0x7df6d10, lpContext = 0x81d9fd0 fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer trace:dsound:GetDeviceID (DSDEVID_DefaultPlayback,0x8f5f268)
you have HDA Intel but did you customised the default device to use hdmi ?
this device has no capture device and no mixer control since the volume is controlled by the remote control of your hdtv
trace:dsound:GetDeviceID (DSDEVID_DefaultVoiceCapture,0x330e0f4) trace:dsound:GetDeviceID returns {bd6dd71b-3deb-11d1-b171-00c04fc20000}
The Secret of Monkey Island: Special Edition's audio only works when Wine's "Default Sample Rate" is set to 44100. Other sample rates allow the game to load, but the game is completely silent.
Thr Primary buffer is hardware buffer and may be your alsa default device does only support 44100KHz
wine only resample secondary software buffer to the rate which used by primary buffer (hardware buffer )
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #32 from Vincent Beers VincentBeers@gmail.com 2010-07-29 05:23:54 ---
you have HDA Intel but did you customised the default device to use hdmi ?
Nope, the HDMI device is unrelated, I don't use it. Wine just finds it, and most other Wine apps play sound normally.
If it helps, I posted this after there was a forum topic about it on WineHQ. It's too large to post the content here so I'll just link to it: http://forum.winehq.org/viewtopic.php?t=9128
As for the "corrupt JPEG data", that's a Steam bug, not a game bug (and everything in Steam still displays fine anyway). I should have mentioned I tried running this game through Steam. The log becomes relevant to the game (MI1:SE) from line 165 onward or so, sorry I forget to remove everything above that.
Another note: I'm using PulseAudio, but when I use pasuspender I hear no sound at all.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #33 from Raymond superquad.vortex2@gmail.com 2010-07-29 06:48:49 --- (In reply to comment #32)
you have HDA Intel but did you customised the default device to use hdmi ?
Nope, the HDMI device is unrelated, I don't use it. Wine just finds it, and most other Wine apps play sound normally.
if you have two alsa sound cards (onboard HDA and another PCI sound card/USB audio ), you should notice that you have two waveout devices with name "default" and two wavein devices with name "default" but two mixer devices with "hw:0" and "hw:1"
WINEDEBUG=+mixer winecfg
wine use alsa "default" device instead of hw:0,0 or hw:1,0 / plughw:0,0 , plughw:1,0 after alsa drop the support of default:0 , default:1 (i.e. wine had actually drop the multiple sound cards support after this change )
wine use snd_card_get_index() to find all alsa cards and use snd_ctl_open() to use the control interface ( need patch to skip those rawmidi cards http://bugs.winehq.org/show_bug.cgi?id=21361#c2 ) and call snd_mixer_open() to use the simple mixer interface to find all the volume controls and switches of the sound card and add "hw:n" to mixer devices list
Another note: I'm using PulseAudio, but when I use pasuspender I hear no sound at all.
if you are using Puleaudio , (winealsa.drv with alsa-pulse plugin )
pcm.default has been configured to use pcm.pulse ctl.default has been configured to use ctl.pulse
pasuspender is not easy to temporarily suspend PulseAudio when 1) your distribution turn of auto spawn feature of PA server , 2) unless you disable all system event sound after libcanberra ( system event sound ) use pulseaudio
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #34 from Raymond superquad.vortex2@gmail.com 2010-07-29 18:43:46 --- (In reply to comment #32)
Another note: I'm using PulseAudio, but when I use pasuspender I hear no sound at all.
if you configured wine to use winealsa.drv which use alsa-pulse plugin
PA server is stopped when you use pasuspender , it is normal that winealsa fail to connect to PA server
http://wiki.winehq.org/UsefulRegistryKeys
pasuspender is supposed to be used only when you change the registry key "UseDirectHW" from "N" to "Y" which forace winealsa to use "hw:0,0" instead of "default"
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #35 from Raymond superquad.vortex2@gmail.com 2010-07-29 21:59:00 --- (In reply to comment #23)
I bought a copy from direct2drive, and the audio problem is really bad. MaxShadowSize=-1 didn't help, alas. This is with pulseaudio.
what is the buffer_size and period_size used by PA server when it open the playback device of your sound card ?
when PA server is opening the playback device
cat /proc/asound/card0/pcm0p/sub0/hw_params
or
open a terminal pulseaudio -k;pulseaudio -vvvvv
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #36 from Raymond superquad.vortex2@gmail.com 2010-07-29 22:00:56 --- (In reply to comment #35)
(In reply to comment #23)
I bought a copy from direct2drive, and the audio problem is really bad. MaxShadowSize=-1 didn't help, alas. This is with pulseaudio.
what is the buffer_size and period_size used by PA server when it open the playback device of your sound card ?
when PA server is opening the playback device
cat /proc/asound/card0/pcm0p/sub0/hw_params
or
open a terminal pulseaudio -k;pulseaudio -vvvvv
the easy way is "pactl list"
http://bugs.winehq.org/show_bug.cgi?id=19370
Javier Kohen jkohen@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jkohen@users.sourceforge.ne | |t
--- Comment #37 from Javier Kohen jkohen@users.sourceforge.net 2010-08-15 14:14:35 --- *** Bug 24004 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=19370
Mal Haak insanemal@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |insanemal@gmail.com
--- Comment #38 from Mal Haak insanemal@gmail.com 2010-09-21 22:14:44 CDT --- Confriming that V 1.3.3 still has the issue, Using the suggested fixes here choppy sound was achieved. But nothing useable.
http://bugs.winehq.org/show_bug.cgi?id=19370
--- Comment #39 from Raymond superquad.vortex2@gmail.com 2010-09-29 02:09:03 CDT --- (In reply to comment #18)
austin,
MaxShadowSize = -1 should be enough, it's the only valid setting that would disable the bad behavior, the rest shouldn't matter..
-1 sets to disabled, 0 still enables it for devices that have a smaller buffer than the primary buffer, which monkey island has, so only -1 works..
Frequency is basically ignored, and if it works in emulation it likely works with full too
it is because dsoutput.c explicitly disable the resampling of the "plug" or "rate" plugin of the "default" device
snd_pcm_hw_params_set_rate_resample(pcm, hw_params, 0);
However this function has not effect on "pulse" plugin, i.e. pulse device still support any rate within 1 Hz and PA_RATE_MAX Hz
if your sound card does not support the requested rate (e.g. 22050Hz) , wine have to do the resampling by itself
http://bugs.winehq.org/show_bug.cgi?id=19370
Christoph Korn c_korn@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |c_korn@gmx.de
http://bugs.winehq.org/show_bug.cgi?id=19370
Benjamin Hodgetts ben@xnode.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ben@xnode.org
--- Comment #40 from Benjamin Hodgetts ben@xnode.org 2011-08-07 09:05:18 CDT --- Just adding to this: on Wine 1.3.26 with Intel HD onboard audio (not using Pulse or anything else) I normally get sound in Wine but not on Monkey Island.
Using the MaxShadowSize -1 method fixed it for me.
http://bugs.winehq.org/show_bug.cgi?id=19370
Christoffer Hammarström kreiger@linuxgods.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kreiger@linuxgods.com
--- Comment #41 from Christoffer Hammarström kreiger@linuxgods.com 2011-10-13 16:17:43 CDT --- Works for me in Wine 1.3.30 without setting MaxShadowSize to -1.
http://bugs.winehq.org/show_bug.cgi?id=19370
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED
--- Comment #42 from Austin English austinenglish@gmail.com 2011-10-17 16:05:05 CDT --- (In reply to comment #41)
Works for me in Wine 1.3.30 without setting MaxShadowSize to -1.
Same in wine-1.3.30-205-g472a8f7
http://bugs.winehq.org/show_bug.cgi?id=19370
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #43 from Alexandre Julliard julliard@winehq.org 2011-10-21 13:49:35 CDT --- Closing bugs fixed in 1.3.31.