2010-02-05, 13:03
I finally got the Nvidia HDMI audio fully working with the help of very kind and patient nvidia engineer who helped me solve the issue over the course of 2 days.
UPDATE: This post is now outdated. Please check the xbmc wiki article for the complete and correct instructions.
This is with Arch-2.6.32, alsa-driver-1.0.22.1, nvidia 190.53. My card is a GT210 but I’m 99% sure this works with any GT2xx card.
TLDR: The key is setting the probe_mask for the HDMI card to 0xfff2, else alsa will use the card’s Realtek codec instead of the Nvidia codec it should be using.
Make sure your system is up-to-date and has the latest version of alsa (1.0.22.1) installed and running.
This will only work if alsamixer already recognizes your HDMI audio device with four (defunct) SPDIF outputs!
aplay -l should show you something similar to this, depending on how many sound devices you have in your system:
Card 1 is the Nvidia card in this example.
open /etc/modprobe.d/sound.conf and add this line:
If aplay -l shows Nvidia HDMI as card 0 you'll have to use this line:
or for card 2:
and so on.
Reboot and your HDMI audio out should work now.
You can test it with aplay -D plughw:1,3 aplay -D plughw:1,3 /usr/share/sounds/alsa/Noise.wav
where 1,3 obviously stands for card,device.
Go to the XBMC settings and set audio out and passthrough to HDA NVidia hdmi. Enjoy.
Update: If you can’t get your card to show up in alsamixer and aplay -l at all I suggest you take a look at paoleary’s patch for snd-hda-codec-hdmi.
Update 2: This GT220 owner found that these cards require an additional option in the alsa config: options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2
UPDATE: This post is now outdated. Please check the xbmc wiki article for the complete and correct instructions.
This is with Arch-2.6.32, alsa-driver-1.0.22.1, nvidia 190.53. My card is a GT210 but I’m 99% sure this works with any GT2xx card.
TLDR: The key is setting the probe_mask for the HDMI card to 0xfff2, else alsa will use the card’s Realtek codec instead of the Nvidia codec it should be using.
Make sure your system is up-to-date and has the latest version of alsa (1.0.22.1) installed and running.
This will only work if alsamixer already recognizes your HDMI audio device with four (defunct) SPDIF outputs!
aplay -l should show you something similar to this, depending on how many sound devices you have in your system:
Code:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
Card 1 is the Nvidia card in this example.
open /etc/modprobe.d/sound.conf and add this line:
Code:
options snd-hda-intel probe_mask=0xffff,0xfff2
If aplay -l shows Nvidia HDMI as card 0 you'll have to use this line:
Code:
options snd-hda-intel probe_mask=0xfff2
or for card 2:
Code:
options snd-hda-intel probe_mask=0xffff,0xffff,0xfff2
and so on.
Reboot and your HDMI audio out should work now.
You can test it with aplay -D plughw:1,3 aplay -D plughw:1,3 /usr/share/sounds/alsa/Noise.wav
where 1,3 obviously stands for card,device.
Go to the XBMC settings and set audio out and passthrough to HDA NVidia hdmi. Enjoy.
Update: If you can’t get your card to show up in alsamixer and aplay -l at all I suggest you take a look at paoleary’s patch for snd-hda-codec-hdmi.
Update 2: This GT220 owner found that these cards require an additional option in the alsa config: options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2