X doesn't start with three monitors connected
I have Lenovo x240 connected to the three external monitors through the dock (all with the same resolution, at least two with the same pixel clock). The lid is closed, i.e. the internal LCD is not used.
The X server refuses now to start with this configuration with the: (EE) modeset(0): failed to set mode: Invalid argument in the log.
I have to disconnect one external monitor, reboot machine and when the X starts with two external monitors I have to connect the third.
It worked for years and this problem started to manifest since 1.20 release of X.
Problem manifests with the modesetting driver (not with the Intel driver) and with lightdm. Maybe it also depends on the videocard, because it doesn't happen on machine with newer Intel video card. Affected machine has: 8086:0a16 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
Upstream commit which introduces this problem: 9817c14f
Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Date: Wed Feb 28 01:19:39 2018 +0000
modesetting: Use atomic modesetting to configure output/CRTCs
To make sure we also use the same primary plane and to avoid
mixing uses of two APIs, it is better to always use the atomic
modesetting API when possible.
v2: Don't use mode_output->connector_id
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Downstream Fedora bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1664625