XBMC Community Forum
Hdmi audio for complete noob, please help. - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Help and Support (/forumdisplay.php?fid=33)
+--- Forum: Kodi General Help and Support (/forumdisplay.php?fid=111)
+---- Forum: Linux and Live support (/forumdisplay.php?fid=52)
+---- Thread: Hdmi audio for complete noob, please help. (/showthread.php?tid=130466)



Hdmi audio for complete noob, please help. - alpher - 2012-05-02 02:24

Hi, my first post so hi to everybody.
Let me say this: I am a total NOOB as far as linux is concerned.
First , I really love XBMC and love the idea of having it as sort of only OS on my machine.
I've run xbmc on windows witout a problem so far, but I want to run it sort of as an only thing like self contained firmware.
XBMCbuntu fits the bill perfectly.
I really admire the job that You guys did.

But.

There is a one small problem, one that cost me allready a couple of days.
In this day and age HTPC without hdmi sound ?
I've tried it (latest xbmcbuntu) on 2 boxes so far.

1 asus M3N78-VM nvidia 8200 based.
2 asus P8H61-I intel h61.

Both install without a hitch, runs perfectly , but silently.
Try as I migh , there's no sound through hdmi , no matter what setting I use.

Both are connected to olevia 747 LCDs , and both run XBMC with sound no problem on Win7.
I've read a few threads regarding hdmi audio problems , but it was all chinese to me.
I dont know what "grub" is, nor I know how to edit anything under linux.

Is there anyone that managed to install XBMCbuntu succesfully on either of these motherboards AND get the sound through hdmi?
Could You help me?
I'm really going nutsSad


RE: Hdmi audio for complete noob, please help. - redshirt - 2012-05-02 03:35

I'm no expert... had the same issue with ati/radeon. I can't find the guide I followed, but it is out there. This is what I remember.

You'll have to log into the OS GUI (openbox) to do all of this stuff.

I ended up creating an asound.conf file, in the /etc folder (root permissions):

/etc$ more asound.conf
pcm.!default {
type hw
card 0
device 3
}

To create it you can use the command 'sudo nano -w asound.conf' . But first you need some more config and info.

The card 0 , device 3 comes from the output of the command 'aplay -l' . It will look like this (you want the HDMI info):

card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC889 Analog [ALC889 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 1: ALC889 Digital [ALC889 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0

Jot the card and device down for the HDMI. Run 'sudo alsamixer'. One of the cards (selected with F6) will list an HDMI sound device, and it may have a single volume option for S/PDIF (which is in fact the HDMI volume output). If it is set to (MM), it is muted. Hit the 'm' key to toggle it to (OO) for 'on'. Now go make that asound.conf file in the /etc folder noted above.

Audio is working if your hear sound running this command (cd to the directory first; enter your card,device in plughw:c,d).

/usr/share/sounds/alsa$ sudo aplay -D plughw:0,3 Noise.wav

Alas, you are not yet done. Start XBMC. Go to System-system-audio setup. Choose HDMI (arrow through list of options). Turn off any features your TV doesn't have (dolby, dts; if you don't you'll get nasty digital noise every time you switch to a new audio source). Most importantly, choose custom audio config for both 'Audio output' and 'passthrough'. I forget the commands... checking... put in 'plughw:c,d' for each.

This gave me sound in xbmc, including the interface sounds.

Good luck!


RE: Hdmi audio for complete noob, please help. - Plaguester - 2012-05-02 08:42

Do not create /etc/asound.conf or ~/.asoundrc first. If either of those files exist, rename them to something else and we'll come back to that last.

In XBMC or XBMCBuntu, press CTRL+ALT+F1 to drop into a terminal and log in. Then type the following commands (my notes will be prefaced by '#'; don't type those lines)
Code:
# See what your audio card is
$ lspci | grep -i audio

# See what sound devices are available. Note the card and device number for the HDMI entry.
$ aplay -l

# Verify that none of the outputs are muted (denoted by 'MM' over the output; use 'm' to toggle).
# You're looking for PCM, Master, and all S/PDIF entries. (Change sound cards with F6).
$ alsamixer

# Play some noise. insert the card number for X and device number for Y
# press CTRL-C to quit
$ speaker-test -d plughw:X,Y


# no noise? make sure the xbmc user is in the audio group
$ groups xbmc
# this list should contain "audio", if not, do
$ sudo useradd -G audio xbmc
# then type "exit", log in again, and try the speaker test again

If you don't hear anything during the speaker test, reboot and go into your BIOS. Look for options to disable the onboard sound and try the instructions again. Often this will result in a different list from "aplay -l".

If you did hear sound, go into XBMC. In Settings > System > Audio, set "Audio Output Type" to "Analog" (Yes, analog. We'll get to the other in a minute). For the "Audio Output Device", choose "hdmi (ALSA)". There may also be some listed that have the card and device numbers from aplay -l. Try those too. If all of them fail, choose "Custom" and enter "plughw:X,Y", where X is the card number and Y is the device number.

Now you should have analog sound over HDMI. If your TV supports AC3 passthrough sound (some do) or DTS passthrough (most don't), change "Audio Output Type" to "HDMI". Select "2.0" for the speaker configuration. Select "Boost volume on downmix". Select "AC3 Capable Receiver" or "DTS Capable Receiver" if and only if your TV supports them. Then set "Passthrough Audio Device" to the same thing as "Audio Output Device".

If you simply must have menu sounds, then configure the /etc/asound.conf (system wide) or ~/.asoundrc (user) file.