https://bugs.winehq.org/show_bug.cgi?id=51420
--- Comment #50 from Henri Verbeet hverbeet@gmail.com --- (In reply to Sveinar Søpler from comment #49)
@Henri What i suspect the nouvau driver does is just use a much more leanient check of these "EDID readings" or whatever safetychecks the driver does natively, and just automaticall "add modes" similar to what i describe above, and THAT is why it works "better" with that driver. It does not mean it is the right thing to do, nor that it is the safe thing to do, even tho it may work most of the time. I think the nVidia driver tries it best to detect - within margins of capabilities reported - the correct settings, and sometimes gets it wrong for various reasons (bugged EDID as an example). I had quite a few modes on my 1440p monitor that was "not valid" due to it not existing in the EDID. If that is because the EDID has some errors in it, it is not nVidia's fault. I also checked my monitors EDID on http://www.edidreader.com/ and it showed the same errors there.
Perhaps differences in EDID validation play a role in some cases, but that's not the general case for why that fallback was introduced. The general case is about displays that really only report a single mode, and depend on the GPU to do scaling.
In case you're interested in the details about how this works in the Nouveau KMS driver, some key functions there are nouveau_connector_scaler_modes_add() and nouveau_conn_atomic_set_property() in the generic code, and then for e.g. GF110 nv50_head_atomic_check() and head907d_view().