From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 92827] Tonga: No Sound over HDMI with connected AV receiver
Date: Thu, 05 Nov 2015 00:31:02 +0000
Message-ID:
Bug ID
92827
Summary
Tonga: No Sound over HDMI with connected AV receiver
Product
DRI
Version
XOrg git
Hardware
x86-64 (AMD64)
OS
Linux (All)
Status
NEW
Severity
normal
Priority
medium
Component
DRM/AMDgpu
Assignee
dri-devel@lists.freedesktop.org
Reporter
winlux@gmail.com
Created attachmen=
t 119417 [details]
cat /proc/asound/card1/eld#0.0
I'm using the new amdgpu driver on Linux 4.2 and 4.3 RC7 with my new Radeon=
R9
380.
I want to use my 5.1 receiver to get audio over HDMI, it works just fine un=
der
Windows 8.1. Under Manjaro Linux, I have configured a standard FullHD outpu=
t on
HDMI with 60 Hz =E2=80=93 with my former Radeon HD 7770 using radeonsi this=
was the
rule to get audio (don't get me started on broken HDMI audio on radeonsi. W=
ith
Linux 4.0+ until now, I needed to use the 3.18 kernel to *not* see only
"unplugged" outputs in PulseAudio. See bug 90777.).
In fortunate distinction to radeonsi on Linux 4.0+, PulseAudio shows 2.0, 5=
.1
and 7.1 output over HDMI as plugged in and available. But I don't get any
output.
No HDMI audio output on Tonga using amdgpu on Linux 4.2 and 4.3 RC7.
I can still confirm this bug with Linux 4.6.0. :(
Audio support requires DAL which is not upstream yet. E.g., https://cgit.freedesktop.org/~agd5f/linux/log/?h=3Ddrm-next-4.7-wi= p-dal
At least something to await for! Would be neat to put this inf= o somewhere in a non-dev press release. I fiddled many hours with this issue without knowing anything about the state of HDMI audio on AMDGPU. There must be countless frustrated users, even more when you think of the Ubuntu 16.04 shift away f= rom fglrx.
JFYI: HDMI audio output works fine with amdgpu as present in c= urrent https://cgit.freedesktop.org/~agd5f/linux/log/?h=3Damd-staging-drm= -next
I just got kernel 4.14, but I still don't have any audio outpu= t via HDMI. Is that supposed to work by now?
No, it will be merged with Linux 4.15 but you will still need = an kernel parameter: https://www.phoronix.com/scan.php?page=3Dnews_item&px= =3DAMDGPU-DC-Accepted Until then, you have to compile yourself a patched kernel. For Arch-based distros you can use the AUR linux-amd-staging-drm-next-git. Phoronix provid= es pre-compiled packages for Ubuntu.
With 4.15 (and the kernel boot parameter!) I now managed to ge=
t audio output
via HDMI.=20
Splendid!
My configuration is=20
PC ----HDMI---> Pioneer AV receiver (vsx330) ---HDMI---> HP monitor (=
lp2475w)
But there is one bad effect now: When I turn off the monitor during runtime=
, or
if the monitor enters power-save state, and it is turned on again, the scre=
en
resolution is reset to a maximum of 1368x768 (before: 1920x1200), which mes=
ses
up the desktop.
The reason is that when the monitor is turned off, this seems to be sensed =
as a
change in the HMDI connection, and the EDID data is now coming from the AV
receiver.=20
dmesg says:
[ 82.689994] [drm] VSX-330: [Block 0]=20
[ 82.689995] [drm] VSX-330: [Block 1]=20
[ 82.689997] [drm] dc_link_detect: manufacturer_id =3D 2F41, product_id =
=3D 1027,
serial_number =3D 1010101, manufacture_week =3D 0, manufacture_year =3D 25,
display_name =3D VSX-330, speaker_flag =3D 79, audio_mode_count =3D 8
[ 82.689998] [drm] dc_link_detect: mode number =3D 0, format_code =3D 1,
channel_count =3D 1, sample_rate =3D 127, sample_size =3D 7
[ 82.689999] [drm] dc_link_detect: mode number =3D 1, format_code =3D 1,
channel_count =3D 7, sample_rate =3D 127, sample_size =3D 7
[ 82.690000] [drm] dc_link_detect: mode number =3D 2, format_code =3D 2,
channel_count =3D 5, sample_rate =3D 7, sample_size =3D 80
[ 82.690000] [drm] dc_link_detect: mode number =3D 3, format_code =3D 7,
channel_count =3D 6, sample_rate =3D 6, sample_size =3D 192
[ 82.690001] [drm] dc_link_detect: mode number =3D 4, format_code =3D 9,
channel_count =3D 1, sample_rate =3D 127, sample_size =3D 0
[ 82.690002] [drm] dc_link_detect: mode number =3D 5, format_code =3D 10,
channel_count =3D 7, sample_rate =3D 6, sample_size =3D 0
[ 82.690002] [drm] dc_link_detect: mode number =3D 6, format_code =3D 11,
channel_count =3D 7, sample_rate =3D 126, sample_size =3D 1
[ 82.690003] [drm] dc_link_detect: mode number =3D 7, format_code =3D 12,
channel_count =3D 7, sample_rate =3D 126, sample_size =3D 0
[ 82.691002] Raw EDID:
[ 82.691003] c8 01 00 00 06 00 00 00 20 00 00 00 02 00 00 00
[ 82.691003] 80 07 00 00 b0 04 00 00 01 00 0a 00 fc 05 e0 01
[ 82.691004] e0 04 00 00 00 00 00 00 01 00 01 00 00 00 02 00
[ 82.691004] 00 00 00 00 00 0a 00 00 01 00 00 00 70 00 00 00
[ 82.691004] 08 00 02 00 fc 05 e0 01 12 00 07 00 fc 05 e0 01
[ 82.691005] 9b 01 00 00 04 00 00 00 20 00 00 00 01 00 00 00
[ 82.691005] 04 00 00 00 01 00 0a 00 fd 05 e0 01 e0 04 00 00
[ 82.691006] 00 00 00 00 1e 00 1e 00 00 00 02 00 00 00 00 00
[ 82.691007] amdgpu 0000:01:00.0: HDMI-A-2: EDID invalid.
Note that the monitor is typically labeled as HDMI-A-1.
The screen configuration in KDE lists 1368x768 as the maximum resolution no=
w.=20
I managed to restore the old resolution either by rebooting, or by turning =
off
the AV receiver, then turning it back on. Still, the desktop is messed up.<=
/pre>
I suspect the receiver manufacturer never validated DPMS. Mos= t consumer electronic devices (media players, DVD, Bluray, cable boxes, etc.) don't actually blank the display.
Yeah, that is a problem I still have with my AV-setup as well. In general the fault is caused by the AV receiver not correctly implementing the EDID handling (the timing turning things on/off is usually not correctly validated/implemented). We could do something like adding an option to re-query the EDID x seconds after an hot plug event and compare if it's changed.
I now believe there is a general problem with amdgpu's new DC.= =20 On another system, without an AV receiver in the chain, my display resoluti= on is reset to 1368x768 when I turn off the monitor and back on. That's a real= ly mess (not only my desktop after that). I have to reboot to get the full resolution again; killing X or unplugging the monitor does not restore it. Seems as if I have to turn off DC again and wait for a fix. <grmpf> I have this issue in my office (RX460) and on my second PC (RX580), reproduceably, all running openSUSE Tumbleweed, 4.15.1.
I feel your pain, I=E2=80=99m experiencing something similar h= ere: RX 580 =E2=86=92 HDMI @ FullHD =E2=86=92 Marantz NR1504 =E2=86=92 [EDID= -Fake-Plug] RX 580 =E2=86=92 DP @ UHD =E2=86=92 Dell P2715Q. Sometimes, when I turn the monitor off and on again, my desktop resolution = is reduced to 2048x1536 (this is not even 16:9) and I have no other option than rebooting to get 3840x2160 again. This was new coming with the DC patches b= ut does not happen every time I turn the monitor off and on again, rather rare= ly, but is endlessly annoying.
Looks like the conversation steered away from audio.=20 Please use a new ticket or comment on existing tickets dealing with wrong modes, such as https://bugs.freedesktop.org/show_bug.= cgi?id=3D105046.
| What | Removed | Added |
|---|---|---|
| Status | NEW | RESOLVED |
| Resolution | --- | MOVED |
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this = link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/58.