https://bugs.winehq.org/show_bug.cgi?id=55629
Bug ID: 55629 Summary: user32:monitor fails on macOS due to unsupported display modes Product: Wine Version: unspecified Hardware: x86-64 OS: Mac OS X Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
user32:monitor fails on macOS due to unsupported display modes:
monitor.c:448: Test failed: Unexpected ChangeDisplaySettingsExA() return code for vid_modes_test[1]: -2 monitor.c:448: Test failed: Unexpected ChangeDisplaySettingsExA() return code for vid_modes_test[4]: -2
See https://test.winehq.org/data/patterns.html#user32:monitor
Where -2 == DISP_CHANGE_BADMODE
The failures correspond to failing to change the resolution to 1024x768 in the must_succeed case. Because the DM_BITSPERPEL flag is not set, this is not caused by the lack of support for changing the display's bit depth (see bug 55628). In fact, if I understand correctly, winemac.drv's macdrv_ChangeDisplaySettings() always ignores dmBitsPerPel so it should not fail even if DM_BITSPERPEL was set.
So it must be that some display modes, specifically 1024x768, are not supported on macOS, or more specifically, in this test configuration (see also bug 55559).
The failures are systematic and only happen on macOS (see Remi's rbernon-macos-* cloud test machines).