[Wine] Wine redraw problem with baldur's gate ii (and others)

imitheos wineforum-user at winehq.org
Thu Jun 26 12:28:42 CDT 2008


When i upgraded wine from 0.9.46 to 0.9.53 i noticed a annoying thing.

When i run Baldur's Gate II - Shadows of Amn (and Icewind Dale II) on
normal fullscreen mode they work fine. If i enable the "emulate a virtual
desktop" option so that it runs on a window, it works fine until another
window gets on top of the wine window.

For example, i run xterm and run wine. If i click on the xterm window and
it comes on top of the wine window, after that wine doesn't redraw the
screen. When i click somewhere on the wine window, i hear the dialogue
that happens when the party walks so the game works, just the screen 
isn't redrawn.

I didn't want to bother but the problem still exists in wine 1.0 so i thought
to post.
I used git bisect on wine-0.9.52 -> wine-0.9.53 and found the commit that
causes the bug.

commit c290f4c7a3f357288d4766770f5239ea5b682ceb
Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Jan 1 15:29:58 2008 +0100

    wined3d: Detect geforce 7300 cards.

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 9536b71..1386a76 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1022,6 +1022,11 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
                     gl_info->gl_card = CARD_NVIDIA_GEFORCE_7400;
                     vidmem = 256; /* The 7400 uses 256-512MB */
+                /* Geforce7 lowend */
+                else if(strstr(gl_info->gl_renderer, "7300")) {
+                    gl_info->gl_card = CARD_NVIDIA_GEFORCE_7300;
+                    vidmem = 256; /* Mac Pros with this card have 256 MB */
+                }
                 /* Geforce6 highend */
                 else if(strstr(gl_info->gl_renderer, "6800"))

First, i thought i am possibly the only one with a 7300LE card that is why
nobody has this problem and everyone makes platinum reports in appdb,
but i tried a 8400GS and the same thing happens.

After posting this, i thought to try the "nv" driver to see what happens.
Wine works fine with the "nv" driver. The screen is redrawn fine.
The bug happens only with the binary "nvidia" driver.

Has anyone noticed this ?
I fix it easily with commenting the 7300 and 8400 lines in the above
file, but do you have any idea why this happens ?

Thank you for your time.

More information about the wine-users mailing list