https://bugs.winehq.org/show_bug.cgi?id=40297
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ken@codeweavers.com
--- Comment #2 from Ken Thomases ken@codeweavers.com --- Created attachment 53937 --> https://bugs.winehq.org/attachment.cgi?id=53937 Use an assembly wrapper to call EnumDisplayMonitors callback
I suspect (with very little supporting evidence) that the issue is that the games are passing a non-stdcall callback function to EnumDisplayMonitors(). That results in the stack being messed up after it returns.
It's similar to the issue fixed by https://source.winehq.org/git/wine.git/?a=commit;h=b08c400fe2924bf7137e350c3673b11d3a6378c2 and the fix will probably be similar. I've attached a patch based on that. Give it a try.
Another thing to try: test with the X11 driver. That would presumably require a similar patch. Set the following registry setting:
[HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics"="x11,mac"
You will also need to make sure that Wine will find the X11 libraries at load time. That may entail setting the DYLD_FALLBACK_LIBRARY_PATH environment variable which is complicated by El Capitan's System Integrity Protection (SIP). Ask if you encounter trouble.