You are not logged in.
Hi everyone,
I am bringing back to life a small HTPC based on an AMD Kaveri A8-7650K APU with an Asrock FM2A88M Extreme4+ motherboard. My problem is that HBR audio trough HDMI does not work.
I installed the latest version of Arch (Actual kernel is 4.17.2-1-x86_64) with GDM and Gnome as desktop environment over Xorg.
For the audio part, I installed ALSA with PulseAudio.
On GPU side, I followed the wiki to install amdgpu driver and blacklisted radeon. The following packages have been installed : xf86-video-amdgpu mesa lib32-mesa mesa-vdpau libva-mesa-driver gstreamer-vaapi gst-plugins-bad
To enable audio support through HDMI, I passed the
amdgpu.dc = 1
parameter to the kernel as suggested by Phoronix here.
I used pavucontrol to activate AC3, EAC3, DTS passthrough over HDMI but no option is available to activate DTS-HD and Dolby TrueHD.
I suspected a missing support for HBR audio format by the audio driver wich is confirmed by the file /proc/asound/card0/codec#0 since 48000Hz is the maximum supported sampling rate (192000 should appear to hope any HBR support).
content of the file /proc/asound/card0/codec#0
Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100500
No Modem Function Group found
Default PCM:
rates [0x70]: 32000 44100 48000
bits [0x2]: 16
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
Power states: D0 D3 CLKSTOP EPSS
Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x221: Stereo Digital Stripe
Device: name="HDMI 0", type="HDMI", device=3
Converter: stream=1, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
Control: name="IEC958 Playback Con Mask", index=0, device=0
Control: name="IEC958 Playback Pro Mask", index=0, device=0
Control: name="IEC958 Playback Default", index=0, device=0
Control: name="IEC958 Playback Switch", index=0, device=0
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=01, enabled=1
Connection: 1
0x02
Node 0x04 [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x04
Node 0x06 [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x06
Node 0x08 [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x08
Node 0x0a [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0a
Node 0x0c [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0c
Node 0x0e [Audio Output] wcaps 0x221: Stereo Digital Stripe
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
IEC Coding Type: 0x0
Node 0x0f [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000094: OUT Detect HDMI
Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0e
I verified that the AVR connected to the other end of HDMI cable supports HBR (Of course I know that my AVR - an onkyo TX-NR709 - supports these missing audio formats). This is verified by looking within /proc/asound/card0/eld#0.0
I found this bug report where it is claimed that HBR issues is now resolved within amdgpu driver.
But as it can be read within bug report comments, the solution has only been tested with Polaris and Kaveri employs the older GCN v1.1 Sea Islands architecture.
So my questions are :
- are other people using kaveri APU affected by this bug?
- If the answer is no, is there any AMD APU/GPU guru out there to help me solve this problem?
Last edited by Xtof (2018-06-20 21:26:07)
Offline
Well, this problem seems to be finally related to pulseaudio (12.2 is installed). When I force uninstalling pulseaudio, Kodi and SMPlayer are able to play DTS-HD as well as Dolby TrueHD audio streams. Surprisingly, VLC don't.
I found in Kodi wiki that Pulseaudio still does not support HBR audio passthrought over HDMI. but I have not been able to find any confirmation within Pulseaudio official website.
Is there any way to enable HBR audio passthrought over HDMI without uninstalling pulseaudio ?
Offline
Have you tried the pasuspender workaround described in 6.4 on that kodi wiki page ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline