Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
+ preferred_mode->height = monitor->rc_monitor.bottom - monitor->rc_monitor.top; + + for (i = 0; i < monitor->adapter->mode_count; ++i) + { + DEVMODEW *mode = &monitor->adapter->modes[i]; + + if (mode->dmPelsWidth == preferred_mode->width && mode->dmPelsHeight == preferred_mode->height + && mode->dmDisplayFrequency > display_frequency) + display_frequency = mode->dmDisplayFrequency; + } + if (!display_frequency) display_frequency = 60; + preferred_mode->targetMode.targetVideoSignalInfo.vSyncFreq.Numerator = display_frequency; + preferred_mode->targetMode.targetVideoSignalInfo.vSyncFreq.Denominator = 1; + preferred_mode->targetMode.targetVideoSignalInfo.activeSize.cx = preferred_mode->width; + preferred_mode->targetMode.targetVideoSignalInfo.activeSize.cy = preferred_mode->height; + preferred_mode->targetMode.targetVideoSignalInfo.totalSize = preferred_mode->targetMode.targetVideoSignalInfo.activeSize; You should also fill in other fields in DISPLAYCONFIG_VIDEO_SIGNAL_INFO with reasonable values instead of zeros.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2678#note_30607