Intel Linux Modifications for HD Audio

Kernel
HD Audio on Intel SandyBridge & IvyBridge systems require a patch from Intel to be included within the kernel, Linux 3.7 and higher include this patch as standard.

For more on this patch refer to Intel HDMI HBR patches for HD Audio

If you install a kernel >= 3.10.x you are on the safe side and no additional changes are needed (not matter if you have a spdif or not).

Kernel upgrades
To upgrade the kernel you need to obtain 3 files either x86 or x86_64 depending on your architecture.

Download 3 debs to a directory from this site http://kernel.ubuntu.com/~kernel-ppa/mainline/ (at time of writing 3.10.5 is/was the stable version) or greater. We also update the linux-firmware as we are at it.


 * 1) linux-headers- -all.deb
 * 2) linux-headers- -amd64.deb
 * 3) linux-image- -amd64.deb

Kernel Download
Choose 32 bit if your system is running i686 kernel or choose 64 bit if your system is x86_64.

64 bit:

32 bit:

Kernel Install
Install the debs with these commands:

After a reboot bitstream passthrough should be working. You can check the xbmc.log if your AVR capabilities are correctly identified. If the correct codecs / speaker numbers are not found, check the following settings with your AVR. We are aware that intel is currently really picky with AVRs - on really rare cases we could not get a single sound out of the AVR.

= Old workarounds (not needed on kernels >= 3.9.x anymore) =

Intel Systems with both SPDIF & HDMI
On old kernel versions (prior to 3.9.x) systems which have a Intel GPU feeding a HDMI out but also have a motherboard SPDIF out require a patched Linux 3.7 or higher kernel and additional system modification to get sound on the HDMI out. In these circumstances both SPDIF & HDMI share certain system file settings which cause a conflict resulting in the HDMI sound being blocked, to fix this there are two options available:

1. Easy - Blacklist the SPDIF so only HDMI is available for audio, this also has the advantage of surviving system upgrades.

2. Difficult - If both SPDIF & HDMI are required to be active then editing then HDA-Intel.conf is required so there is no conflict in the device settings, however this might have to be reapplied after a system upgrade.

Easy - Blacklisting SPDIF - Fix (WIP)
If you find S/PDIF on the same card as your intel hdmi rmmod the module that drives your S/PDIF.

Difficult - HDA-Intel.conf - Fix
This is not needed if you run a kernel >= 3.10.x as this already increases the index internally

This fix requires modification to:

Open the HDA-Intel.conf file with a editor and look for entries containing:

The numerical value after the = sign need to be increased by 1 so for example "CTLINDEX=1" becomes "CTLINDEX=2"

Example of original /usr/share/alsa/cards/HDA-Intel.conf file

Becomes