Jump to content

NVidia GT220 HDMI sound: Difference between revisions

From LinuxMCE
Added notes on the GT220
 
Brought up to date for Ubuntu 10.10 and latest tests at Dianemo HQ
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Summary ==
== Summary ==
The nVidia GT220 (together with the other GT2xx cards) no longer has a S/PDIF input plug on it. Instead, it comes with a built-in sound card that isn't supported by ALSA yet.
The nVidia GT220 (together with the other GT2xx cards) no longer has a S/PDIF input plug on it. Instead, it comes with a built-in sound card. The driver snd-hda-intel drives the sound chip embedded on these cards.
 
There is some support since ALSA 1.0.22.


== Status ==
== Status ==
<b>Experimental</b>
<b>Sometimes it works, sometimes it doesn't</b>
 
* Sometimes it works:
** GT220 on motherboard Gigabyte GA-MA78GM-S2H
* Sometimes it doesn't:
** GT220 on motherboard Asus P7M-F WS


The people at XMBC have a page in that Wiki which points to a [http://wiki.xbmc.org/index.php?title=HOW-TO_set_up_HDMI_audio_on_nVidia_GeForce_G210,_GT220,_or_GT240 patch that makes sound work through the HDMI connector of the GT220 and GT240].
In both cases, the same two GT220 cards were used:  
* Asus model ENGT220/DI/1GD2(LP)/V2
* Asus model ENGT220/G/DI/1GD2(LP)/A &lt;GA&gt;
Both worked in the first case, none worked in the second case (no codecs found).


* PCM sound: works
== How to use ==
* Passthrough for AC3 and DTS: does not work
* GT240s have some issues with PCM


The patch from the XBMC wiki creates four sound devices for some reason (3, 7, 8, 9), but only one of them plays any sound: device 7. You need to unmute it with alsamixer.
=== Ubuntu 10.04 ===
Information needed


== Notes ==
=== Ubuntu 10.10 ===
Because the "hdmi" device is no longer valid with a GT220, I took the liberty of making the following changes, in order to maintain maximum software compatibility:
You don't need to do any hacks anymore. It either works or it doesn't.


* File: /etc/modprobe.d/gt220.conf
The device name will be "hdmi:$cardNumber", where $cardNumber is the corresponding card number from the /proc/asound/cards file.
options snd-hda-intel enable_msi=0 index=1


* File: /etc/asound.conf
For passthrough in Xine:
pcm.!hdmi {
        type hw
        card 1
        device 7
}
ctl.!hdmi {
        type hw
        card 1
        device 7
}


Notice that because of parameter "index=1" for snd-hda-intel, the card will always have index 1, even if you disable or remove your real sound card (either on-board or removing it from its PCI slot) so asound.conf doesn't need to track it.
audio.device.alsa_passthrough_device:hdmi:CARD=$cardNumber,AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2
audio.output.speaker_arrangement:Pass Through


Also notice that if your real sound card is driven by snd-hda-intel you may get unexpected results and you are expected to update this wiki page if you find a solution.
where $cardNumber is the card number from /proc/asound/cards as explained above.

Latest revision as of 18:47, 22 February 2011

Summary

The nVidia GT220 (together with the other GT2xx cards) no longer has a S/PDIF input plug on it. Instead, it comes with a built-in sound card. The driver snd-hda-intel drives the sound chip embedded on these cards.

There is some support since ALSA 1.0.22.

Status

Sometimes it works, sometimes it doesn't

  • Sometimes it works:
    • GT220 on motherboard Gigabyte GA-MA78GM-S2H
  • Sometimes it doesn't:
    • GT220 on motherboard Asus P7M-F WS

In both cases, the same two GT220 cards were used:

  • Asus model ENGT220/DI/1GD2(LP)/V2
  • Asus model ENGT220/G/DI/1GD2(LP)/A <GA>

Both worked in the first case, none worked in the second case (no codecs found).

How to use

Ubuntu 10.04

Information needed

Ubuntu 10.10

You don't need to do any hacks anymore. It either works or it doesn't.

The device name will be "hdmi:$cardNumber", where $cardNumber is the corresponding card number from the /proc/asound/cards file.

For passthrough in Xine:

audio.device.alsa_passthrough_device:hdmi:CARD=$cardNumber,AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2
audio.output.speaker_arrangement:Pass Through

where $cardNumber is the card number from /proc/asound/cards as explained above.