On Thu, 19 Aug 2010, Stephen Warren wrote: > The Azalia controller on NVIDIA GPUs gives 4 ALSA hw devices: > > (on card 1): > > [swarren@swarren-lx2 ~]$ sudo aplay -l > **** List of PLAYBACK Hardware Devices **** > card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 0: NVidia [HDA NVidia], device 3: ALC1200 Digital [ALC1200 Digital] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 1: NVidia_1 [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 1: NVidia_1 [HDA NVidia], device 7: NVIDIA HDMI [NVIDIA HDMI] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 1: NVidia_1 [HDA NVidia], device 8: NVIDIA HDMI [NVIDIA HDMI] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > card 1: NVidia_1 [HDA NVidia], device 9: NVIDIA HDMI [NVIDIA HDMI] > Subdevices: 1/1 > Subdevice #0: subdevice #0 > > ... all of which appear to work OK. > > However, the list of available "PCMs" from aplay -L doesn't expose them all: > > [swarren@swarren-lx2 ~]$ sudo aplay -L > front:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > Front speakers > surround40:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > 4.0 Surround output to Front and Rear speakers > surround41:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > 4.1 Surround output to Front, Rear and Subwoofer speakers > surround50:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > 5.0 Surround output to Front, Center and Rear speakers > surround51:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > 5.1 Surround output to Front, Center, Rear and Subwoofer speakers > surround71:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Analog > 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers > hdmi:CARD=NVidia,DEV=0 > HDA NVidia, ALC1200 Digital > HDMI Audio Output > null > Discard all samples (playback) or generate zero samples (capture) > pulse > Playback/recording through the PulseAudio sound server > hdmi:CARD=NVidia_1 > HDA NVidia, NVIDIA HDMI > HDMI Audio Output > > Similarly, pulseaudio only shows one output for the GPU; I assume it uses > the same enumeration mechanism for ALSA sinks as "aplay -L". > > Instead, I imagined that I'd see 4 PCMs listed by "aplay -L"; one for each > converter. Is this an incorrect assumption? How would I make that happen? There is a bug in alsa-lib to namehint.c. The code assumes that hw device number is similar to logical device numbers which is not true in case of your HDMI devices: 3, 7, 8, 9 The fallback code is used and only first logical device 0 is created. Could you test this patch? http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=97d25c0766405453d3c298bd51dd4916121a4f6a PulseAudio uses different device enumeration, so ask on their mailing list. Jaroslav ----- Jaroslav Kysela <perex@xxxxxxxx> Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel