http://bugs.winehq.org/show_bug.cgi?id=11203
--- Comment #11 from Ian Goddard igoddard@nildram.co.uk 2008-01-18 06:41:18 --- (In reply to comment #9)
Maybe we just need a better detection of the real framebuffer depth, and hardcoding 24 -> 32 isn't enough.
I tried the following:
In x11drv_main.c I verified that X11DRV_setup_opengl_visual() was being called before the switch.
I added a 32-bit case to the switch so that screen_bpp would be set to 24 or 32 as appropriate.
In opengl.c I added 32-bit options to the start of the visualProperties array in X11DRV_setup_opengl_visual()
The result of this is that it correctly identifies the 24-bit server but I have no way of knowing whether it would correctly identify a 32-bit server nor whether the opengl.c changes might cause problems on other hardware.
However a second bug is exposed. If 24 bits are set, either by simply hacking the 24-bit switch as per the earlier comment or by the amendments I've just described, text in some dialogs is invisible. I'll try running regression tests to determine whether this shows up in an earlier patch.