Hello, I would like to report a Samsung HDMI display that provides an incorrect preferred mode in its EDID.
The display is a native 1366x768 panel, but its EDID marks 1360x768 as
the preferred timing. The EDID itself is structurally valid and also
contains a valid 1366x768 timing.
Display identification from EDID:
- Manufacturer: `SAM`
- Product ID: `28744`
- Serial: `16780800`
- EDID version: 1.3
- Manufacture date: week 1, 2020
Relevant timings from the original EDID:
DTD 1: 1360x768 @ 60.015 Hz
...
CTA DTD 5: 1366x768 @ 59.7895 Hz
CTA DTD 6: 1360x768 @ 60.015 Hz
Because 1360x768 is the first detailed timing, it is treated as the
preferred mode.
This appears to be incorrect for this display. Selecting 1360x768
causes visible scaling/blur, while 1366x768 produces a sharp native
image.
The important point is that 1366x768 is already provided by the
monitor's EDID with the correct timing; Linux does not need to create
or add a new mode.
I tested this by creating an EDID override which only changes the
preferred timing from the existing 1360x768 timing to the existing
1366x768 timing.
With the original EDID:
1360x768
...
1366x768
With the corrected EDID:
1366x768
...
1360x768
The corrected EDID passes `edid-decode` validation.
I loaded it using:
drm.edid_firmware=HDMI-A-1:edid/samsung-1366.bin
After reboot, DRM reported 1366x768 as the first mode:
1366x768
...
1360x768
and the desktop selected 1366x768. The display is sharp at its native
resolution.
The same general behavior was reproduced with different Linux
distributions and hardware, including a separate NVIDIA-based Nintendo
Switch system running Fedora/KDE on x11 so it does not appear specific
to one desktop environment or compositor.
Current test system:
Arch Linux
Linux 7.2.6-arch2-1
NVIDIA DRM
GNOME / Wayland
Would this display be appropriate for an EDID quirk to correct the
preferred mode, or is there another preferred-mode handling mechanism
that would be more appropriate?
The underlying issue appears to be that the Samsung display is
providing an incorrect preferred-mode declaration in its EDID:
1360x768 is advertised as preferred even though the panel is 1366x768
and the EDID already contains the correct 1366x768 timing.
I have attached both the original EDID and the corrected EDID used for the test.
Thanks.
edid_raw.bin
Description: Binary data
edid_raw_patched.bin
Description: Binary data
