https://bugs.winehq.org/show_bug.cgi?id=42324
Bug ID: 42324 Summary: Wine selects wrong OpenGL renderer on macOS Product: Wine Version: 2.0-rc6 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: critical Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: f.platte@platte-web.de
Created attachment 57072 --> https://bugs.winehq.org/attachment.cgi?id=57072 example images
I'm using a 13 inch 2012 MacBook Pro with a Thunderbolt eGPU (GTX 750Ti). Due to macOS limitations the the eGPU can only accelerate the external monitor. (Some application which support selecting a renderer work on the internal display. e.g openglex4 [OpenGL Extensions Viewer]). To my knowledge the macOS applications else always use the renderer driving the screen where they are launched on. However wine does not respect this behaviour.
I tried running several windows executables like the benchmark tools Valley and Heaven which keep using the Mac's internal Intel HD4000 graphics although being used on the external screen. I tried several wine engines from the staging, stable and development tree, which all are affected. To check wether it might be an OS related issue I also ran the Mac-native versions of the benchmarks mentioned above which both worked as expected (using the OpenGL renderer driving the monitor they are launched on).
This basically breaks games and other GPU heavy windows programs in my case. I do not know whether hackintoshes are affected as well as they basically are the only other macOS machines having integrated and dedicated GPU driving different monitors.
The logical solution seems to be to make wine respect the way macOS assigns renderer while an ideal solution would be implementing a way to select a renderer/always default to the dedicated GPU as this would enable accelerating the internal monitor with the external GPU like it's possible with windows.