[alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
Hi All, I have an Intel HDA compatible device that supports 5.1 digital audio output over HDMI. It reports two nodes and two widgets:-
Root(0) | AFG(1) / \ / \ / \ Audio output(2) Pin Complex(3)
This setup produces a “Digital Stereo (HDMI) Output” device at user level in the operating system.
The codec reports its self to the operating system as follows (from /proc/asound/card0/codec#1) -------------------------------------------------------------------- AFG Function Id: 0x1 (unsol 1) No Modem Function Group found Default PCM: rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 -------------------------------------------------------------------- Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital Device: name="S3 HDMI 1", type="Audio", device=0 Converter: stream=0, channel=0 Digital: Digital category: 0x0 -------------------------------------------------------------------- Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000090: OUT HDMI Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Red DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x02 --------------------------------------------------------------------
the ELD from the receiving device is:-
monitor_present 1 eld_valid 1 monitor_name EP-HDMI-RX connection_type HDMI eld_version [0x2] CEA-861D or below edid_version [0x3] CEA-861-B, C or D manufacture_id 0x1017 product_id 0x901 port_id 0x0 support_hdcp 0 support_ai 1 audio_sync_delay 0 speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 2
sad0_coding_type [0x2] AC-3 sad0_channels 6 sad0_rates [0xe0] 32000 44100 48000 sad0_max_bitrate 640000
sad1_coding_type [0x7] DTS sad1_channels 7 sad1_rates [0xc0] 44100 48000 sad1_max_bitrate 1536000
Does anyone know what changes would be required to this setup in order for the device to be recognised as “Digital Surround 5.1 (HDMI) Output” by alsa?
TIA ---------------------------------------------------------------------- Regards Ben
On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
Hi All, I have an Intel HDA compatible device that supports 5.1 digital audio output over HDMI. It reports two nodes and two widgets:-
Root(0) | AFG(1) / \ / \ / \ Audio output(2) Pin Complex(3)
This setup produces a “Digital Stereo (HDMI) Output” device at user level in the operating system.
The codec reports its self to the operating system as follows (from /proc/asound/card0/codec#1)
AFG Function Id: 0x1 (unsol 1) No Modem Function Group found Default PCM: rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital Device: name="S3 HDMI 1", type="Audio", device=0 Converter: stream=0, channel=0 Digital: Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000090: OUT HDMI Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Red DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x02
the ELD from the receiving device is:-
monitor_present 1 eld_valid 1 monitor_name EP-HDMI-RX connection_type HDMI eld_version [0x2] CEA-861D or below edid_version [0x3] CEA-861-B, C or D manufacture_id 0x1017 product_id 0x901 port_id 0x0 support_hdcp 0 support_ai 1 audio_sync_delay 0 speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 2
sad0_coding_type [0x2] AC-3 sad0_channels 6 sad0_rates [0xe0] 32000 44100 48000 sad0_max_bitrate 640000
sad1_coding_type [0x7] DTS sad1_channels 7 sad1_rates [0xc0] 44100 48000 sad1_max_bitrate 1536000
Does anyone know what changes would be required to this setup in order for the device to be recognised as “Digital Surround 5.1 (HDMI) Output” by alsa?
You're confusing ALSA and PulseAudio a bit here; I think you should first try to get a PulseAudio verbose log ( https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open hdmi:0,1 in surround 5.1 version and see if you can find errors. Those errors might still be ALSA errors though, and come from alsa-lib.
03.12.2014 12:34, David Henningsson wrote:
On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
Hi All, I have an Intel HDA compatible device that supports 5.1 digital audio output over HDMI. It reports two nodes and two widgets:-
Root(0) | AFG(1) / \ / \ / \ Audio output(2) Pin Complex(3)
This setup produces a “Digital Stereo (HDMI) Output” device at user level in the operating system.
The codec reports its self to the operating system as follows (from /proc/asound/card0/codec#1)
AFG Function Id: 0x1 (unsol 1) No Modem Function Group found Default PCM: rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital Device: name="S3 HDMI 1", type="Audio", device=0 Converter: stream=0, channel=0 Digital: Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000090: OUT HDMI Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Red DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x02
the ELD from the receiving device is:-
monitor_present 1 eld_valid 1 monitor_name EP-HDMI-RX connection_type HDMI eld_version [0x2] CEA-861D or below edid_version [0x3] CEA-861-B, C or D manufacture_id 0x1017 product_id 0x901 port_id 0x0 support_hdcp 0 support_ai 1 audio_sync_delay 0 speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 2
sad0_coding_type [0x2] AC-3 sad0_channels 6 sad0_rates [0xe0] 32000 44100 48000 sad0_max_bitrate 640000
sad1_coding_type [0x7] DTS sad1_channels 7 sad1_rates [0xc0] 44100 48000 sad1_max_bitrate 1536000
Does anyone know what changes would be required to this setup in order for the device to be recognised as “Digital Surround 5.1 (HDMI) Output” by alsa?
You're confusing ALSA and PulseAudio a bit here; I think you should first try to get a PulseAudio verbose log ( https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open hdmi:0,1 in surround 5.1 version and see if you can find errors. Those errors might still be ALSA errors though, and come from alsa-lib.
To add: if your HDMI audio controller was, in fact, made by AMD, then PulseAudio 5.0 will not even try to open it in 5.1 mode. This bug has been fixed in 6.0-rc1. You can try creating new udev rules if you don't want to upgrade. There is a line in /lib/udev/rules.d/90-pulseaudio.rules:
/lib/udev/rules.d/90-pulseaudio.rules:ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"
All you need to do is to figure out the vendor ID (from lspci -nn) and write a similar line to /etc/udev/rules.d/91-my-pulseaudio.rules , then run "udevadm trigger" and possibly logout and login again. Or reboot.
However, the upstream fix was to remove the "extra-hdmi.conf" file completely and merge all profiles contained there to the default set.
Hi Guys, Thank you for your input it's much appreciated.
I have now produced the pulse audio log as suggested and it appears that when an attempt to open the Digital Surround 5.1 device, it fails with a "No such file or directory" error. Here is a snippet of the log showing the error.
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:iec958-ac3-surround-51 ( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51) ( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with SND_PCM_NO_AUTO_FORMAT ... ( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1 ( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device a52:1: No such file or directory
So I guess the next question is what is responsible for producing the required device?
TIA ----------------------------------------------------------------------------- Regards Ben
From: Alexander E. Patrakov Sent: Wednesday, December 03, 2014 7:58 AM To: David Henningsson ; bencoxdev@gmail.com ; ALSA Mailing list Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? 03.12.2014 12:34, David Henningsson wrote:
On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
Hi All, I have an Intel HDA compatible device that supports 5.1 digital audio output over HDMI. It reports two nodes and two widgets:-
Root(0) | AFG(1) / \ / \ / \ Audio output(2) Pin Complex(3)
This setup produces a “Digital Stereo (HDMI) Output” device at user level in the operating system.
The codec reports its self to the operating system as follows (from /proc/asound/card0/codec#1)
AFG Function Id: 0x1 (unsol 1) No Modem Function Group found Default PCM: rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital Device: name="S3 HDMI 1", type="Audio", device=0 Converter: stream=0, channel=0 Digital: Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000090: OUT HDMI Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Red DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 1 0x02
the ELD from the receiving device is:-
monitor_present 1 eld_valid 1 monitor_name EP-HDMI-RX connection_type HDMI eld_version [0x2] CEA-861D or below edid_version [0x3] CEA-861-B, C or D manufacture_id 0x1017 product_id 0x901 port_id 0x0 support_hdcp 0 support_ai 1 audio_sync_delay 0 speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 2
sad0_coding_type [0x2] AC-3 sad0_channels 6 sad0_rates [0xe0] 32000 44100 48000 sad0_max_bitrate 640000
sad1_coding_type [0x7] DTS sad1_channels 7 sad1_rates [0xc0] 44100 48000 sad1_max_bitrate 1536000
Does anyone know what changes would be required to this setup in order for the device to be recognised as “Digital Surround 5.1 (HDMI) Output” by alsa?
You're confusing ALSA and PulseAudio a bit here; I think you should first try to get a PulseAudio verbose log ( https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open hdmi:0,1 in surround 5.1 version and see if you can find errors. Those errors might still be ALSA errors though, and come from alsa-lib.
To add: if your HDMI audio controller was, in fact, made by AMD, then PulseAudio 5.0 will not even try to open it in 5.1 mode. This bug has been fixed in 6.0-rc1. You can try creating new udev rules if you don't want to upgrade. There is a line in /lib/udev/rules.d/90-pulseaudio.rules:
/lib/udev/rules.d/90-pulseaudio.rules:ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"
All you need to do is to figure out the vendor ID (from lspci -nn) and write a similar line to /etc/udev/rules.d/91-my-pulseaudio.rules , then run "udevadm trigger" and possibly logout and login again. Or reboot.
However, the upstream fix was to remove the "extra-hdmi.conf" file completely and merge all profiles contained there to the default set.
Hi Guys, Thank you for your input it's much appreciated.
I have now produced the pulse audio log as suggested and it appears
that
when an attempt to open the Digital Surround 5.1 device, it fails with a "No such file or directory" error. Here is a snippet of the log showing
the
error.
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile
output:iec958-ac3-surround-51
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback
on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51)
( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with
SND_PCM_NO_AUTO_FORMAT ...
( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1 ( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device
a52:1: No such file or directory
So I guess the next question is what is responsible for producing the required device?
http://git.alsa-project.org/?p=alsa-plugins.git;a=blob;f=doc/a52.txt;hb=HEAD
card number and channels are hardcoded
04.12.2014 15:55, bencoxdev@gmail.com wrote:
Hi Guys, Thank you for your input it's much appreciated. I have now produced the pulse audio log as suggested and it appears that when an attempt to open the Digital Surround 5.1 device, it fails with a "No such file or directory" error. Here is a snippet of the log showing the error. ( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:iec958-ac3-surround-51 ( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51) ( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with SND_PCM_NO_AUTO_FORMAT ... ( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1 ( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device a52:1: No such file or directory So I guess the next question is what is responsible for producing the required device?
This is not the correct device. This is a software encoder that is not installed on your computer. It will degrade audio quality by compression, eat CPU time, kill PulseAudio for exhausting the real-time budget, and is generally not needed on HDMI, because HDMI can transport PCM 5.1 streams just fine.
Please see my earlier reply how to force PulseAudio into opening the correct HDMI device.
Hi Guys, Thank you for your input it's much appreciated. I have now produced the pulse audio log as suggested and it appears
that
when an attempt to open the Digital Surround 5.1 device, it fails with a "No such file or directory" error. Here is a snippet of the log showing
the
error. ( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile
output:iec958-ac3-surround-51
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback
on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51)
( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with
SND_PCM_NO_AUTO_FORMAT ...
( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1 ( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM
device a52:1: No such file or directory
So I guess the next question is what is responsible for producing the required device?
This is not the correct device. This is a software encoder that is not
installed on your computer. It will degrade audio quality by compression, eat CPU time, kill PulseAudio for exhausting the real-time budget, and is generally not needed on HDMI, because HDMI can transport PCM 5.1 streams just fine.
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
Multi channel lpcm seem need AC_WCAP_CHAN_CNT_EXT
+ if (wid_caps & AC_WCAP_STEREO) { + unsigned int chans; + chans = (wid_caps & AC_WCAP_CHAN_CNT_EXT) >> 13; + chans = ((chans << 1) | 1) + 1; + if (chans == 2) + snd_iprintf(buffer, " Stereo"); + else + snd_iprintf(buffer, " %d-Channels", chans); + } else
Hi Alexander, Thanks for looking at this for me. I have followed your earlier advice on setting up the correct HDMI device, unfortunately it doesn’t seem to have changed the situation.
I am trying to achieve AC3 pass-through and not decode/encode the audio. Any thoughts that you may have about this would be much appreciated.
TIA Ben
From: Alexander E. Patrakov Sent: Thursday, December 04, 2014 12:34 PM To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? 04.12.2014 15:55, bencoxdev@gmail.com wrote:
Hi Guys, Thank you for your input it's much appreciated.
I have now produced the pulse audio log as suggested and it appears that when an attempt to open the Digital Surround 5.1 device, it fails with a "No such file or directory" error. Here is a snippet of the log showing the error.
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:iec958-ac3-surround-51 ( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51) ( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with SND_PCM_NO_AUTO_FORMAT ... ( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1 ( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device a52:1: No such file or directory
So I guess the next question is what is responsible for producing the required device?
This is not the correct device. This is a software encoder that is not installed on your computer. It will degrade audio quality by compression, eat CPU time, kill PulseAudio for exhausting the real-time budget, and is generally not needed on HDMI, because HDMI can transport PCM 5.1 streams just fine.
Please see my earlier reply how to force PulseAudio into opening the correct HDMI device.
05.12.2014 14:41, bencoxdev@gmail.com wrote:
Hi Alexander, Thanks for looking at this for me. I have followed your earlier advice on setting up the correct HDMI device, unfortunately it doesn’t seem to have changed the situation. I am trying to achieve AC3 pass-through and not decode/encode the audio. Any thoughts that you may have about this would be much appreciated. TIA Ben
First of all, some more information about your setup is needed.
1. ALSA-info:
wget http://www.alsa-project.org/alsa-info.sh bash alsa-info.sh
This will upload the information to a central database and print out the link. Please post the link.
2. Full PulseAudio log
killall pulseaudio ; pulseaudio -vvv 2>&1 | tee -a pulse.log
(All in one line, with a ";" in the middle, in order to win the race against autorespawn. If it says "daemon already running", just try again.)
Please post the log on some pastebin and provide a link here.
3. An attempt to use speaker-test. Please try this command for all values of X from 0 to 3 and for all values of Y from 0 to 3:
pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"
During one of the tests, it will hiss into your receiver. Please make a note of the correct X and Y values (for correlation with PulseAudio logs), and whether it hissed into each speaker separately.
Then, more information about your intentions is needed. Why are you talking about AC3 passthrough? I am asking because there are two ways to output 5.1 audio over HDMI: software decoding on a PC (which is IMHO preferable) and AC3 passthrough (i.e. hardware decoding on the receiving end, which requires a player that actually supports this feature when used with PulseAudio [which basically means "not mplayer"], and makes sense only on very slow CPUs or if the HDMI device is actually some dumb HDMI-to-SPDIF converter).
The correct profile to use is "Digital Surround 5.1 (HDMI) Output", which, due to a bug that I have already explained how to work around, is only available on "true" Intel and NVidia video cards as of PulseAudio 5.0.
Hi Alexander, Thanks for looking at this for me it is very much appreciated.
Please see below the details from the all the logs; as you requested. I’ve had to omit a few details (vendor names and ID’s) as this project is pre-release and I am under N.D.A. There should still be sufficient information there for you, but if you do need anything specific please let me know and I’ll try requesting permission to release more details.
1) The ALSA-info log can be found at:- http://pastebin.com/L1JRz5yC
2) The PulseAudio log is at:- http://pastebin.com/svJgR2dk
3) Speaker test results:-
Using pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"
X Y Result ------------------------------------------------------------------------------------------ 0 0 Hiss left Front and Right Front, others silent 0 1 Playback open error: -2, No such file or directory 0 2 Playback open error: -2, No such file or directory 0 3 Playback open error: -2, No such file or directory 1 0 Playback open error: -2, No such file or directory 1 1 Playback open error: -2, No such file or directory 1 2 Playback open error: -2, No such file or directory 1 3 Playback open error: -2, No such file or directory 2 0 Playback open error: -2, No such file or directory 2 1 Playback open error: -2, No such file or directory 2 2 Playback open error: -2, No such file or directory 2 3 Playback open error: -2, No such file or directory 3 0 Playback open error: -2, No such file or directory 3 1 Playback open error: -2, No such file or directory 3 2 Playback open error: -2, No such file or directory 3 3 Playback open error: -2, No such file or directory
Ideally I would like to use pass-through mode because the intended display device can handle AC3 5.1 without issue; and so I would prefer not to put the decoding load onto the CPU (as it’s a low powered device). I have been assured by the hardware vendor that the chip is capable of Digital pass-through of 5.1 audio.
------------------------------------------------------------------------------------------ TIA Ben.
From: Alexander E. Patrakov Sent: Friday, December 05, 2014 10:49 AM To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? 05.12.2014 14:41, bencoxdev@gmail.com wrote:
Hi Alexander, Thanks for looking at this for me. I have followed your earlier advice on setting up the correct HDMI device, unfortunately it doesn’t seem to have changed the situation. I am trying to achieve AC3 pass-through and not decode/encode the audio. Any thoughts that you may have about this would be much appreciated. TIA Ben
First of all, some more information about your setup is needed.
1. ALSA-info:
wget http://www.alsa-project.org/alsa-info.sh bash alsa-info.sh
This will upload the information to a central database and print out the link. Please post the link.
2. Full PulseAudio log
killall pulseaudio ; pulseaudio -vvv 2>&1 | tee -a pulse.log
(All in one line, with a ";" in the middle, in order to win the race against autorespawn. If it says "daemon already running", just try again.)
Please post the log on some pastebin and provide a link here.
3. An attempt to use speaker-test. Please try this command for all values of X from 0 to 3 and for all values of Y from 0 to 3:
pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"
During one of the tests, it will hiss into your receiver. Please make a note of the correct X and Y values (for correlation with PulseAudio logs), and whether it hissed into each speaker separately.
Then, more information about your intentions is needed. Why are you talking about AC3 passthrough? I am asking because there are two ways to output 5.1 audio over HDMI: software decoding on a PC (which is IMHO preferable) and AC3 passthrough (i.e. hardware decoding on the receiving end, which requires a player that actually supports this feature when used with PulseAudio [which basically means "not mplayer"], and makes sense only on very slow CPUs or if the HDMI device is actually some dumb HDMI-to-SPDIF converter).
The correct profile to use is "Digital Surround 5.1 (HDMI) Output", which, due to a bug that I have already explained how to work around, is only available on "true" Intel and NVidia video cards as of PulseAudio 5.0.
08.12.2014 19:40, bencoxdev@gmail.com wrote:
Hi Alexander, Thanks for looking at this for me it is very much appreciated. Please see below the details from the all the logs; as you requested. I’ve had to omit a few details (vendor names and ID’s) as this project is pre-release and I am under N.D.A.
Unfortunately, you have leaked both the graphics vendor (through excessive blocking of it) and the TV/monitor vendor (through ELD). So you both broke the NDA and prevented me from troubleshooting further. I thought I needed the vendor IDs in order to match them against udev rules, but see below. Still, a fail-fail situation, especially since there are a lot of other hobby projects using development boards with the graphics and audio chips from the same vendor.
But indeed, there is information in the log that gives a big clue. You are using PulseAudio 1.1, and configured it not to use udev rules (so knowledge of a vendor ID is now useless). Also, it cannot autodetect 5.1 PCM over HDMI with udev rules. It is also not supported anymore. My recommendation would be to either upgrade (which is impossible on the Ubuntu 12.04 platform) or to drop the use of PulseAudio altogether if you are stuck with this ancient userspace.
For enabling passthrough in PulseAudio, you would need to run pavucontrol and place a checkbox in the AC3 and DTS fields. Alternatively:
pactl set-sink-formats 0 'pcm;ac3-iec61937;dts-iec61937'
...where 0 is the sink index.
And also you need to find a player that supports this passthrough feature, and, if you are using GStreamer, also to make sure that the installed version supports passthrough. On such ancient platform, I'd recommend against it.
For PCM 5.1 (i.e. software decoding) with PulseAudio 1.1, you need a real 5.1 receiver and this command:
pacmd load-module module-alsa-sink device=hdmi:0,0 channels=6
Using pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'" X Y Result
0 0 Hiss left Front and Right Front, others silent (everything else) Playback open error: -2, No such file or directory
Try retesting plug:'hdmi:0,0' with a real 5.1 HDMI receiver (e.g. from Onkyo), not with a Samsung TV/monitor (that only advertises the presence of Front-Left and Front-Right channels and LPCM encoding in the ELD).
Hi Alexander, Thanks for your efforts on this. Unfortunately I’m stuck with the current platform I have. However do not have to use pulse-audio and could use alsa directly.
The pasuspender tests were done with a Yamaha HER-2866 surround sound amplifier, as the HDMI target device, the results were as given previously.
Any thoughts on using the alsa directly and how to set it up to offer the required output format in this scenario would be much appreciated.
Tia Ben
From: Alexander E. Patrakov Sent: Monday, December 08, 2014 4:38 PM To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? 08.12.2014 19:40, bencoxdev@gmail.com wrote:
Hi Alexander, Thanks for looking at this for me it is very much appreciated. Please see below the details from the all the logs; as you requested. I’ve had to omit a few details (vendor names and ID’s) as this project is pre-release and I am under N.D.A.
Unfortunately, you have leaked both the graphics vendor (through excessive blocking of it) and the TV/monitor vendor (through ELD). So you both broke the NDA and prevented me from troubleshooting further. I thought I needed the vendor IDs in order to match them against udev rules, but see below. Still, a fail-fail situation, especially since there are a lot of other hobby projects using development boards with the graphics and audio chips from the same vendor.
But indeed, there is information in the log that gives a big clue. You are using PulseAudio 1.1, and configured it not to use udev rules (so knowledge of a vendor ID is now useless). Also, it cannot autodetect 5.1 PCM over HDMI with udev rules. It is also not supported anymore. My recommendation would be to either upgrade (which is impossible on the Ubuntu 12.04 platform) or to drop the use of PulseAudio altogether if you are stuck with this ancient userspace.
For enabling passthrough in PulseAudio, you would need to run pavucontrol and place a checkbox in the AC3 and DTS fields. Alternatively:
pactl set-sink-formats 0 'pcm;ac3-iec61937;dts-iec61937'
...where 0 is the sink index.
And also you need to find a player that supports this passthrough feature, and, if you are using GStreamer, also to make sure that the installed version supports passthrough. On such ancient platform, I'd recommend against it.
For PCM 5.1 (i.e. software decoding) with PulseAudio 1.1, you need a real 5.1 receiver and this command:
pacmd load-module module-alsa-sink device=hdmi:0,0 channels=6
Using pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'" X Y Result
0 0 Hiss left Front and Right Front, others silent (everything else) Playback open error: -2, No such file or directory
Try retesting plug:'hdmi:0,0' with a real 5.1 HDMI receiver (e.g. from Onkyo), not with a Samsung TV/monitor (that only advertises the presence of Front-Left and Front-Right channels and LPCM encoding in the ELD).
participants (4)
-
Alexander E. Patrakov
-
bencoxdev@gmail.com
-
David Henningsson
-
Raymond Yau