https://bugs.freedesktop.org/show_bug.cgi?id=110031
Bug ID: 110031 Summary: Failure to configure monitors with dc enabled Product: DRI Version: unspecified Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: tom@compton.nu
I have a new machine with an RX 570 card and three monitors connected that works with booting with amdgpu.dc=0 but fails to configure the monitors correctly under both Wayland and Gnome when display is enabled (the default).
First the basics of the setup - it's an RX 570 with three monitors, left to right:
NEC LCD2170NX 1600x1200 rotated 90 degrees and connected to HDMI-A-1 Dell 3007WFPHC 2560x1600 connected to DVI-1-D NEC LCD2170NX 1600x1200 rotated 90 degrees and connected to DP-1
The BIOS initially turns on the left and right monitors but once the kernel starts booting the DVI connected monitor in the middle is turned on as well with all three showing he same image.
By default Gnome tries to start gdm under Wayland but all three screens go blank and the kernel logs a failure to commit the mode change.
Forcing X instead will get the gdm greeter displayed on the right hand screen only but after logging in it's impossible to activate the middle screen though the left hand one can be.
If I boot with the left and right screens physically unplugged (not just turned off) then X will activate the middle monitor and I can then plug the others in and use them successfully. This does not work with Wayland however.
Booting with display core disabled causes everything to work fine under both Wayland and X sessions.
Logs (with amdgpu.dc_log=1 drm.debug=6) for both Wayland and X boots are attached. A summary of some possibly relevant software versions is:
kernel-4.20.14-200.fc29.x86_64 libdrm-2.4.97-1.fc29.x86_64 mesa-dri-drivers-18.3.4-1.fc29.x86_64 mutter-3.30.2-2.fc29.x86_64 gnome-shell-3.30.2-1.fc29.x86_64 xorg-x11-drv-amdgpu-18.1.0-1.fc29.x86_64 xorg-x11-server-Xorg-1.20.4-1.fc29.x86_64
Hopefully this isn't in completely the wrong place but please do say if you think it should be somewhere else or if there are other tests I should try etc.