Bug 99801

Summary: Rx480 doesn't output properly onto z27q at 5120x2880
Product: DRI Reporter: Matthew Treinish <mtreinish>
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: major    
Priority: medium CC: bugs, fdsfgs, harry.wentland, mikita.lipski, utenkov.vv87
Version: unspecified   
Hardware: Other   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=105651
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Example output when X first starts
none
xorg log
none
The dmesg output related to drm and amdgpu
none
xrandr output when display output is like in picture
none
Picture of broken output with amd-staging-4.9 kernel
none
dmesg output grepped for drm or amdgpu with kernel built from amd-staging-4.9
none
xrandr output when running with amd-staging-4.9 branch kernel
none
xorg log when running with amd-staging-4.9 kernel
none
dmesg output (grepped for 'drm') from kernel running eee12cc2150b
none
Screen capture, right side is continuously scrolling from right to left none

Description Matthew Treinish 2017-02-14 03:12:51 UTC
Created attachment 129569 [details]
Example output when X first starts

I have a a z27q monitor and an rx480 gpu I've just purchased. When I startx on the machine trying to run the monitor at it's native 5120x2880 across the 2 display ports doesn't work. The output is divided with the image mirrored across both halves of the screen. Then one half is itself split in 2 with a negative image that is scrolling horizontally. I took a picture with my cellphone, since a screenshot showed the proper image.

I'm currently running the monitor over the single display port at a lower resolution of 3840x2160 (albeit with heavy flickering, which I think is a separate if not related issue)

The current output of xrandr is:

Screen 0: minimum 320 x 200, current 5040 x 2160, maximum 16384 x 16384
DisplayPort-0 connected primary 3840x2160+1200+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x2880     59.98 +
   2560x1440     59.95 +
   3840x2160     60.00* 
   1920x1080     60.00  
   1600x900      60.00  
   1366x768      59.99  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00    59.94  
DisplayPort-1 connected (normal left inverted right x axis y axis)
   2560x2880     59.98 +
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 connected 1200x1920+0+0 left (normal left inverted right x axis y axis) 474mm x 296mm
   1920x1200     59.95*+
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     59.88  
   1400x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      74.98    59.90  
   1024x768      75.03    70.07    60.00  
   800x600       72.19    75.00    60.32

This might just be a configuration issue as I'm not used to the KMS way of doing things. (I previously had an nvidia gpu using their binary blob on this display without issue) But, from what I can tell things are being configured to do the right thing automatically and it is not rendered properly over the wire. (especially because when I tried to take a screenshot of the issue it looked like it was supposed to)

I apologize that bug report lacks concrete details I'm willing to provide whatever information is necessary to debug this. I'm just not sure where to begin.
Comment 1 Michel Dänzer 2017-02-14 03:19:19 UTC
Please attach the Xorg log and the output of dmesg and xrandr corresponding to the problem.

Assuming you aren't already, using the amdgpu driver from the amd-staging-4.9 branch of https://cgit.freedesktop.org/~agd5f/linux/ with CONFIG_DRM_AMD_DC enabled might help.
Comment 2 Matthew Treinish 2017-02-14 03:27:08 UTC
Created attachment 129570 [details]
xorg log
Comment 3 Matthew Treinish 2017-02-14 03:29:14 UTC
Created attachment 129571 [details]
The dmesg output related to drm and amdgpu

I'm not sure what else you need from the dmesg output, this was all I found related to graphics card
Comment 4 Matthew Treinish 2017-02-14 03:32:14 UTC
Created attachment 129572 [details]
xrandr output when display output is like in picture
Comment 5 Matthew Treinish 2017-02-14 03:33:43 UTC
Thanks, I wasn't aware of that. I have not tried running from that branch, I'm just using what comes in the archlinux packages. I'll build that and give it a try.
Comment 6 Matthew Treinish 2017-02-14 04:27:09 UTC
I just ran with the kernel built from the current head of the amd-staging-4.9 branch and still had the same problem. I'll upload the logs from this too. The weird tiling got a bit stranger this time with things being the corners and more things scrolling
Comment 7 Matthew Treinish 2017-02-14 04:29:00 UTC
Created attachment 129574 [details]
Picture of broken output with amd-staging-4.9 kernel
Comment 8 Matthew Treinish 2017-02-14 04:29:55 UTC
Created attachment 129575 [details]
dmesg output grepped for drm or amdgpu with kernel built from amd-staging-4.9
Comment 9 Matthew Treinish 2017-02-14 04:30:37 UTC
Created attachment 129576 [details]
xrandr output when running with amd-staging-4.9 branch kernel
Comment 10 Matthew Treinish 2017-02-14 04:31:45 UTC
Created attachment 129577 [details]
xorg log when running with amd-staging-4.9 kernel
Comment 11 Michel Dänzer 2017-02-14 06:09:41 UTC
Anyway, this is likely a kernel driver issue.

Harry / DC folks, can you take a look?
Comment 12 Harry Wentland 2017-02-14 16:59:07 UTC
We're currently debugging an issue that looks very similar, if not the same. It's also with a 5k display with two DP input but on a different platform. The display pipe driving one half of the display is underflowing. Hope we'll find a fix soon.

Not sure about the issue in 4k mode but there's a good chance the display pipe is underflowing for the same reason as the problem in 5k mode.
Comment 13 Matthew Treinish 2017-07-06 15:26:43 UTC
I was wondering if there was any update on this? I'm still seeing the same issue on a 4.11.7 kernel. I'm willing to test out any patches or provide any additional debug info that is needed.
Comment 14 Matthew Treinish 2017-07-16 23:09:37 UTC
Just for some more information I gave the current tip of the amd-staging-4.11 branch on https://cgit.freedesktop.org/~agd5f/linux/ (commit 308514e6861e) a try and it was still having the same problems driving my monitor at 5120x2880.
Comment 15 Matthew Treinish 2017-10-16 02:25:00 UTC
I tested the most recent kernel from the drm-next-4.15-dc branch found at: https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.15-dc (commit 	b175d392cfb28a9d260904bbb330917efe039331 ) The problem with my 5K display still persists. Has there been any update on this issue?
Comment 16 Mikita Lipski 2017-10-27 17:24:56 UTC
The issue seems to be fixed, please try verifying the following commit:  

'acea3103ed43d4dddca284297229b96b4457013d'
Author: Leo (Sunpeng) Li <sunpeng.li@amd.com>
dm/amdgpu: Do not release DC state on S3 resume

The issue was caused by improper synchronization of the panels of 5K display.
It also seems like issue is more display specific because the issue was reproducing very inconsistently.
Comment 17 Harry Wentland 2017-10-27 19:07:04 UTC
Mikita's patch is from our internal tree. On the kernel you'd be looking for this one:

commit cf543d5b52d4d2a425649d21f8a2f046c0e08cbf
Author: Rex Zhu <Rex.Zhu@amd.com>
Date:   Fri Oct 20 18:37:04 2017 +0800

    Revert "drm/amd/display: Match actual state during S3 resume."
    
    This reverts commit 7ae4acd21e9e264afb079e23d43bcf2238c7dbea.
    
    fix s3 hang issue.
    
    Change-Id: Id30da9b1fef9bc32e5d211da7a166dffc1246a55
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>

Not sure how this would fix the problem, though. We'll give it another spin on amd-staging-drm-next.
Comment 18 Harry Wentland 2017-11-09 20:36:20 UTC
Can you retest this on either one of the following trees?

Alex's amd-staging-drm-next tree https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next

Dave's drm-next-amd-dc-staging https://cgit.freedesktop.org/~airlied/linux/log/drivers/gpu/drm/amd/amdgpu?h=drm-next-amd-dc-staging

We believe this issue has been fixed but had trouble identifying the fix. We only had a Dell 5k display to test with. There's a chance this is monitor specific.

Please build with CONFIG_DRM_AMD_DC_PRE_VEGA or pass the amdgpu.dc=1 module option and ensure dc is loaded by checking 'dmesg | grep Display'. You should get the following:

[drm] Display Core initialized!

If the issue still reproduces we might have to give this another try or see if we can find that HP z27q panel.

Thanks for your help on this.
Comment 19 Matthew Treinish 2017-11-14 00:20:47 UTC
Created attachment 135442 [details]
dmesg output (grepped for 'drm') from kernel running eee12cc2150b
Comment 20 Matthew Treinish 2017-11-14 00:21:20 UTC
Ok, I built a kernel from Alex's amd-staging-drm-next tree https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next the head of the tree was:

eee12cc2150b932ee52ccf89de611a7ba030eb90  drm/amdgpu/virt: remove redundant variable pf2vf_ver

and I confirmed that dc is loaded by checking for: [   10.330032] [drm] Display Core initialized!
in dmesg. But the problem still persists. Although instead of 4 segments in each corner like before, there are only 2 now.

I've attached the dmesg output (grepped for drm) and I can provide any additional debug information needed. Just let me know and I'll gladly do what I can to help.
Comment 21 Jean-Yves Avenard 2018-03-26 08:01:36 UTC
Adding some likely unhelpful info.
But I've had similar (though not the same) problem since I got this screen.
However, unlike most comments, I do not get two steady, mis-aligned image on each half of the screen.

The effect is an enormous flickering, mostly on the left half, with colour cycling. The screen internal menu can no longer be displayed.

Any long exposure to that mode would cause seizure to any healthy person.

The only work around to get out of that mode is to disable one of the screen and set the remaining half to 2560x1440 resolution only. 

Typically, after entering this corrupted mode, the screen will flicker continuously sometimes for hours. One day, I even thought I broke the screen as it was still flickering one day later and got HP to replace it.
The new model did that same thing (actually all 4 HPz27q I got, as it took a while to get one without stuck pixels)

I get the same effect with both a mac pro 2013 (dual AMD D500 aka AMD 7800) or with a PC with an AMD Vega 64.

I'll take a picture of what it looks like and upload.
Comment 22 Jean-Yves Avenard 2018-03-26 08:13:16 UTC
Welcome to Ubuntu 17.10 (GNU/Linux 4.15.12-041512-generic x86_64)

 * Documentation:  https://help.ubuntu.com


jyavenard@jya7980ex:~$ xrandr
Screen 0: minimum 320 x 200, current 7680 x 2880, maximum 16384 x 16384
DisplayPort-0 connected primary 2560x2880+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x2880     59.98*+
   2560x1440     59.95 +
   3840x2160     60.00  
   1920x1200     59.95  
   1920x1080     60.00  
   1600x1200     59.95  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     59.95  
   1440x900      59.95  
   1366x768      59.99  
   1280x800      59.95  
   1280x720      60.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00    59.94  
DisplayPort-1 connected 2560x2880+2560+0 (normal left inverted right x axis y axis) 299mm x 336mm
   2560x2880     59.98*+
   1920x1200     59.98  
   1920x1080     59.98  
   1600x1200     59.98  
   1680x1050     59.98  
   1280x1024     59.98  
   1440x900      59.98  
   1280x800      59.98  
   1280x720      59.98  
   1024x768      59.98  
   800x600       59.98  
   640x480       59.98  
DisplayPort-2 connected 2560x1440+5120+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1200     59.95  
   1920x1080     59.95  
   1600x1200     59.95  
   1680x1050     59.95  
   1280x1024     59.95  
   1440x900      59.95  
   1280x800      59.95  
   1280x720      59.86  
   1024x768      59.95  
   800x600       59.95  
   640x480       59.95  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
jyavenard@jya7980ex:~$
Comment 23 Jean-Yves Avenard 2018-03-26 08:14:48 UTC
Created attachment 138353 [details]
Screen capture, right side is continuously scrolling from right to left

Using kernel 4.15.12
Comment 24 Jean-Yves Avenard 2018-03-26 08:16:58 UTC
$ dmesg | grep Display
[   34.895577] usb 1-1.4: Product: Display Audio
[   34.911627] input: Apple Inc. Display Audio as /devices/pci0000:20/0000:20:00.0/0000:21:00.0/0000:22:04.0/0000:44:00.0/0000:45:05.0/0000:48:00.0/0000:49:00.0/0000:4a:00.0/0000:4b:03.0/0000:4c:00.2/usb1/1-1/1-1.4/1-1.4:1.3/0003:05AC:1107.0001/input/input3
[   34.911680] hid-generic 0003:05AC:1107.0001: input,hidraw0: USB HID v1.11 Device [Apple Inc. Display Audio] on usb-0000:4c:00.2-1.4/input3
[   35.013532] [drm] Display Core initialized!
[   35.101815] usb 1-1.5: Product: FaceTime HD Camera (Display)
[   35.291969] usb 1-1.7: Product: Apple Thunderbolt Display
[   35.293635] hid-generic 0003:05AC:9227.0002: hiddev0,hidraw1: USB HID v1.11 Device [Apple Inc. Apple Thunderbolt Display] on usb-0000:4c:00.2-1.7/input0
[   38.170984] uvcvideo: Found UVC 1.00 device FaceTime HD Camera (Display) (05ac:1112)
[   38.177911] input: FaceTime HD Camera (Display): F as /devices/pci0000:20/0000:20:00.0/0000:21:00.0/0000:22:04.0/0000:44:00.0/0000:45:05.0/0000:48:00.0/0000:49:00.0/0000:4a:00.0/0000:4b:03.0/0000:4c:00.2/usb1/1-1/1-1.5/1-1.5:1.0/input/input19
Comment 25 Matthew Treinish 2018-03-31 01:36:10 UTC
(In reply to Jean-Yves Avenard from comment #21)
> Adding some likely unhelpful info.
> But I've had similar (though not the same) problem since I got this screen.
> However, unlike most comments, I do not get two steady, mis-aligned image on
> each half of the screen.
> 
> The effect is an enormous flickering, mostly on the left half, with colour
> cycling. The screen internal menu can no longer be displayed.
> 
> Any long exposure to that mode would cause seizure to any healthy person.
> 
> The only work around to get out of that mode is to disable one of the screen
> and set the remaining half to 2560x1440 resolution only. 
> 
> Typically, after entering this corrupted mode, the screen will flicker
> continuously sometimes for hours. One day, I even thought I broke the screen
> as it was still flickering one day later and got HP to replace it.
> The new model did that same thing (actually all 4 HPz27q I got, as it took a
> while to get one without stuck pixels)
> 
> I get the same effect with both a mac pro 2013 (dual AMD D500 aka AMD 7800)
> or with a PC with an AMD Vega 64.
> 
> I'll take a picture of what it looks like and upload.

FWIW, this description is more or less exactly what I'm experiencing on my display as well. (although I never tried the screen internal menu piece) I probably just didn't do a good job taking a picture and/or describing it.
Comment 26 Martin Peres 2019-11-19 08:14:03 UTC
-- 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/134.

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.