Audio over HDMI

From LinuxMCE
Revision as of 09:05, 15 January 2009 by Nite man (Talk | contribs)

Jump to: navigation, search


That article is started to help people get audio over HDMI. Feel free to post here your experience!

Generally it's possible with kernel 2.6.27 and ALSA 1.0.18. A few notes here. First of all, note that DVI port support video signal only. It's possible to inject audio signal to external video card from the S/PDIF using SPDIF_HDMI headers. Usually integrated video card with HDMI port have possibility to pass audio as well.

nVidia

nVidia doesn't provide a separate card for HD. Instead of that it offers a separate device:

linuxmce@dcerouter:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC883 Digital [ALC883 Digital]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
linuxmce@dcerouter:~$ aplay -L
default:CARD=NVidia
   HDA NVidia, ALC888 Analog
   Default Audio Device
front:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   Front speakers
surround40:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
   HDA NVidia, ALC888 Analog
   7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=NVidia,DEV=0
   HDA NVidia
   HDMI Audio Output
null
   Discard all samples (playback) or generate zero samples (capture)

If you don't see HDA NVidia in the aplay -L output that means you card is not recognized by system correctly. Here is a correct output of lspci:

lspci -v
(only the relevant portion):
00:07.0 Audio device: nVidia Corporation MCP78S [GeForce 8200] High Definition Audio (rev a1)

Subsystem: ASUSTeK Computer Inc. Device 82fe Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20 Memory at fcf78000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: HDA Intel Kernel modules: snd-hda-intel

The alsamixer should should three digital devices: IEC958, IEC958 D and ICE9581. All of them should be unmuted. Then select 'HDA NVidia NVIDIA HDMI (ALSA)' as output for all items in 'Sound Prefrences' and select 'HDA NVidia (Alsa mixer)' as the mixer.

After that audio over HDMI should work.

ATI

Usually integrated ATI video cards come with separated HD sound card (for example, integrated ATI RadeonTM 1250). Sound over HDMI works fine with the latest Catalyst drivers.

See Also