Some background: I ran Guild Wars fine in Gutsy using -dx8 -dsound and -noshaders, as of Hardy I can't get it to work...
Wine versions: currently running wine-1.0-rc1 but this was happening in 60 and 59 as well. Not sure what version I had in Gutsy, but it was pre-59
GFX: ATI Radeon x800SE, glxgears churns along fine at 7000FPS. I have tried it with the fresh Hardy unsupported ATI drivers, with compiz removed, AIGLX turned off in xorg.conf, and then I installed EnvyNG and let it update fglrx
Other tweaks: I've put in every regedit fix in the Wine AppDB for GW, have tried every permutation of OSS, ALSA, emulation and emulate driver, and have tried Win2000, XP, and 98 compatibility (in Gutsy it ran fine with XP). Also have played with turning off vertex and pixel shaders in winecfg
$ WINEDEBUG="fixme-all" wine Gw.exe -noshaders -dx8 -nosound -windowed
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
err:ntdll:RtlpWaitForCriticalSection section 0x7e5f2b20 "x11drv_main.c: X11DRV_CritSection" wait timed out in thread 002d, blocked by 001b, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x7e5f2b20 "x11drv_main.c: X11DRV_CritSection" wait timed out in thread 0020, blocked by 001b, retrying (60 sec)
err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
I'm running windowed to avoid the 1-2min timeout while it's crashing and to prevent it from reseting my resolution each time - in full screen I get the GW mouse cursor and a dark gray/blue screen. In windowed I get an error: Guild Wars has encountered an unrecoverable graphics error and must terminate (followed by web links etc).
-dx9 and -dx7 ignore the -windowed switch, and I've been running -nosound to completely eliminate that variable.
So any ideas? If I had to hazard a guess, I'd say Hardy updated the ATI driver and hosed me.
Aside: WoW works in Wine as well as it did in Gutsy, just had to turn off shaders (SET M2UseShaders "0", which I do not remember having to do in Gutsy). I would imagine that -noshaders knocks this out in GW though.