Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
for (i = 0; i < 4; ++i) { + if (edid[54 + i * 18] || edid[54 + i * 18 + 1]) + { + /* Detailed timing descriptor. */ + if (info->flags & MONITOR_INFO_HAS_PREFERRED_MODE) continue; + info->preferred_width = edid[54 + i * 18 + 2] | ((UINT32)(edid[54 + i * 18 + 4] & 0xf0) << 4); + info->preferred_height = edid[54 + i * 18 + 5] | ((UINT32)(edid[54 + i * 18 + 7] & 0xf0) << 4); + if (info->preferred_width && info->preferred_height) + info->flags |= MONITOR_INFO_HAS_PREFERRED_MODE; + continue; + }
Actually, the EDID Detailed Timing Descriptor should contain a recommended display frequency and we should use that as well. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2678#note_31229