Hello everyone, Please let me know what logs/command outputs I can give, not sure what would help you all out. I recently bought an AMD RX 550, first GPU with the Polaris architecture (so I assume growing pains here), and am experiencing a bug where HDMI at 4k 60 fps is not working, but DisplayPort does. HDMI 4k60fps is working for me under Windows, so to me it's safe to say this is a Mesa problem. This was happening on Mesa 17.0.5 and 17.2 git on OpenSUSE Tumbleweed, in addition to Mesa 17 on Ubuntu 17.04.
Hi Liam, I haven't tried it myself but I don't think this will work with the upstream amdgpu driver. You can try Alex's amd-staging-4.9 or amd-staging-4.11 trees and enable CONFIG_DRM_AMD_DC to get support for our new display driver which is not upstream yet. That should give you support for 4k60 over HDMI. I don't think Mesa has anything to do with this. Cheers, Harry
I just wanted to mention here that I currently use an RX 460 GPU to drive an HDMI display at 3840x2160 60Hz, this became possible some time ago when DC code was merged into the open source amdgpu driver. (BTW: HDMI audio also works for me.) I use a kernel compiled from https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next as of "commit 94097b0f7f1bfa54b3b1f8b0d74bbd271a0564e4". So I think this bug-report could be closed with "works with bleeding edge amdgpu version, now".
One more cosmetic note: Despite HDMI 2 modes with up to 600MHz working fine for me, now, log messages emitted still talk about "max TMDS clock 300MHz", but other messages and the display clearly indicate that in fact up to 600MHz are in use.
Do you mind posting the logs? We might just need to cleanup the messages (i.e. not print them).
Sure can do: This I find in Xorg.0.log: [ 36.956] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz [ 36.956] (II) AMDGPU(0): Printing probed modes for output HDMI-A-0 [ 36.956] (II) AMDGPU(0): Modeline "3840x2160"x60.0 594.00 3840 4016 4104 4400 2160 2168 2178 2250 +hsync +vsync (135.0 kHz eP) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x60.0 594.00 4096 4184 4272 4400 2160 2168 2178 2250 +hsync +vsync (135.0 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x50.0 594.00 4096 5064 5152 5280 2160 2168 2178 2250 +hsync +vsync (112.5 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x59.9 593.41 4096 4184 4272 4400 2160 2168 2178 2250 +hsync +vsync (134.9 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x30.0 297.00 4096 4184 4272 4400 2160 2168 2178 2250 +hsync +vsync (67.5 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x25.0 297.00 4096 5064 5152 5280 2160 2168 2178 2250 +hsync +vsync (56.2 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x24.0 297.00 4096 5116 5204 5500 2160 2168 2178 2250 +hsync +vsync (54.0 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x30.0 296.70 4096 4184 4272 4400 2160 2168 2178 2250 +hsync +vsync (67.4 kHz e) [ 36.956] (II) AMDGPU(0): Modeline "4096x2160"x24.0 296.70 4096 5116 5204 5500 2160 2168 2178 2250 +hsync +vsync (53.9 kHz e) [ 36.956] (II) AMDGPU(0): Output HDMI-A-0 using initial mode 3840x2160 +0+0 ... and also later... [ 133.973] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz ... [ 152.286] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz ... etc., seemingly as often as the EDID is re-read/re-considered. From the first parameter of the Modelines one can already see that modes with 594.00 MHz clock are found, and indeed, the "3840x2160" mode at 60Hz is used, as both xrandr and the connected display report: HDMI-A-0 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm 3840x2160 60.00*+ 50.00 59.94 30.00 25.00 24.00 29.97 23.98
(In reply to dwagner from comment #5) > ... and also later... > [ 133.973] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz > ... > [ 152.286] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz > ... > etc., seemingly as often as the EDID is re-read/re-considered. > The message is from the xserver, not the driver. It's warning you because the clock for the mode exceeds the max TMDS clock as stated by the EDID.
(In reply to Alex Deucher from comment #6) > (In reply to dwagner from comment #5) > > [ 133.973] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz > > The message is from the xserver, not the driver. It's warning you because > the clock for the mode exceeds the max TMDS clock as stated by the EDID. Hmmm - when I "cat /usr/lib/firmware/edid/LG_EG9609_edid.bin | parse-edid", the output contains: # Maximum pixel clock is 600MHz Does the xserver have its own, flawed EDID parser?
(In reply to dwagner from comment #7) > > Does the xserver have its own, flawed EDID parser? Yes, the xserver has it's own edid parser.
Ok, then nothing left to fix for this report, it seems. @Liam Murphy: Good to close this report then?
-- 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/168.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.