This page describes how to set up audio for Linux-based systems. Primarily, it covers how to setup XBMC when using either ALSA or PulseAudio.
1 PulseAudio vs ALSA
If you have a PC that is exclusively used for XBMC then using ALSA maybe the best solution.
If you have a PC runs many applications other than XBMC then using PulseAudio maybe the the best solution.
1.1 PulseAudio FAQ
To help you decide which is best for you:
- See: PulseAudio#FAQ
1.2 Configuring PulseAudio
When using PulseAudio some configuration at the OS level maybe necessary to get audio from XBMC.
For how to do this
- See: PulseAudio
2 Hardware Vendor Specifics
For AMD GPU's there are two sets of drivers available, the AMD supplied binary fglrx drivers or the newer Radeon OSS drivers.
2.1.1 fglrx Drivers
The AMD fglrx drivers on Linux support TrueHD, LPCM 7.1 and DTS-HD starting with kernel 3.13.
The AMD developers responsible for the fglrx drivers have failed to provide any updates or improvements to the XvBA hardware acceleration API which is for example used in the infamous xvba-va-driver. We suggest you disable hw decoding support and choose multithreaded Software Decoding in the Video -> Acceleration settings.
2.1.2 Radeon OSS Drivers
As a consequence of the lack of XvBA updates, XBMC's developers got in contact with the AMD OSS developers to see what could be done to improve AMD graphics in Linux, the result was the Radeon OSS drivers which have been developed to use the open source VDPAU API.
The Radeon OSS driver are now more feature rich and better performing than the fglrx ever were, amongst other things they are capable of allowing HD audio (DTS-HD, TrueHD) to be bitstreamed.
For more detail see forum thread:
|Linux - Radeon OSS with vdpau (howto) Discussion and further information.|
2.2 Intel GPU HD Audio
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. In addition modification to system files maybe required in order to get the HDMI audio working.
For more detail on the required Linux modifications: