Re: Strange alsa behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2 Sep 2010, Cyril Russo wrote:


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).

It certainly the bug in the applications. I would push authors to fix this.

How come alsa list all channels as separate devices, at first ? Is it possible to change this ?

aplay -L shows the logical devices available for applications with the defined behaviour.

The -l variant shows hardware (or native driver) devices only.

					Jaroslav

-----
Jaroslav Kysela <perex@xxxxxxxx>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
------------------------------------------------------------------------------
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

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux