http://bugs.winehq.org/show_bug.cgi?id=16463
Summary: ALSA has to be "jump started" by another app when using a Terratec Dmx 6fire card (ice1712 driver) Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: winmm&mci AssignedTo: wine-bugs@winehq.org ReportedBy: robert.broglia@gmail.com
When using this multi-channel sound card on wine, it doesn't work unless another app has already opened it and made dmix active (or dsnoop for input). I'm using ALSA 1.0.18 with the default out-of-box configuration on Gentoo (no .asoundrc file).
The problem lies in wine's ALSA_TestDeviceForWine function because it tries to open the card using hw:[card],[device] and eventually fails on snd_pcm_hw_params_set_channels(pcm, hwparams, 2) because the card can't be set to only 2 channels when using the hardware device directly. When the card has already been opened by another program via "plughw" or "default", opening the card using "hw" seems to redirect to "plughw" automatically and wine succeeds in setting 2 channels.
I tried changing ALSA_TestDeviceForWine to use plughw:[card],[device] and all playback/recording worked perfectly without needing another app to previously open dmix/dsnoop. Is there some reason this isn't the default behaviour or there isn't a registry option for it? I would assume other cards that can't be set to 2 channels in hardware are affected as well.