xrandr fails to detect preferred resolution on valid EDID block
My laptop is connected to a Samsung U28E590 over DP. xrandr fails to establish its preferred mode (3840x2160). No modes are marked with a '+', and running xrandr --auto selects an incorrect resolution (2560x1440). The laptop panel's preferred mode is correctly detected and marked with a '+'.
According to the EDID specification, if the Preferred Timing Mode bit is set (which is actually required after EDID 1.3), the preferred mode is indicated by the first entry in the detailed timing block. I dumped the EDID block with
cat /sys/class/drm/card0-DP-1/edid |edid-decode>edid.txt and it's attached to this post.
The Preferred Timing Mode bit is indeed set, as you can see with
First detailed timing includes the native pixel format and preferred refresh rate`
and here's the Detailed Mode block. The first (and only) entry is correct.
Detailed mode: Clock 533.250 MHz, 607 mm x 345 mm 3840 3888 3920 4000 hborder 0 2160 2163 2168 2222 vborder 0
The monitor's preferred mode is correctly detected by the Gnome display config tool, and I can force it into the correct mode with xrandr, but I'm moving to i3wm and will need to use xrandr to manage monitors. I travel a lot, so need it to correctly establish the preferred resolutions of random monitors.