Getting audio out of HDMI was relatively simple but getting anything more than stereo is proving challenging. I have upgraded my Alsa dirvers/libs/utils to the latest release v1.0.21 so I have the latest NVidia HDA drivers which include 8ch support. I modified the code to change the Info string to be sure that 8ch was being used instead of the 2ch version (can be seen when doing an aplay -l)
Under Linux I have used speaker-test -c6 -Dhdmi and XBMC, both only produce stereo from 5.1 based sources.
I have tested this box with a install of Windows 7 RC and was able to get 5.1 audio so I am happy that it can work with my setup.
Any help much appreciated, dump of alsa-info.sh below.
Thanks
Mark
!!################################
!!ALSA Information Script v 0.4.58
!!################################
!!Script ran on: Wed Sep 30 10:49:38 UTC 2009
!!Linux Distribution
!!------------------
Ubuntu 9.04 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 9.04"
!!DMI Information
!!---------------
Manufacturer: To Be Filled By O.E.M.
Product Name: To Be Filled By O.E.M.
!!Kernel Information
!!------------------
Kernel release: 2.6.28-14-generic
Operating System: GNU/Linux
Architecture: i686
Processor: unknown
SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version: 1.0.21
Library version: 1.0.21a
Utilities version: 1.0.21
!!Loaded ALSA modules
!!-------------------
snd_hda_intel
!!Sound Servers on this system
!!----------------------------
No sound servers found.
!!Soundcards recognised by ALSA
!!-----------------------------
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfae78000 irq 23
!!PCI Soundcards installed in the system
!!--------------------------------------
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------
00:08.0 0403: 10de:0ac0 (rev b1)
Subsystem: 174b:437b
!!Modprobe options (Sound related)
!!--------------------------------
snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-usb-audio: index=-2
snd-usb-us122l: index=-2
snd-usb-usx2y: index=-2
snd-usb-caiaq: index=-2
snd-cmipci: mpu_port=0x330 fm_port=0x388
snd-pcsp: index=-2
!!Loaded sound module options
!!--------------------------
!!Module: snd_hda_intel
bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1
enable : Y,Y,Y,Y,Y,Y,Y,Y
enable_msi : 0
id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
index : -1,-1,-1,-1,-1,-1,-1,-1
model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
position_fix : 0,0,0,0,0,0,0,0
power_save : 0
power_save_controller : Y
probe_mask : -1,-1,-1,-1,-1,-1,-1,-1
probe_only : N,N,N,N,N,N,N,N
single_cmd : N
!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Nvidia MCP7A HDMI
Address: 3
Function Id: 0x1
Vendor Id: 0x10de0007
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
rates [0x0]:
bits [0x0]:
formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x18560110: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x04
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560121: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x1
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x06
Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560122: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x2
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x08
Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560123: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x3
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0a
Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560124: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x4
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0c
--endcollapse--
!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 0 Sep 30 22:04 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 7 Sep 30 22:04 /dev/snd/hwC0D3
crw-rw----+ 1 root audio 116, 19 Sep 30 23:27 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116, 1 Sep 30 22:04 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Sep 30 22:04 /dev/snd/timer
!!ALSA configuration files
!!------------------------
!!User specific config file (~/.asoundrc)
pcm.!default {
type plug
slave.pcm "hw:0,3"
}
!!Aplay/Arecord output
!!------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI 8ch [NVIDIA HDMI 8ch]
Subdevices: 0/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [NVidia]
Card hw:0 'NVidia'/'HDA NVidia at 0xfae78000 irq 23'
Mixer name : 'Nvidia MCP7A HDMI'
Components : 'HDA:10de0007,10de0101,00100100'
Controls : 4
Simple ctrls : 1
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
!!Alsactl output
!!-------------
--startcollapse--
state.NVidia {
control.1 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.2 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.3 {
comment.access 'read write locked'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0482000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.4 {
comment.access 'read write locked'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value true
}
}
--endcollapse--
!!All Loaded Modules
!!------------------
Module
bridge
stp
bnep
lirc_serial
lirc_dev
autofs4
video
output
input_polldev
snd_hda_codec_nvhdmi
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm_oss
snd_mixer_oss
snd_pcm
snd_seq_dummy
snd_seq_oss
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
snd_seq
arc4
ecb
snd_timer
snd_seq_device
ath9k
mac80211
snd
soundcore
nvidia
cfg80211
snd_page_alloc
shpchp
pcspkr
agpgart
led_class
nfs
lockd
nfs_acl
sunrpc
usbhid
forcedeth
fbcon
tileblit
font
bitblit
softcursor
!!Sysfs Files
!!-----------
/sys/class/sound/hwC0D3/init_pin_configs:
0x05 0x18560110
0x07 0x58560121
0x09 0x58560122
0x0b 0x58560123
0x0d 0x58560124
/sys/class/sound/hwC0D3/driver_pin_configs:
/sys/class/sound/hwC0D3/user_pin_configs:
/sys/class/sound/hwC0D3/init_verbs:
!!ALSA/HDA dmesg
!!------------------
[ 10.472103] udev: renamed network interface wlan0 to wlan1
[ 10.746274] HDA Intel 0000:00:08.0: power state changed by ACPI to D0
[ 10.747278] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 23
[ 10.747288] HDA Intel 0000:00:08.0: PCI INT A -> Link[LAZA] -> GSI 23 (level, low) -> IRQ 23
[ 10.747428] HDA Intel 0000:00:08.0: setting latency timer to 64
[ 14.384016] eth0: no IPv6 routers present
!!################################
!!Script ran on: Wed Sep 30 10:49:38 UTC 2009
!!Linux Distribution
!!------------------
Ubuntu 9.04 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 9.04"
!!DMI Information
!!---------------
Manufacturer: To Be Filled By O.E.M.
Product Name: To Be Filled By O.E.M.
!!Kernel Information
!!------------------
Kernel release: 2.6.28-14-generic
Operating System: GNU/Linux
Architecture: i686
Processor: unknown
SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version: 1.0.21
Library version: 1.0.21a
Utilities version: 1.0.21
!!Loaded ALSA modules
!!-------------------
snd_hda_intel
!!Sound Servers on this system
!!----------------------------
No sound servers found.
!!Soundcards recognised by ALSA
!!-----------------------------
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfae78000 irq 23
!!PCI Soundcards installed in the system
!!--------------------------------------
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------
00:08.0 0403: 10de:0ac0 (rev b1)
Subsystem: 174b:437b
!!Modprobe options (Sound related)
!!--------------------------------
snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-usb-audio: index=-2
snd-usb-us122l: index=-2
snd-usb-usx2y: index=-2
snd-usb-caiaq: index=-2
snd-cmipci: mpu_port=0x330 fm_port=0x388
snd-pcsp: index=-2
!!Loaded sound module options
!!--------------------------
!!Module: snd_hda_intel
bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1
enable : Y,Y,Y,Y,Y,Y,Y,Y
enable_msi : 0
id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
index : -1,-1,-1,-1,-1,-1,-1,-1
model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
position_fix : 0,0,0,0,0,0,0,0
power_save : 0
power_save_controller : Y
probe_mask : -1,-1,-1,-1,-1,-1,-1,-1
probe_only : N,N,N,N,N,N,N,N
single_cmd : N
!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Nvidia MCP7A HDMI
Address: 3
Function Id: 0x1
Vendor Id: 0x10de0007
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
rates [0x0]:
bits [0x0]:
formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x18560110: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x04
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560121: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x1
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x06
Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560122: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x2
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x08
Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560123: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x3
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0a
Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=5, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560124: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x2, Sequence = 0x4
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0c
--endcollapse--
!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 0 Sep 30 22:04 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 7 Sep 30 22:04 /dev/snd/hwC0D3
crw-rw----+ 1 root audio 116, 19 Sep 30 23:27 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116, 1 Sep 30 22:04 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Sep 30 22:04 /dev/snd/timer
!!ALSA configuration files
!!------------------------
!!User specific config file (~/.asoundrc)
pcm.!default {
type plug
slave.pcm "hw:0,3"
}
!!Aplay/Arecord output
!!------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI 8ch [NVIDIA HDMI 8ch]
Subdevices: 0/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [NVidia]
Card hw:0 'NVidia'/'HDA NVidia at 0xfae78000 irq 23'
Mixer name : 'Nvidia MCP7A HDMI'
Components : 'HDA:10de0007,10de0101,00100100'
Controls : 4
Simple ctrls : 1
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
!!Alsactl output
!!-------------
--startcollapse--
state.NVidia {
control.1 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.2 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.3 {
comment.access 'read write locked'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0482000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.4 {
comment.access 'read write locked'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value true
}
}
--endcollapse--
!!All Loaded Modules
!!------------------
Module
bridge
stp
bnep
lirc_serial
lirc_dev
autofs4
video
output
input_polldev
snd_hda_codec_nvhdmi
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm_oss
snd_mixer_oss
snd_pcm
snd_seq_dummy
snd_seq_oss
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
snd_seq
arc4
ecb
snd_timer
snd_seq_device
ath9k
mac80211
snd
soundcore
nvidia
cfg80211
snd_page_alloc
shpchp
pcspkr
agpgart
led_class
nfs
lockd
nfs_acl
sunrpc
usbhid
forcedeth
fbcon
tileblit
font
bitblit
softcursor
!!Sysfs Files
!!-----------
/sys/class/sound/hwC0D3/init_pin_configs:
0x05 0x18560110
0x07 0x58560121
0x09 0x58560122
0x0b 0x58560123
0x0d 0x58560124
/sys/class/sound/hwC0D3/driver_pin_configs:
/sys/class/sound/hwC0D3/user_pin_configs:
/sys/class/sound/hwC0D3/init_verbs:
!!ALSA/HDA dmesg
!!------------------
[ 10.472103] udev: renamed network interface wlan0 to wlan1
[ 10.746274] HDA Intel 0000:00:08.0: power state changed by ACPI to D0
[ 10.747278] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 23
[ 10.747288] HDA Intel 0000:00:08.0: PCI INT A -> Link[LAZA] -> GSI 23 (level, low) -> IRQ 23
[ 10.747428] HDA Intel 0000:00:08.0: setting latency timer to 64
[ 14.384016] eth0: no IPv6 routers present
------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user