Le 02/09/2010 15:52, Jaroslav Kysela a écrit : > > On Thu, 2 Sep 2010, Cyril Russo wrote: > >> >> Hi, >> >> I've an issue with my new Creative Audigy sound card. >> I'm using a Debian Squeeze (with official 2.6.32-5-amd64 kernel) system. >> I've done this step to ensure I'm using the latest version: >> sudo module-assistant auto-install alsa (which installed the driver from >> alsa-driver 1.0.23's package) >> >> The sound card is correctly detected and it's working, but I've an >> issue, in that each channel appears as a different device. >> So in all the software using Alsa I have to select a device and it >> outputs on a single stereo channel for this particular device. >> >> For example, this command lists: >> # aplay -l >> **** List of PLAYBACK Hardware Devices **** >> card 0: CA0106 [CA0106], device 0: ca0106 [CA0106] >> Subdevices: 1/1 >> Subdevice #0: subdevice #0 >> card 0: CA0106 [CA0106], device 1: ca0106 [CA0106] >> Subdevices: 1/1 >> Subdevice #0: subdevice #0 >> card 0: CA0106 [CA0106], device 2: ca0106 [CA0106] >> Subdevices: 1/1 >> Subdevice #0: subdevice #0 >> card 0: CA0106 [CA0106], device 3: ca0106 [CA0106] >> Subdevices: 1/1 >> Subdevice #0: subdevice #0 >> >> Here the /proc/asound dump: >> # find /proc/asound/ >> /proc/asound/ >> /proc/asound/CA0106 >> /proc/asound/card0 >> /proc/asound/card0/id >> /proc/asound/card0/midi0 >> /proc/asound/card0/iec958 >> /proc/asound/card0/ca0106_reg32 >> /proc/asound/card0/ca0106_reg16 >> /proc/asound/card0/ca0106_reg8 >> /proc/asound/card0/ca0106_regs1 >> /proc/asound/card0/ca0106_i2c >> /proc/asound/card0/ca0106_regs2 >> /proc/asound/card0/pcm3c >> /proc/asound/card0/pcm3c/sub0 >> /proc/asound/card0/pcm3c/sub0/prealloc_max >> /proc/asound/card0/pcm3c/sub0/prealloc >> /proc/asound/card0/pcm3c/sub0/status >> /proc/asound/card0/pcm3c/sub0/sw_params >> /proc/asound/card0/pcm3c/sub0/hw_params >> /proc/asound/card0/pcm3c/sub0/info >> /proc/asound/card0/pcm3c/info >> /proc/asound/card0/pcm3p >> /proc/asound/card0/pcm3p/sub0 >> /proc/asound/card0/pcm3p/sub0/prealloc_max >> /proc/asound/card0/pcm3p/sub0/prealloc >> /proc/asound/card0/pcm3p/sub0/status >> /proc/asound/card0/pcm3p/sub0/sw_params >> /proc/asound/card0/pcm3p/sub0/hw_params >> /proc/asound/card0/pcm3p/sub0/info >> /proc/asound/card0/pcm3p/info >> /proc/asound/card0/pcm2c >> /proc/asound/card0/pcm2c/sub0 >> /proc/asound/card0/pcm2c/sub0/prealloc_max >> /proc/asound/card0/pcm2c/sub0/prealloc >> /proc/asound/card0/pcm2c/sub0/status >> /proc/asound/card0/pcm2c/sub0/sw_params >> /proc/asound/card0/pcm2c/sub0/hw_params >> /proc/asound/card0/pcm2c/sub0/info >> /proc/asound/card0/pcm2c/info >> /proc/asound/card0/pcm2p >> /proc/asound/card0/pcm2p/sub0 >> /proc/asound/card0/pcm2p/sub0/prealloc_max >> /proc/asound/card0/pcm2p/sub0/prealloc >> /proc/asound/card0/pcm2p/sub0/status >> /proc/asound/card0/pcm2p/sub0/sw_params >> /proc/asound/card0/pcm2p/sub0/hw_params >> /proc/asound/card0/pcm2p/sub0/info >> /proc/asound/card0/pcm2p/info >> /proc/asound/card0/pcm1c >> /proc/asound/card0/pcm1c/sub0 >> /proc/asound/card0/pcm1c/sub0/prealloc_max >> /proc/asound/card0/pcm1c/sub0/prealloc >> /proc/asound/card0/pcm1c/sub0/status >> /proc/asound/card0/pcm1c/sub0/sw_params >> /proc/asound/card0/pcm1c/sub0/hw_params >> /proc/asound/card0/pcm1c/sub0/info >> /proc/asound/card0/pcm1c/info >> /proc/asound/card0/pcm1p >> /proc/asound/card0/pcm1p/sub0 >> /proc/asound/card0/pcm1p/sub0/prealloc_max >> /proc/asound/card0/pcm1p/sub0/prealloc >> /proc/asound/card0/pcm1p/sub0/status >> /proc/asound/card0/pcm1p/sub0/sw_params >> /proc/asound/card0/pcm1p/sub0/hw_params >> /proc/asound/card0/pcm1p/sub0/info >> /proc/asound/card0/pcm1p/info >> /proc/asound/card0/pcm0c >> /proc/asound/card0/pcm0c/sub0 >> /proc/asound/card0/pcm0c/sub0/prealloc_max >> /proc/asound/card0/pcm0c/sub0/prealloc >> /proc/asound/card0/pcm0c/sub0/status >> /proc/asound/card0/pcm0c/sub0/sw_params >> /proc/asound/card0/pcm0c/sub0/hw_params >> /proc/asound/card0/pcm0c/sub0/info >> /proc/asound/card0/pcm0c/info >> /proc/asound/card0/pcm0p >> /proc/asound/card0/pcm0p/sub0 >> /proc/asound/card0/pcm0p/sub0/prealloc_max >> /proc/asound/card0/pcm0p/sub0/prealloc >> /proc/asound/card0/pcm0p/sub0/status >> /proc/asound/card0/pcm0p/sub0/sw_params >> /proc/asound/card0/pcm0p/sub0/hw_params >> /proc/asound/card0/pcm0p/sub0/info >> /proc/asound/card0/pcm0p/info >> /proc/asound/pcm >> /proc/asound/timers >> /proc/asound/modules >> /proc/asound/cards >> /proc/asound/devices >> /proc/asound/version >> /proc/asound/seq >> /proc/asound/seq/timer >> /proc/asound/seq/clients >> /proc/asound/seq/queues >> /proc/asound/seq/drivers >> /proc/asound/oss >> /proc/asound/oss/sndstat >> /proc/asound/oss/devices >> >> # cat /proc/asound/cards >> 0 [CA0106 ]: CA0106 - CA0106 >> Audigy SE [SB0570] at 0xcf00 irq 18 >> >> # cat /proc/asound/devices >> 0: [ 0] : control >> 1: : sequencer >> 8: [ 0- 0]: raw midi >> 16: [ 0- 0]: digital audio playback >> 17: [ 0- 1]: digital audio playback >> 18: [ 0- 2]: digital audio playback >> 19: [ 0- 3]: digital audio playback >> 24: [ 0- 0]: digital audio capture >> 25: [ 0- 1]: digital audio capture >> 26: [ 0- 2]: digital audio capture >> 27: [ 0- 3]: digital audio capture >> 33: : timer >> >> >> I've an empty .asoundrc (Using a more complex .asoundrc I'm able to >> duplicate a channel to all other channels, but it's only duplication, >> it's the same sound on all channels) >> As such the audio softwares usually list this while enumerating the >> devices: >> ALSA device: hw:CA0106,0 outs=2-2 ins=2-2 rates=3 >> ALSA device: hw:CA0106,1 outs=2-2 ins=2-2 rates=3 >> ALSA device: hw:CA0106,2 outs=2-2 ins=2-2 rates=3 >> ALSA device: hw:CA0106,3 outs=2-2 ins=2-2 rates=3 >> >> I want them to list a single device with 8 outputs, and not 4 devices >> with 2 outputs. >> I have other systems with different sound cards and it's the first time >> I'm seeing this. > > Use surround71 device (like 'aplay -D plug:surround71'). It combines > the stereo devices to a 8-channel device. Hi, Yes, that's what I've did (used speaker-test and a redirection in .asoundrc, but it's the same idea). However some software don't allow to set up the audio device as a text, but instead enumerate them using alsa's functions. In that case, I can't set them to plug:surround71, and I can only select one of the devices (stereo pair). How come alsa list all channels as separate devices, at first ? Is it possible to change this ? For information, I've put this inside my .asoundrc : pcm.!default { type plug slave.pcm "multi" } pcm.multi { type multi; slaves.a.pcm "hw:0,0"; slaves.a.channels 2; slaves.b.pcm "hw:0,1"; slaves.b.channels 2; slaves.c.pcm "hw:0,2"; slaves.c.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; bindings.4.slave c; bindings.4.channel 0; bindings.5.slave c; bindings.5.channel 1; } Best regards, Cyril ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user