http://bugs.winehq.org/show_bug.cgi?id=31245
--- Comment #11 from Sandor Geller wildy73@gmail.com 2013-05-02 16:10:46 CDT --- TEsted using wine 1.5.29 using a new WINEPREFIX to ensure that other apps won't mess up settings. The game installed and ran fine, even in-game videomode switching worked perfectly until I used it in OpenGL mode. My monitor is set to its native 1920x1200 resolution while the game supports up to 1600x1200 so I set this resolution in the menu. I noticed that selecting 1400x1050 resolution (which is supported by the monitor) I got 1600x1200 instead.
Running the game using OpenGL the video was stretched and clipped so the menu displayed on the right side was only partially visible. The mouse cursor was in the 1600x1200 rectangle so couldn't enter the dead / invisible area.
Using WINEDEBUG=+opengl,+xrender I got the following logs:
trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.4. trace:xrandr:xrandr12_init_modes CRTC 0: mode 0xa1, 1920x1200+0+0. trace:xrandr:xrandr12_init_modes OUTPUT 0: name "DFP6". trace:xrandr:xrandr12_init_modes Adding mode 0xa1: 1920x1200@60. trace:xrandr:xrandr12_init_modes Adding mode 0xa2: 1920x1080@60. trace:xrandr:xrandr12_init_modes Adding mode 0xa3: 1600x1200@60. [ more modes follow, then the whole gets repeated 5 more times ] fixme:win:EnumDisplayDevicesW ((null),0,0x33f258,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33f5a0,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33f5d0,0x00000000), stub! trace:xrandr:xrandr12_set_current_mode CRTC 0: mode 0xa1, 1920x1200+0+0. trace:opengl:glGetIntegerv (34018, 0x6fae36a8) trace:opengl:glMatrixMode (5888) [ ... ] trace:opengl:glViewport (0, 0, 1920, 1200) trace:opengl:glDepthRange (0.000000, 1.000000) trace:opengl:glScissor (0, 0, 1920, 1200)
Looks like the original 1920x1200 resolution was used for the OpenGL context however the resolution was switched to 1600x1200 mode. Surprisingly this mode switch wasn't logged anywhere, only the last but one logline (when the game was exiting) showed a mode switch:
[ .. lots of texture deletion messages ] trace:opengl:glDeleteTextures (1, 0x3bf0108) trace:xrandr:xrandr12_set_current_mode CRTC 0: mode 0xa3, 1600x1200+0+0. fixme:msvcrt:__clean_type_info_names_internal (0x150591a0) stub
If I use xrandr to switch to the resolution set in the game then OpenGL mode works as long as I'm using that resolution, the first in-game mode switch results in stretching / clipping, choosing some resolutions could cause such clipping that the whole menu gets missing similarly to my previous report.