Difference between revisions of "User Manual:HDAudioPassthrough"

From MythTV Official Wiki
Jump to: navigation, search
(27 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Those are preliminary information on how to enable HD audio passthrough over HDMI (currenly E-AC3, TrueHD and DTS-HD MA).
+
MythTV trunk from December 5th 2010 supports HD audio passthrough
 +
 
 +
Those are preliminary information on how to enable HD audio passthrough over HDMI (currenly E-AC3, DTS-HD Hi-Res, TrueHD and DTS-HD MA).
  
 
Not all video cards are equals. You need a video card with built-in audio chipset, and hdmi port. Additionally, for TrueHD and DTS-HD MA it has support to HBR (high bit-rate).
 
Not all video cards are equals. You need a video card with built-in audio chipset, and hdmi port. Additionally, for TrueHD and DTS-HD MA it has support to HBR (high bit-rate).
  
== Dolby Digital Plus (E-AC3) and DTS-HD Hi-Res ==
+
= Dolby Digital Plus (E-AC3) and DTS-HD Hi-Res =
  
 
To support DD+ and DTS-HD HR ; your audio card must support stereo output at 192kHz.
 
To support DD+ and DTS-HD HR ; your audio card must support stereo output at 192kHz.
Line 15: Line 17:
 
* Some Intel HDMI graphics chipsets (in particular IbexPeak (0x80862804), CougarPoint)
 
* Some Intel HDMI graphics chipsets (in particular IbexPeak (0x80862804), CougarPoint)
  
Audio/Video cards known not to support it
+
Audio/Video cards known not to support it:
 
* Most ATI card (many only support 48kHz)
 
* Most ATI card (many only support 48kHz)
 
* Intel HDMI graphics chipsets Cantiga, Eaglelake
 
* Intel HDMI graphics chipsets Cantiga, Eaglelake
Line 22: Line 24:
 
Remember you must use an HDMI connection. Optical or coaxial SPDIF will *not* work.
 
Remember you must use an HDMI connection. Optical or coaxial SPDIF will *not* work.
  
== TrueHD and DTS-HD MA support ==
+
= TrueHD and DTS-HD MA support =
 
 
For your audio card to support loss-less HD audio passthrough (TrueHD and DTS-HD MA), your audio card has to support HBR
 
You can check DTS-HD/TrueHD support on Linux by checking for "HBR" text in "Pincap" line in /proc/asound/cardX/codec#Y
 
  
Chips known *not* to support HBR:
+
For your audio card to support loss-less HD audio passthrough (TrueHD and DTS-HD MA), your audio card has to support HBR.<br>
* ION first generation
+
You can check DTS-HD/TrueHD support on Linux by checking for "HBR" text in "Pincap" line in /proc/asound/cardX/codec#Y. This doesn't guarantee in any way that your audio card will support HBR ; but if you don't have it, it's very unlikely that it does.
* nVidia 9400M IGP
 
* nVidia 8xxx, 9xxx
 
  
 
Chips known to support HBR:
 
Chips known to support HBR:
Line 37: Line 34:
 
* nVidia GT5xx
 
* nVidia GT5xx
  
Though not officially supported, HBR works to some extent with nVidia GT2xx ; your mileage may vary. It is highly dependent of the combination between audio processor/amplifier and video card.
+
Chips known '''not''' to support HBR:
 +
* ION first generation
 +
* nVidia 9400M IGP
 +
* nVidia GT2xx (*)
 +
* nVidia 8xxx, 9xxx
  
You'll need a recent linux kernel (>= 2.6.36) that contains the required ALSA drivers.
+
(*) Though not officially supported, HBR works to some extent with nVidia GT2xx ; your mileage may vary. It is highly dependent of the combination between audio processor/amplifier and video card.
  
 +
You'll need a recent linux kernel (>= 2.6.36) that contains the required ALSA drivers (>= 1.0.24.  Version can be found in /proc/asound/version).
  
Alternatively get the latest ALSA driver from the git repository
+
Alternatively, Ubuntu users can grab the latest backported drivers from the [https://wiki.ubuntu.com/Audio/InstallingLinuxAlsaDriverModules daily ASLA ppa]
 +
 
 +
Or the latest ALSA drivers can be compiled from the git repository
 
  git clone git://git.alsa-project.org/alsa-driver.git alsa-driver  
 
  git clone git://git.alsa-project.org/alsa-driver.git alsa-driver  
 
  git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror  
 
  git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror  
Line 54: Line 58:
 
  ./git-compile
 
  ./git-compile
 
  sudo make install
 
  sudo make install
 +
 +
= Checking your TV / Amplifier / Audio Processor capabilities =
 +
 +
== With ALSA 1.0.25 or later, Linux kernel 3.3 or later ==
 +
 +
Provided your hdmi device (TV or amp) was powered on before your PC started, Myth can display the audio capabilities of the device.
 +
 +
Go into Setup -> Audio. Select one of the ALSA:hdmi audio output device. In the description section, it will show the name of the connected device as well as the list of all the digital codec supported being one of the following:
 +
 +
* undefined
 +
* LPCM
 +
* AC3
 +
* MPEG1
 +
* MP3
 +
* MPEG2
 +
* AAC-LC
 +
* DTS
 +
* ATRAC
 +
* DSD (One Bit Audio aka SACD)
 +
* E-AC3
 +
* DTS-HD
 +
* TrueHD
 +
* DST
 +
* WMAPro
 +
* HE-AAC
 +
* HE-AACv2
 +
* MPEG Surround
 +
 +
As of Myth 0.25, only LPCM, AC3, DTS, DTS-HD and TrueHD are supported, with the caveats mentioned in the earlier section.
 +
 +
When connected to a Primare SP32 amplifier:
 +
[[File:HDAudioScreen.png|1024px]]
 +
 +
When connected to a Yamaha SP-4000 soundbar (connected to a Sony TV):
 +
[[File:HDAudioScreen2.png|1024px]]
 +
 +
If the description contains the word "guessing: ..."; then myth hasn't been able to retrieve information from the TV or amp. Digital bitstreaming isn't guaranteed to work under those circumstances
 +
 +
[[File:HDAudioScreen3.png|1024px]]
 +
 +
== For earlier audio drivers ==
 +
 +
For HDA Intel audio device (used pretty much for all HDMI devices), recent version of linux kernel or alsa, it is usually possible to retrieve what your audio processing capabilities are:
 +
 +
The file is located in /proc/asound/cardX/eld#Y.0 (where X is the card number, and Y is the device number starting from 0. So if aplay -l shows Card 0, device 3 as being the first device listed
 +
you need to check /proc/asound/card0/eld#0.0).
 +
 +
eld standard for "EDID like Data" and would look like:
 +
monitor_present 1
 +
eld_valid 1
 +
monitor_name SP32       
 +
connection_type HDMI
 +
eld_version [0x2] CEA-861D or below
 +
edid_version [0x3] CEA-861-B, C or D
 +
manufacture_id 0x294d
 +
product_id 0x214f
 +
port_id 0x10000
 +
support_hdcp 0
 +
support_ai 0
 +
audio_sync_delay 0
 +
speakers [0x7f] FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC
 +
sad_count 6
 +
sad0_coding_type [0x1] LPCM
 +
sad0_channels 8
 +
sad0_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
sad0_bits [0xe0000] 16 20 24
 +
sad1_coding_type [0x2] AC-3
 +
sad1_channels 6
 +
sad1_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
sad1_max_bitrate 1536000
 +
sad2_coding_type [0x7] DTS
 +
sad2_channels 6
 +
sad2_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
sad2_max_bitrate 1536000
 +
sad3_coding_type [0xb] DTS-HD
 +
sad3_channels 8
 +
sad3_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
sad4_coding_type [0xa] E-AC-3/DD+ (Dolby Digital Plus)
 +
sad4_channels 8
 +
sad4_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
sad5_coding_type [0xc] MLP (Dolby TrueHD)
 +
sad5_channels 8
 +
sad5_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
 +
 +
 +
This indicates that your amplifier supports 8 channels LPCM, AC3, DTS, DTS-HD, E-AC3 and TrueHD.
 +
 +
= Summary of working / non-working known solution =
 +
 +
Thank you for contributing with the information below.
 +
* eld indicates if the eld#Y.0 file exists in /proc/asound/cardX exists
 +
* HBR: is a flag that would appear in the eld file above. Put - if eld doesn't exist, or HBR isn't mentioned
 +
* LPCM: If eld exists, enter the number of channels in the LPCM section. If the eld file doesn't exist, enter the maximum number of channels as reported by alsa. You can get this information running mythfrontend with -v audio.
 +
 +
 +
{| border=1 cellpadding=5 cellspacing=1
 +
|- style="background-color: lightgreen; color:black"
 +
! Audio Card
 +
! Amplifier/Processor
 +
! Linux Version
 +
! Alsa Version
 +
! eld file present
 +
! HBR
 +
! AC3
 +
! DTS
 +
! LPCM (number of channels)
 +
! DTS-HD
 +
! E-AC3
 +
! TrueHD
 +
|-
 +
! Example
 +
! Procesor
 +
! 2.8.24
 +
! 1.0.78
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! -
 +
! X
 +
! -
 +
|-
 +
! nVidia 9400M
 +
! Yamaha SP-4000 soundbar
 +
! 2.6.32
 +
! 1.0.23
 +
! -
 +
! -
 +
! X
 +
! X
 +
! Shows 8, but only 2 works
 +
! -
 +
! -
 +
! -
 +
|-
 +
! nVidia GT218
 +
! Philips (TV) 55PFL5705D/F7
 +
! 3.2.0
 +
! 1.0.24
 +
! X
 +
! -
 +
! -
 +
! -
 +
! 2
 +
! -
 +
! -
 +
! -
 +
|-
 +
! nVidia GT220
 +
! Yamaha SP-4000 soundbar
 +
! 2.6.32
 +
! 1.0.23
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 2
 +
! -
 +
! -
 +
! -
 +
|-
 +
! nVidia GT430
 +
! Primare SP-32
 +
! 2.6.32
 +
! Alsa git as of 20101214
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT220
 +
! Primare SP-32
 +
! 2.6.32
 +
! Alsa git as of 20101214
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! (< 6.411Mbit/s only)
 +
! X
 +
! X
 +
|-
 +
! nVidia GT218 (MSI N210-MD512H)
 +
! Pioneer VSX-1120
 +
! 2.6.35
 +
! 1.0.23+dfsg-1ubuntu4
 +
! X
 +
! codec:yes, eld:no
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT430
 +
! Onkyo TX-NR807
 +
! 2.6.30
 +
! Alsa git as of 20101119
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT330M (Macbook Pro 15" w/Ubuntu)
 +
! Primare SP-32
 +
! 2.6.35
 +
! Alsa 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! (< 6.411Mbit/s only)
 +
! X
 +
! X
 +
|-
 +
! nVidia GT220 (ECS NSGT220-1GQS-H)
 +
! Marantz SR5005
 +
! 2.6.37.2
 +
! Alsa 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! Shows 8, but only 2 works
 +
! -
 +
! -
 +
! -
 +
|-
 +
! nVidia GT430 (Asus ENGT430)
 +
! Marantz SR5005
 +
! 2.6.37.2
 +
! Alsa 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT520 (Asus ENGT520)
 +
! Marantz SR5005
 +
! 2.6.38
 +
! Alsa 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT520
 +
! Onkyo TX-NR709
 +
! 2.6.38
 +
! Alsa 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! X
 +
! X
 +
! X
 +
|-
 +
! nVidia GT218
 +
! Onkyo TX-SR608
 +
! -
 +
! -
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! (< 6.411Mbit/s only)
 +
! X
 +
! -
 +
|-
 +
! nVidia GT218
 +
! Onkyo HT-R290
 +
! 3.2.0
 +
! 1.0.24
 +
! X
 +
! X
 +
! X
 +
! X
 +
! 8
 +
! (< 6.411Mbit/s only)
 +
! X
 +
! -
 +
|-
 +
|}

Revision as of 18:03, 17 February 2013

MythTV trunk from December 5th 2010 supports HD audio passthrough

Those are preliminary information on how to enable HD audio passthrough over HDMI (currenly E-AC3, DTS-HD Hi-Res, TrueHD and DTS-HD MA).

Not all video cards are equals. You need a video card with built-in audio chipset, and hdmi port. Additionally, for TrueHD and DTS-HD MA it has support to HBR (high bit-rate).

Dolby Digital Plus (E-AC3) and DTS-HD Hi-Res

To support DD+ and DTS-HD HR ; your audio card must support stereo output at 192kHz.

Audio/Video cards known to support it:

  • ION and 9400M IGP : provided you use a kernel newer than 2.6.32 (it is not supported in kernel 2.6.31 and earlier)
  • ION2
  • nVidia GT2xx
  • nVidia GT4xx
  • nVidia GT5xx
  • Some Intel HDMI graphics chipsets (in particular IbexPeak (0x80862804), CougarPoint)

Audio/Video cards known not to support it:

  • Most ATI card (many only support 48kHz)
  • Intel HDMI graphics chipsets Cantiga, Eaglelake

To check for actual support, run mythfrontend and go into Setup -> Audio. If the E-AC3/DTS-HD flag is enabled, it is likely that your audio card supports it. Remember you must use an HDMI connection. Optical or coaxial SPDIF will *not* work.

TrueHD and DTS-HD MA support

For your audio card to support loss-less HD audio passthrough (TrueHD and DTS-HD MA), your audio card has to support HBR.
You can check DTS-HD/TrueHD support on Linux by checking for "HBR" text in "Pincap" line in /proc/asound/cardX/codec#Y. This doesn't guarantee in any way that your audio card will support HBR ; but if you don't have it, it's very unlikely that it does.

Chips known to support HBR:

  • ION2
  • nVidia GT4xx
  • nVidia GT5xx

Chips known not to support HBR:

  • ION first generation
  • nVidia 9400M IGP
  • nVidia GT2xx (*)
  • nVidia 8xxx, 9xxx

(*) Though not officially supported, HBR works to some extent with nVidia GT2xx ; your mileage may vary. It is highly dependent of the combination between audio processor/amplifier and video card.

You'll need a recent linux kernel (>= 2.6.36) that contains the required ALSA drivers (>= 1.0.24. Version can be found in /proc/asound/version).

Alternatively, Ubuntu users can grab the latest backported drivers from the daily ASLA ppa

Or the latest ALSA drivers can be compiled from the git repository

git clone git://git.alsa-project.org/alsa-driver.git alsa-driver 
git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror 
cd alsa-driver
./gitcompile
sudo make install

Alsa library 1.0.23 is the required minimum. However if you had to mess with the device name to get basic audio working, it is strongly recommended you get a new version as otherwise you will likely have to mess with alsa configuration file.

git clone git://git.alsa-project.org/alsa-lib.git alsa-lib
cd alsa-lib
./git-compile
sudo make install

Checking your TV / Amplifier / Audio Processor capabilities

With ALSA 1.0.25 or later, Linux kernel 3.3 or later

Provided your hdmi device (TV or amp) was powered on before your PC started, Myth can display the audio capabilities of the device.

Go into Setup -> Audio. Select one of the ALSA:hdmi audio output device. In the description section, it will show the name of the connected device as well as the list of all the digital codec supported being one of the following:

  • undefined
  • LPCM
  • AC3
  • MPEG1
  • MP3
  • MPEG2
  • AAC-LC
  • DTS
  • ATRAC
  • DSD (One Bit Audio aka SACD)
  • E-AC3
  • DTS-HD
  • TrueHD
  • DST
  • WMAPro
  • HE-AAC
  • HE-AACv2
  • MPEG Surround

As of Myth 0.25, only LPCM, AC3, DTS, DTS-HD and TrueHD are supported, with the caveats mentioned in the earlier section.

When connected to a Primare SP32 amplifier: HDAudioScreen.png

When connected to a Yamaha SP-4000 soundbar (connected to a Sony TV): HDAudioScreen2.png

If the description contains the word "guessing: ..."; then myth hasn't been able to retrieve information from the TV or amp. Digital bitstreaming isn't guaranteed to work under those circumstances

HDAudioScreen3.png

For earlier audio drivers

For HDA Intel audio device (used pretty much for all HDMI devices), recent version of linux kernel or alsa, it is usually possible to retrieve what your audio processing capabilities are:

The file is located in /proc/asound/cardX/eld#Y.0 (where X is the card number, and Y is the device number starting from 0. So if aplay -l shows Card 0, device 3 as being the first device listed you need to check /proc/asound/card0/eld#0.0).

eld standard for "EDID like Data" and would look like:

monitor_present		1
eld_valid		1
monitor_name		SP32        
connection_type		HDMI
eld_version		[0x2] CEA-861D or below
edid_version		[0x3] CEA-861-B, C or D
manufacture_id		0x294d
product_id		0x214f
port_id			0x10000
support_hdcp		0
support_ai		0
audio_sync_delay	0
speakers		[0x7f] FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC
sad_count		6
sad0_coding_type	[0x1] LPCM
sad0_channels		8
sad0_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000
sad0_bits		[0xe0000] 16 20 24
sad1_coding_type	[0x2] AC-3
sad1_channels		6
sad1_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000
sad1_max_bitrate	1536000
sad2_coding_type	[0x7] DTS
sad2_channels		6
sad2_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000
sad2_max_bitrate	1536000
sad3_coding_type	[0xb] DTS-HD
sad3_channels		8
sad3_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000
sad4_coding_type	[0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad4_channels		8
sad4_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000
sad5_coding_type	[0xc] MLP (Dolby TrueHD)
sad5_channels		8
sad5_rates		[0x1ee0] 44100 48000 88200 176400 192000 384000


This indicates that your amplifier supports 8 channels LPCM, AC3, DTS, DTS-HD, E-AC3 and TrueHD.

Summary of working / non-working known solution

Thank you for contributing with the information below.

  • eld indicates if the eld#Y.0 file exists in /proc/asound/cardX exists
  • HBR: is a flag that would appear in the eld file above. Put - if eld doesn't exist, or HBR isn't mentioned
  • LPCM: If eld exists, enter the number of channels in the LPCM section. If the eld file doesn't exist, enter the maximum number of channels as reported by alsa. You can get this information running mythfrontend with -v audio.


Audio Card Amplifier/Processor Linux Version Alsa Version eld file present HBR AC3 DTS LPCM (number of channels) DTS-HD E-AC3 TrueHD
Example Procesor 2.8.24 1.0.78 X X X X 8 - X -
nVidia 9400M Yamaha SP-4000 soundbar 2.6.32 1.0.23 - - X X Shows 8, but only 2 works - - -
nVidia GT218 Philips (TV) 55PFL5705D/F7 3.2.0 1.0.24 X - - - 2 - - -
nVidia GT220 Yamaha SP-4000 soundbar 2.6.32 1.0.23 X X X X 2 - - -
nVidia GT430 Primare SP-32 2.6.32 Alsa git as of 20101214 X X X X 8 X X X
nVidia GT220 Primare SP-32 2.6.32 Alsa git as of 20101214 X X X X 8 (< 6.411Mbit/s only) X X
nVidia GT218 (MSI N210-MD512H) Pioneer VSX-1120 2.6.35 1.0.23+dfsg-1ubuntu4 X codec:yes, eld:no X X 8 X X X
nVidia GT430 Onkyo TX-NR807 2.6.30 Alsa git as of 20101119 X X X X 8 X X X
nVidia GT330M (Macbook Pro 15" w/Ubuntu) Primare SP-32 2.6.35 Alsa 1.0.24 X X X X 8 (< 6.411Mbit/s only) X X
nVidia GT220 (ECS NSGT220-1GQS-H) Marantz SR5005 2.6.37.2 Alsa 1.0.24 X X X X Shows 8, but only 2 works - - -
nVidia GT430 (Asus ENGT430) Marantz SR5005 2.6.37.2 Alsa 1.0.24 X X X X 8 X X X
nVidia GT520 (Asus ENGT520) Marantz SR5005 2.6.38 Alsa 1.0.24 X X X X 8 X X X
nVidia GT520 Onkyo TX-NR709 2.6.38 Alsa 1.0.24 X X X X 8 X X X
nVidia GT218 Onkyo TX-SR608 - - X X X X 8 (< 6.411Mbit/s only) X -
nVidia GT218 Onkyo HT-R290 3.2.0 1.0.24 X X X X 8 (< 6.411Mbit/s only) X -