Rémi Bernon (@rbernon) commented about dlls/winewayland.drv/wayland_output.c:
#define WAYLAND_OUTPUT_CHANGED_LOGICAL_XY 0x04 #define WAYLAND_OUTPUT_CHANGED_LOGICAL_WH 0x08
+static const struct { int32_t width; int32_t height; } common_modes[] = {
- { 320, 200}, /* CGA 16:10 */
- { 320, 240}, /* QVGA 4:3 */
- { 400, 300}, /* qSVGA 4:3 */
- { 480, 320}, /* HVGA 3:2 */
- { 512, 384}, /* MAC 4:3 */
- { 640, 360}, /* nHD 16:9 */
- { 640, 400}, /* VESA-0100h 16:10 */
Instead of reporting every possible resolution you should instead make it more like the resolutions Windows reports.
I don't think for instance that modern Windows reports resolution below 640x480 (or maybe even below 800x600), and for the record I believe that it *always* reports 800x600 and 1024x768 (and perhaps 640x480) even if the adapter wouldn't normally on Linux.
Note that Proton fshack also showed that some games don't like having too many resolutions (Spellforce for instance is capped at 16 modes, Nier Automata, Dark Souls 3 and Sekiro are capped at 32 modes), and this list feels quite too long.