http://bugs.winehq.org/show_bug.cgi?id=27956
Summary: Sound no longer working; Sample rates and size no longer supported Product: Wine Version: 1.3.25 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winmm&mci AssignedTo: wine-bugs@winehq.org ReportedBy: susancragin@earthlink.net
My audio no longer works.
Today I got wine-1.3.25 from the PPA. Before that, I was using wine from Ubuntu's oneiric 64-bit repo, and that worked fine. I have pulseaudio disabled and have an asoundrc script that diverts sound to my USB PureAudio.
The message generated by NaturallySpeaking is: The audio input device is not responding The sample rates and/or sample size supported by the system are not compatible with the Audio Setup Wizard.
The terminal message is this: fixme:winmm:MXD_SetControlDetails What should the sw-side mixer controls map to?
http://bugs.winehq.org/show_bug.cgi?id=27956
Susan Cragin susancragin@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #1 from Susan Cragin susancragin@earthlink.net 2011-08-01 06:17:33 CDT --- One more terminal error message of interest. err:winmm:WINMM_OpenDevice Activate failed: 80004005
http://bugs.winehq.org/show_bug.cgi?id=27956
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz Summary|Sound no longer working; |Dragon Naturally Speaking: |Sample rates and size no |Sound no longer works; |longer supported |sample rates and size is no | |longer supported
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #2 from Wylda wylda@volny.cz 2011-08-01 06:52:03 CDT ---
What version of your application? Please link againt AppDB. Is there a downloadable demo, which shows that problem?
Also could you please perform: http://wiki.winehq.org/RegressionTesting
http://bugs.winehq.org/show_bug.cgi?id=27956
Susan Cragin susancragin@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.nuance.com/for-i | |ndividuals/by-product/drago | |n-for-pc/home-version/index | |.htm
--- Comment #3 from Susan Cragin susancragin@earthlink.net 2011-08-01 07:51:37 CDT --- My version is 11.0. There is no on-line demo but contact me off-list with your full name and address if you would like Nuance to mail you one. I can do a regression test but not within the next couple of days.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #4 from Susan Cragin susancragin@earthlink.net 2011-08-05 22:21:13 CDT --- This bug is also present in the Windows version of Audacity.
http://bugs.winehq.org/show_bug.cgi?id=27956
Rion rion4ik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rion4ik@gmail.com
--- Comment #5 from Rion rion4ik@gmail.com 2011-08-09 05:26:05 CDT --- winecfg gives me the same error while pushing test sound button. wine-1.3.26
worked fine in 1.3.24
gentoo USE flags: (X alsa cups dbus gecko gnutls jpeg lcms mp3 ncurses openal opengl oss png samba ssl threads truetype v4l win32 xcomposite xml -capi -custom-cflags -fontconfig -gphoto2 -gsm -gstreamer -hal -ldap -nls -opencl -perl -scanner -test -win64 -xinerama)
http://bugs.winehq.org/show_bug.cgi?id=27956
Raymond superquad.vortex2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |superquad.vortex2@gmail.com
--- Comment #6 from Raymond superquad.vortex2@gmail.com 2011-08-25 22:34:48 CDT --- (In reply to comment #0)
The terminal message is this: fixme:winmm:MXD_SetControlDetails What should the sw-side mixer controls map to?
Try
wine winmm_test mixer
I guess those audio mixer api in winmm are not translated to Endpoint volume api in mmdevapi
http://bugs.winehq.org/show_bug.cgi?id=27956
JMBouchard@Comcast.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |JMBouchard@Comcast.net
--- Comment #7 from JMBouchard@Comcast.net 2011-09-07 16:29:46 CDT --- I can confirm this bug as it also happens when trying to use the latest wine with Dragon 10. For now, I will install an older version of wine 1.3 to go around the issue.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #8 from JMBouchard@Comcast.net 2011-09-08 21:53:58 CDT --- (In reply to comment #0)
My audio no longer works.
Today I got wine-1.3.25 from the PPA. Before that, I was using wine from Ubuntu's oneiric 64-bit repo, and that worked fine. I have pulseaudio disabled and have an asoundrc script that diverts sound to my USB PureAudio.
The message generated by NaturallySpeaking is: The audio input device is not responding The sample rates and/or sample size supported by the system are not compatible with the Audio Setup Wizard.
The terminal message is this: fixme:winmm:MXD_SetControlDetails What should the sw-side mixer controls map to?
I can confirm that this is a bug as DNS 11 and even 10 do not work. Planning on going back to the stable wine and DNS 10 for the time being.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #9 from JMBouchard@Comcast.net 2011-09-13 17:37:07 CDT --- As of Wine 1.3.28, DNS 10 installs and runs fine, however, DNS 11 will not install.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #10 from Susan Cragin susancragin@earthlink.net 2011-09-13 17:42:58 CDT --- (In reply to comment #9)
As of Wine 1.3.28, DNS 10 installs and runs fine, however, DNS 11 will not install.
That's bug 28327
http://bugs.winehq.org/show_bug.cgi?id=27956
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lukasz.wojnilowicz@gmail.co | |m
--- Comment #11 from NSLW lukasz.wojnilowicz@gmail.com 2011-09-17 10:21:05 CDT --- I've got the same problem with Rosetta Stone 3.4.7. On Wine 1.3.25 I have no microphones available, but on Wine 1.3.24 everything is OK. I use ALSA driver. Wine 1.3.28 doesn't solve it. Regression test gives:
ccd2a241399c011b2afb183c4ffffec20a68cab4 is the first bad commit commit ccd2a241399c011b2afb183c4ffffec20a68cab4 Author: Andrew Eikum aeikum@codeweavers.com Date: Wed Jul 13 14:20:37 2011 -0500
winmm: Remove driver implementation of mixer*.
:040000 040000 a31b52263e09d8c1f941de02daaa8c32d5372d2c 3d0e5786be14ebaa13b08f4cd4234ddcbf112eb1 M dlls
So I advise to add Andrew Eikum to cc list and to change status from UNCONFIRMED to NEW.
As additional info I can say that during regression test I sometimes got 4 input sources to choose from, that is:
default - Mic default - Digital HDA Intel - ALC888 Analog - Mic HDA Intel - ALC888 Analog - Digital
On Wine 1.3.24 only two are shown (and that's OK), that is:
ALC888 Analog - Mic ALC888 Analog - Digital
http://bugs.winehq.org/show_bug.cgi?id=27956
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |dank@kegel.com Ever Confirmed|0 |1 Regression SHA1| |ccd2a241399c011b2afb183c4ff | |ffec20a68cab4
--- Comment #12 from Dan Kegel dank@kegel.com 2011-09-17 11:06:33 CDT --- Regressed, confirmed, so adding sha1 and marking new.
http://bugs.winehq.org/show_bug.cgi?id=27956
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #13 from Andrew Eikum aeikum@codeweavers.com 2011-09-19 07:41:50 CDT --- Please attach logs as requested at http://wiki.winehq.org/Sound.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #14 from Susan Cragin susancragin@earthlink.net 2011-09-19 08:40:20 CDT --- Created an attachment (id=36461) --> (http://bugs.winehq.org/attachment.cgi?id=36461) log from WINEDBG session running winecfg
I have Ubuntu Oneiric with all updates. Compiled wine yesterday. wine-1.3.28-308-gae80430 My system is set up so that my default sound card is my USB. When testing, I plugged the USB in, and ran winecfg, which is the easiest way to get an error. Under "audio" I pushed the button "test sound" and the test failed.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #15 from Susan Cragin susancragin@earthlink.net 2011-09-19 08:54:39 CDT --- Created an attachment (id=36462) --> (http://bugs.winehq.org/attachment.cgi?id=36462) same as above without pulseaudio
I ran the same test as above, but first disabled pulse by editing /etc/pulse/client.conf to set autospawn to "no" and then killall pulseaudio Results look pretty similar.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #16 from Andrew Eikum aeikum@codeweavers.com 2011-09-19 09:08:08 CDT --- Created an attachment (id=36463) --> (http://bugs.winehq.org/attachment.cgi?id=36463) winmm: Don't special-case handling non-PCM formats
Thanks for the logs. Can you apply this patch and retry?
http://bugs.winehq.org/show_bug.cgi?id=27956
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #36463|0 |1 is obsolete| |
--- Comment #17 from Andrew Eikum aeikum@codeweavers.com 2011-09-19 09:22:50 CDT --- Created an attachment (id=36464) --> (http://bugs.winehq.org/attachment.cgi?id=36464) winmm: Don't special-case handling non-PCM formats (fixed)
I'm sorry, that patch probably doesn't apply. This one should.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #18 from Susan Cragin susancragin@earthlink.net 2011-09-19 11:51:24 CDT --- Created an attachment (id=36467) --> (http://bugs.winehq.org/attachment.cgi?id=36467) Tried winecfg with patch
The audio test in winecfg still fails with the message "Audio test fails." I have attached the winedbg log. Could there be something wrong with the audio test? I just tried running windows / wine's version of audacity, and that seems to work. I am not able to test with Dragon NaturallySpeaking because that has other problems and does not run. see bug 28382
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #19 from Andrew Eikum aeikum@codeweavers.com 2011-09-21 08:48:30 CDT --- Forgive me, but are you sure you applied the patch and rebuilt winmm? The log you gave is basically identical to the one without the patch, and I would expect them to behave differently. Specifically, with the patch applied, WINMM_TryDeviceMapping should be called with many different format attempts, instead of just two.
If you are building with -Werror, there's a good possibility that the compile failed, since the patch I gave is just a quick, experimental hack. Can you verify that you're trying with the patch applied and built?
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #20 from Andrew Eikum aeikum@codeweavers.com 2011-09-21 09:44:53 CDT --- Well regardless, I did a little more looking into this. What's happening is winecfg's audio file is in mono ADPCM format. ADPCM has to get converted into PCM before being sent to MMDevAPI. We have the ability to do this through msacm32 and imaadp32.acm.
However, imaadp32.acm only supports converting between equal numbers of channels (stereo ADPCM to stereo PCM, or mono ADPCM to mono PCM). Your audio hardware claims not to support mono audio. So we are asking imaadp32.acm to convert from mono ADPCM to stereo PCM, which it cannot do. Windows's ADPCM driver doesn't support this either.
So there's a couple routes to fix this.
We have other msacm32 conversions for stereo <=> mono PCM. So we could chain several conversions together in WinMM to create mono ADPCM => mono PCM => stereo PCM. This might take some thought to avoid infinite chains. This has the advantage of working with any driver backend. But it might not be what Windows does.
Another possibility is to write simple conversion routines in winealsa.drv so that every device supports both stereo and mono sound, either through ALSA or through this crude mixer. This has less opportunity for things to go wrong.
I'll work on investigating how Windows handles this type of situation.
http://bugs.winehq.org/show_bug.cgi?id=27956
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hoehle@users.sourceforge.ne | |t
--- Comment #21 from Jörg Höhle hoehle@users.sourceforge.net 2011-09-21 15:21:30 CDT --- I would not be opposed to an msacm chain. Not of any length, but to accommodate PCM formats. I'm not sure native would not daisy chain converters if really needed - otherwise the PCM rate converter in msacm is probably never used.
The current code produces surprising results: Given the msacm resampler, the wave mapper will accept any PCM rate, but ADPCM only at the rate supported by the HW. This is not round.
Back in the old days, probably every card would accept mono.
In the modern mmdevapi days, note how native winmm:wave tests report "all WINMM formats supported" (formats=fffff) whereas my mmdeapi:render format tests reports that AudioClient:IsFormatSupported solely supports 44100 and 48000 16bit stereo (in exclusive mode, which presumably reveals what the HW really can), which is typical of modern cards.
Obviously, Vista-w7 close the gap and provide both resampling, channel and bit width conversion to winmm.
Wine behaves differently and relies on the underlying ALSA/OSS/CoreAudio to close the gap beside what msacm can do. This works on my machine with the default device that is either plug:dmix or PulseAudio which can support mono, but the individual hw:0 device can't. plughw:0 can.
Wine should strive for more HW independence and provide the same user experience on all machines.
so that every device supports both stereo and mono sound
Native doen't seem to do that at the mmdevapi (IsFormatSupported) level, yet the past Vista winmm rewrite supports all formats, mono or stereo. Native mmdevapi is documented to accept and convert 8/16 bit (verified by my tests).
Susan, can you trick the registry so as to use plughw:x,y as your device instead of the raw hw:x,y? The plug ALSA thing will do channel "mapping". Are you telling the app to use one of the enumerated & named devices or does it simply use "default" / device -1 or 0?
Maybe winealsa should use plughw instead of hw for the enumerated devices? What does OSS allow?
What I don't yet understand is: why was there a change with wine-1.3.25? The winmm devices ought to report no less supported formats than before because naively, they map to hw:x,y where nothing changed. What is different?
I'll work on investigating how Windows handles this type of situation.
Great. I have doubts that Wine handles WAVE_FORMAT_DIRECT etc. correctly. But that's another story.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #22 from Andrew Eikum aeikum@codeweavers.com 2011-09-21 15:39:53 CDT --- (In reply to comment #21)
Wine behaves differently and relies on the underlying ALSA/OSS/CoreAudio to close the gap beside what msacm can do. This works on my machine with the default device that is either plug:dmix or PulseAudio which can support mono, but the individual hw:0 device can't. plughw:0 can.
Wine should strive for more HW independence and provide the same user experience on all machines.
This would be nice, but I really do not want to have a mixer in Wine. That's a pretty big project which is really suited for the audio API itself.
Susan, can you trick the registry so as to use plughw:x,y as your device instead of the raw hw:x,y? The plug ALSA thing will do channel "mapping".
You'll actually have to hack the winealsa.drv source as the MMDevAPI driver doesn't use the registry at all. There are two occurances of "hw:" in the code, but I don't know which need to be replaced. Should we be doing device enumeration in a different manner?
What I don't yet understand is: why was there a change with wine-1.3.25? The winmm devices ought to report no less supported formats than before because naively, they map to hw:x,y where nothing changed. What is different?
You can see the old device enumeration code at <dlls/winealsa.drv/waveinit.c:ALSA_ScanDevices> or so. It is a hideous, horrible, hacky mess. I didn't have much interest in copying that, so I just took a little inspiration and rewrote it. Perhaps a hideous, horrible, hacky mess is the best you can do with ALSA, though...
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #23 from Dan Kegel dank@kegel.com 2011-09-21 15:42:35 CDT ---
There are two occurances of "hw:" in the code, but I don't know which need to be replaced.
Isn't that what http://www.winehq.org/pipermail/wine-patches/2011-September/107097.html does?
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #24 from Jörg Höhle hoehle@users.sourceforge.net 2011-09-22 04:30:24 CDT ---
I really do not want to have a mixer in Wine.
I never looked at mixer code. ;) I agree that Wine should delegate to the OS if it gets too complex (well, there's quite a balance to find, same with gfx).
Yes, "plughw:X" should do the trick. So far I didn't write that patch because I've not investigated how to have apps do a best effort at using the OS mixer's frequency. A typical scenario that I wish to avoid is: - PulseAudio runs at 44100 (cast in stone?) - winecfg is set to 48000 - DSound app thus uses 48000; downsampling in PA occurs; then perhaps upsampling because the HW only supports 48000!
Or invert the scenario: - dmix runs at 48000 (settable in /etc/alsa...) - winecfg set to 44100 - DSound app thus uses 44100 but might happily service 48000; wasteful upsampling occurs in dmix
Now throw in msacm: - ADPCM 8000 -> PCM 8000 is upsampled to 44100/48000 by PA/dmix; - ADPCM 8000 -> PCM 8000 might be accepted without resampling by hw:0 (depends on the HW); - At all cost, avoid ADPCM 8000 -> 44100 in Wine then resample to something else in plughw.
Of course, one could use plughw and set SND_PCM_NO_AUTO_RESAMPLE just to get channel and bitwidth conversion. BTW, I believe that these SND_PCM_NO_AUTO_* flags have no effect unless one of the plug devices is used.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #25 from Susan Cragin susancragin@earthlink.net 2011-09-22 06:12:16 CDT ---
- dmix runs at 48000 (settable in /etc/alsa...)
No more /etc/alsa in oneiric.
http://bugs.winehq.org/show_bug.cgi?id=27956
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #36464|0 |1 is obsolete| |
--- Comment #26 from Andrew Eikum aeikum@codeweavers.com 2011-09-27 08:54:45 CDT --- Created attachment 36579 --> http://bugs.winehq.org/attachment.cgi?id=36579 winmm: Chain two ACM conversion streams together to support more formats
Here's a patch which implements the ACM chain I mentioned above, although your problem might already have been solved by Henri's plughw patch.
Susan, can you check if Henri's patch 232893e0832bf5082285995303c482d50570e5ff solved the issue? If not, can you apply this patch and try again?
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #27 from Susan Cragin susancragin@earthlink.net 2011-09-28 10:08:57 CDT ---
Susan, can you check if Henri's patch 232893e0832bf5082285995303c482d50570e5ff solved the issue? If not, can you apply this patch and try again?
Henri's patch solved the issue. (9/27 git used.) Winecfg's button now works and the sound button worked, and I heard a sound. I am still unable to test with NatSpeak because of my installation issue. Let me know if you want me to re-test when the installation is resolved. Andrew I did not try your patch.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #28 from Raymond superquad.vortex2@gmail.com 2011-10-10 06:06:25 CDT --- (In reply to comment #26)
Created attachment 36579 [details] winmm: Chain two ACM conversion streams together to support more formats
winecfg 's test sound (0.5 second idw_testsound.wav" seem play faster with tbis patch
Does your patch increase the total bytes of 8/16 bits pcm streams when you decode 4 bit adpcm ?
http://bugs.winehq.org/show_bug.cgi?id=27956
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |232893e0832bf5082285995303c | |482d50570e5ff Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #29 from Andrew Eikum aeikum@codeweavers.com 2011-10-17 15:11:53 CDT --- This is fixed by Henri's patch. I'm going to hang on to that ACM chaining patch until this issue comes up again. I'd rather not add that complexity if our backends provide that service anyway.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #30 from Raymond superquad.vortex2@gmail.com 2011-10-17 19:20:36 CDT --- (In reply to comment #25)
- dmix runs at 48000 (settable in /etc/alsa...)
No more /etc/alsa in oneiric.
it is in /usr/share/alsa/alsa.conf in ubuntu 11.10
but it is not easy to remove pulseaudio
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #31 from Raymond superquad.vortex2@gmail.com 2011-10-17 19:22:06 CDT --- (In reply to comment #29)
This is fixed by Henri's patch. I'm going to hang on to that ACM chaining patch until this issue comes up again. I'd rather not add that complexity if our backends provide that service anyway.
How about WAVE_FORMAT_DIRECT which is supposed to disable Audio Compression Manager (ACM) ?
http://bugs.winehq.org/show_bug.cgi?id=27956
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #32 from Alexandre Julliard julliard@winehq.org 2011-10-21 13:50:26 CDT --- Closing bugs fixed in 1.3.31.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #33 from NSLW lukasz.wojnilowicz@gmail.com 2011-10-29 05:16:39 CDT --- (In reply to comment #32)
Closing bugs fixed in 1.3.31.
I still have no mic to choose from in Rosetta Stone.
I'm using wine-1.3.31-172-g7df0245. In winecfg I can choose only "HDA Intel - ALC888 Analog" or "default" but none of them appears in Rosetta Stone.
Wine 1.3.24 still works.
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #34 from Andrew Eikum aeikum@codeweavers.com 2011-10-31 07:59:47 CDT --- (In reply to comment #33)
(In reply to comment #32)
Closing bugs fixed in 1.3.31.
I still have no mic to choose from in Rosetta Stone.
I'm using wine-1.3.31-172-g7df0245. In winecfg I can choose only "HDA Intel - ALC888 Analog" or "default" but none of them appears in Rosetta Stone.
Wine 1.3.24 still works.
NSLW, please file a new bug and add me in the CC field. See http://wiki.winehq.org/Sound for information to include when you open the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #35 from NSLW lukasz.wojnilowicz@gmail.com 2011-11-30 11:24:33 CST --- New bug regarding Rosetta Stone and faulty commit is reported as bug #29207.