sc2 with wine on amd64

Mickaël Maillot mickael.maillot at gmail.com
Sun Jul 11 10:43:45 UTC 2010


Hi

i try to play StarCraft 2 with wine on my amd64 8-STABLE desktop.
first there is a patch to get the game working:
http://freelooser.fr/freebsd/patch-dlls__wined3d__swapchain_base.c
see bug: http://bugs.winehq.org/show_bug.cgi?id=23556

now the problem related to amd64, when i start the game with windbg:

WineDbg starting on pid 0019
First chance exception: page fault on write access to 0x00370000 in
32-bit code (0x7e66468f).
Register dump:
 CS:0033 SS:003b DS:003b ES:003b FS:0013 GS:001b
 EIP:7e66468f ESP:0034f930 EBP:0034f9b8 EFLAGS:00010a02(  R- --O I   - - - )
 EAX:00370000 EBX:7e75f32c ECX:00000003 EDX:00000067
 ESI:00000010 EDI:00000010
Stack dump:
0x0034f930:  0000031c 00000000 00000000 00000010
0x0034f940:  00000010 00000000 00000000 00000010
0x0034f950:  00000010 7ea66a1c 00133cd0 00000000
0x0034f960:  00cc0020 7e80dbc4 80808081 00000000
0x0034f970:  00010020 00370000 00000000 00000010
0x0034f980:  00000010 00000040 00200001 00000000
Backtrace:
=>0 0x7e66468f create_alpha_bitmap+0x2af(color=0x318, mask=0x314,
src_info=0x133cd0, color_bits=0x7ea66a1c)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:771]
in user32 (0x0034fa38)
  1 0x7e664ada create_icon_bitmaps+0x389(bmi=0x7ea669f4, width=0x0010,
height=0x0010, color=0x34fa70, mask=0x34fa6c, alpha=0x34fa68)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:837]
in user32 (0x0034fa98)
  2 0x7e664ecb CURSORICON_CreateIconFromBMI+0x23a(bmi=0x7ea669f4,
hotspot={x=0x0008, y=0x0008}, bIcon=0x0001, dwVersion=0x30000,
width=0x0010, height=0x0010, cFlag=0x8000)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:917]
in user32 (0x0034faf8)
  3 0x7e665914 CreateIconFromResourceEx+0x153(bits="(", cbSize=0x0468,
bIcon=0x0001, dwVersion=0x30000, width=0x0010, height=0x0010,
cFlag=0x8000) [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:1159]
in user32 (0x0034fb78)
wineserver: file_set_error() can't map error: Bad address
  4 0x7e665f42 CURSORICON_Load+0x311(hInstance=0x7e950000, name=***
invalid address 0x1 ***, width=0x0010, height=0x0010, depth=0x0020,
fCursor=0, loadflags=0x8000)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:1292]
in user32 (0x0034fbc8)
wineserver: file_set_error() can't map error: Bad address
  5 0x7e6693cb LoadImageW+0x1fa(hinst=0x7e950000, name=*** invalid
address 0x1 ***, type=0x0001, desiredx=0x0010, desiredy=0x0010,
loadflags=0x8000)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:2392]
in user32 (0x0034fc68)
wineserver: file_set_error() can't map error: Bad address
  6 0x7e668fed LoadImageA+0x4c(hinst=0x7e950000, name=*** invalid
address 0x1 ***, type=0x0001, desiredx=0x0010, desiredy=0x0010,
loadflags=0x8000)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:2333]
in user32 (0x0034fcc8)
  7 0x7e97119e SIC_Initialize+0x1bd()
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/shell32/iconcache.c:417]
in shell32 (0x0034fd08)
  8 0x7e97e8c5 DllMain+0xe4(hinstDLL=0x7e950000, fdwReason=0x0001,
fImpLoad=0x1) [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/shell32/shell32_main.c:1166]
in shell32 (0x0034fd38)
  9 0x7e9c9e1a __wine_spec_dll_entry+0x69(inst=0x7e950000,
reason=0x0001, reserved=0x1)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/winecrt0/dll_entry.c:40]
in shell32 (0x0034fd58)
  10 0x7e44a925 call_dll_entry_point+0x14() in ntdll (0x0034fe58)
  11 0x7e44ce77 MODULE_InitDLL+0x216(wm=0x1191e0, reason=0x0001,
lpReserved=0x1)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:982]
in ntdll (0x0034fec8)
  12 0x7e44d211 process_attach+0x190(wm=0x1191e0, lpReserved=0x1)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1071]
in ntdll (0x0034ff38)
  13 0x7e44d1c3 process_attach+0x142(wm=0x119130, lpReserved=0x1)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1063]
in ntdll (0x0034ffa8)
  14 0x7e44d1c3 process_attach+0x142(wm=0x1186f8, lpReserved=0x1)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1063]
in ntdll (0x0034ffe8)
  15 0x7e4515e4 attach_process_dlls+0x53(wm=0x1186f8)
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:2541]
in ntdll (0x00000000)
0x7e66468f create_alpha_bitmap+0x2af
[/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:771]
in user32: movb	%dl,0x0(%eax)
Unable to open file ''
Wine-dbg>

the cursor does not have its bitmaps.
the game crash few second laster with also a memory access problem.


More information about the freebsd-emulation mailing list