Alsa Explanation

Due to the high number of Alsa related questions here’s some background and explanation. For the Nvidia ION users; there are two options. You are using a first generation Nvidia ION system, like the Acer Revo R3610 or you’re using a second generation system like the Zotac HD11.

The first generation Nvidia ION users are lucky, because the latest version of alsa and ubuntu will automatically detect and apply the correct settings for your sound card.

Second gen ION users don’t have to worry. The only thing they need to do is to make a configuration file adjustment.

How am I certain which Nvidia ION chipset I’m using. They key answer is the output of the following command:

lspci -nn | grep ’0403′

Here’s an example:

00:08.0 Audio device [0403]: nVidia Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1)

10de:0ac0 means first gen Nvidia ION.

10de:0be3 means second gen Nvidia ION. I haven’t tested any Nvidia GTxxx cards.

If you own a second gen ION system I told you to make an adjustment. Type the following command and watch the line with NVIDIA HDMI:

aplay -l

Now we need to adjust the configuration file /etc/modprobe.d/alsa-base.conf

For the combination card 1 and device 3 for NVIDIA HDMI we need to add the following line:

options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2

For the combination card 0 and device 3 for NVIDIA HDMI we need to add the following line:

options snd-hda-intel enable_msi=0 probe_mask=0xfff2

And for combination card 2 and device 3 we need to add the following line:

options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xffff,0xfff2

Restart Alsa or the system!

Once the Nvidia ION2 users have restarted their system type aplay -l again! The result should be different than before! Fewer lines should be displayed to the screen. If so, you’re sure that alsa is configured correctly.

How does Alsa play together with the .asoundrc config file in the home user directory. Simple: the card and device number should match with the results obtained from aplay -l. See the example below. If we configure XBMC to use the output “tv” the audio will be passed to card 1 and device 3 which means the ALC888 Digital, the optical/digital output of the system.

Which this knowledge we can go even further! Grab the config file from the url below. Save it as .asoundrc and make the additional changes. Card and devices numbers should match accordingly. Good luck!

http://www.xbmcfreak.nl/wp-content/uploads/2010/01/asoundrc.txt

Comments

  1. Tripkip says:

    Hoi Piethein,
    interessante post. Ik heb zelf een ION2 AT5IONT-I.
    Ik gebruik momenteel jou Beta 2 T4 release en ik krijg mijn AAC niet aan de praat.
    Mijn receiver heeft geen AAC decoder en ik vind nergens instellingen terug zoals het uitvinken van de vroegere “AAC capable receiver” optie terug…

    Zal dit mijn probleem verhelpen?

  2. adgr says:

    @Tripkip
    Ik heb vroeger en ook in de huidige beta 2 van XBMC Dharma nog nooit een “AAC capabale receiver” optie gezien.
    Wel een optie “AC3 compatibel versterker” overigens.

  3. MWerts says:

    Hoi Piethein,

    Goede uitleg, alleen krijg ik geluid uit HDMI niet via de digitale uitgang. En als ik muziek afspeel krijg ik om het het nummer de volgende melding “Failed to Initialize Audio Device”

    Heb het volgende in XBMC staan:
    AUDIO OUTPUT: Digitale / HDMI (bij geprobeerd)
    AUDIO OUTPUT DEVICE: custom
    CUSTOM AUDIO DEVICE: plug:both
    PASSTHROUGH AUDIO DEVICE: hdmi

    Misschien dat je over dit stukhe hier boven ook uitleg kan gegeven. Deze info heb ik ook van jou site gehaald “http://www.xbmcfreak.nl/improved-version-xbmcfreak-livecd-10-00-beta2/#comments”

    Helaas geen goede configuratie, en heb een Zotac ZBOX HD-ID11

    heb de http://www.xbmcfreak.nl/wp-content/uploads/2010/01/asoundrc.txt informati in mijn .asoundrc geplaatst.
    ———————————————–
    **** List of PLAYBACK Hardware Devices ****
    card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: Intel [HDA Intel], device 1: ALC888 Digital [ALC888 Digital]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 1: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    ———————————————–

    onderste stukje van mijn .asoundrc is als volgt:
    pcm.tv {
    type hw
    card 1
    device 3
    channels 2
    }

    pcm.receiver {
    type hw
    card 0
    device 1
    channels 2
    }

    pcm.analog {
    type hw
    card 0
    device 0
    channels 2
    }

    Wat staat er nu niet goed.. Heeft iemand een goede oplossing voor een Zotac ZBOX HD-ID11 zodat ik over alle 3 de uitgangen goed geluid heb !!!!!!!!!!!!!!

  4. Celox says:

    shouldn’t the text be? kinda got me confussing when i read it the first time…

    “If we configure XBMC to use the output “tv” the audio will be passed to card 1 and device 3 which which means the NVIDIA HDMI, the HDMI output of the system.”

    cuz card 1 and device according to your screenshot of aplay -l is nvidia hdmi?

Leave a Comment

*