Various Windows games crash upon launch (Wine 1.3.34 + openSUSE 12.1)

Disclaimer: I am generally technically inclined but I am still a newbie when it comes to Linux.

I recently installed openSUSE 12.1 x86_64 (w/ KDE desktop) on my Toshiba Satellite L655-S5165 (Arrandale Core i5 + ATI Mobility Radeon HD 5650), ran YaST’s update function, and installed the (apparently outdated) version of Wine listed in YaST. I was (and still am) using the open source drivers for my video card (technically it’s a GPU and four RAM chips soldered to my motherboard but you get the idea).

I installed the GOG.com versions (DRM-free downloadable Windows installers, no discs required to install or play) of Heroes of Might and Magic III Complete and Might and Magic VI. They both installed fine, but crashed upon launch. I got a very generic error message from Wine that did not specify an error code or reason for the crash (with both games).
I then uninstalled my games using the Wine uninstaller, uninstalled Wine, rebooted, added the Wine repository, and installed the latest version of Wine, rebooted, and then installed my games again and tried to play, with the exact same results. I then installed Might and Magic VII (also courtesy of GOG.com) and made it a few seconds into the intro before getting the same generic error message (and crash) as the other two games.

I’m a little puzzled. Anyone have any ideas? Thanks!

I couldn’t figure out how to edit my post, but I thought I would add, in KDE’s System Information window, my 2D video card driver is listed as “radeon” and my 3D video card driver is listed as “Unknown Gallium (7.11).” I do have Mesa-32-bit installed, its version (as listed in YaST) is 7.11-11.1.2, the same version as the package simply called “Mesa.”

If there’s a proprietary driver available for your GPU (I don’t use ATI, so I don’t know), install it. Open source drivers are inadequate for 3D games in Wine.

Heroes of Might and Magic III Complete and Might and Magic VI are not 3D games. They are 2D games which do not even require a dedicated video card (they came out in the 1990s). They have no functions which require even the least bit of graphics hardware acceleration. These games were working fine under Fedora 15 using open source drivers. Also, the proprietary AMD driver is bugged to hell and generally unusable (they don’t put much effort into it). The open source drivers are much more polished. I like openSUSE much more than Fedora so I’d prefer to continue using it but I’d like my old-school 2D games to work without installing a proprietary driver which hardly works itself.

There’s an open, unconfirmed bug for HOMM3 crashing on start, WineHQ Bugzilla - Bug 29129 - HOMM3 (from GOG.com) installs, but does not start on Intel video card. The original reporter had Intel graphics, but comments 15 & 16 in that bug report indicate that one user, at least, has also had the same problem with the ATI open source driver, while the fglrx driver worked fine on the same system.

You could run the game from a terminal and compare the output to the logs posted in the bug report.

Thanks much for your help!

I’m guessing this is a bug in my open source video card driver.

I used this command:

env WINEPREFIX="/home/brendan/.wine" wine C:\\windows\\command\\start.exe /Unix /home/brendan/.wine/dosdevices/c:/users/Public/Desktop/Heroes\ of\ Might\ and\ Magic\ 3\ Complete.lnk &> ~/homm3-run.log

And got this log file. If anyone knows what it means, please do share, but my primitive understanding of it indicates a problem with my video card driver (r600_dri.so was mentioned at least several times). My hope is that waiting around for the next version of Mesa will fix my problem; If anyone can say with a degree of certainty greater than “I have a vague general idea” (because that’s all I’ve got right now) that my hope will be fulfilled or not, please let me know. I really would like to avoid proprietary drivers, at least until the next version of Mesa comes out and proves itself bugged.

I did post the log file on winehq’s bugzilla.

fixme:exec:SHELL_execute flags ignored: 0x00000100
fixme:exec:SHELL_execute flags ignored: 0x00004100
wine: Unhandled page fault on read access to 0xffffffff at address 0x7d77a87d (thread 0026), starting debugger...
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x7d77a87d).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7d77a87d ESP:0033eab8 EBP:7da69ff4 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:7c5f7ffc EBX:7c4838d0 ECX:7c5edc58 EDX:00000000
 ESI:00000000 EDI:7c4838a8
Stack dump:
0x0033eab8:  7c5edc58 00000000 0033eaec 7c5f909c
0x0033eac8:  7da69ff4 7c5f80d8 7c5edc48 7c483878
0x0033ead8:  7c4838e0 7da69ff4 7d7e4e95 7c5edbd8
0x0033eae8:  7c4838e0 7c5edbd8 00000000 f75f4ff4
0x0033eaf8:  f75f63c0 7d9561ef 00000020 f74ffd7c
0x0033eb08:  7c476cd0 7c5edc48 7c61d8e0 7cdd7ff4
000c: sel=0067 base=00000000 limit=00000000 32-bit r--
Backtrace:
=>0 0x7d77a87d _ZN4llvm12PassRegistry21registerAnalysisGroupEPKvS2_RNS_8PassInfoEbb+0x2dd() in r600_dri.so (0x7da69ff4)
  1 0x7d651d1b _ZN4llvm18initializeNoAAPassERNS_12PassRegistryE+0x11a() in r600_dri.so (0x7daa113c)
  2 0x7d609568 _ZN4llvm36initializeAliasAnalysisAnalysisGroupERNS_12PassRegistryE+0x47() in r600_dri.so (0x7c483868)
  3 0x7d69b3cb _ZN4llvm36initializeTypeBasedAliasAnalysisPassERNS_12PassRegistryE+0x4a() in r600_dri.so (0x7c483868)
  4 0x7d69b54e _ZN4llvm32createTypeBasedAliasAnalysisPassEv+0x6d() in r600_dri.so (0x7c5ede78)
  5 0x7d3ebe44 _ZN4llvm17LLVMTargetMachine22addCommonCodeGenPassesERNS_15PassManagerBaseENS_10CodeGenOpt5LevelEbRPNS_9MCContextE+0x23() in r600_dri.so (0x7c5ede78)
  6 0x7d3ec76c _ZN4llvm17LLVMTargetMachine26addPassesToEmitMachineCodeERNS_15PassManagerBaseERNS_14JITCodeEmitterENS_10CodeGenOpt5LevelEb+0x4b() in r600_dri.so (0x7c5ede78)
  7 0x7d173a71 _ZN4llvm3JITC1EPNS_6ModuleERNS_13TargetMachineERNS_13TargetJITInfoEPNS_16JITMemoryManagerENS_10CodeGenOpt5LevelEb+0x210() in r600_dri.so (0x7c5ede78)
  8 0x7d17366f _ZN4llvm3JIT9createJITEPNS_6ModuleEPSsPNS_16JITMemoryManagerENS_10CodeGenOpt5LevelEbPNS_13TargetMachineE+0x8e() in r600_dri.so (0x7c61d6b4)
  9 0x7d188d1a _ZN4llvm13EngineBuilder6createEv+0x159() in r600_dri.so (0x00000000)
0x7d77a87d _ZN4llvm12PassRegistry21registerAnalysisGroupEPKvS2_RNS_8PassInfoEbb+0x2dd in r600_dri.so: 	
Modules:
Module	Address			Debug info	Name (81 modules)
PE	  340000-  36b000	Deferred        binkw32
PE	  370000-  393000	Deferred        ifc20
PE	  400000-  6b6000	Deferred        heroes3
PE	10000000-1001b000	Deferred        smackw32
PE	21000000-21058000	Deferred        mss32
ELF	7bf00000-7bf04000	Deferred        <wine-loader>
ELF	7ccd4000-7ccf2000	Deferred        libgcc_s.so.1
ELF	7cde0000-7dae9000	Dwarf           r600_dri.so
ELF	7dae9000-7daf2000	Deferred        librt.so.1
ELF	7db31000-7db3e000	Deferred        libdrm.so.2
ELF	7db3e000-7db5a000	Deferred        libglapi.so.0
ELF	7db5a000-7dbb5000	Deferred        libgl.so.1
ELF	7dc02000-7dc06000	Deferred        libxdamage.so.1
ELF	7dc06000-7dc3c000	Deferred        uxtheme<elf>
  \-PE	7dc10000-7dc3c000	\               uxtheme
ELF	7dc52000-7dc59000	Deferred        libxfixes.so.3
ELF	7dc59000-7dc64000	Deferred        libxcursor.so.1
ELF	7dd2c000-7dd56000	Deferred        libexpat.so.1
ELF	7dd56000-7dd8b000	Deferred        libfontconfig.so.1
ELF	7dd8b000-7dd9b000	Deferred        libxi.so.6
ELF	7dd9b000-7dd9f000	Deferred        libxcomposite.so.1
ELF	7dd9f000-7dda8000	Deferred        libxrandr.so.2
ELF	7dda8000-7ddb3000	Deferred        libxrender.so.1
ELF	7ddb3000-7ddb9000	Deferred        libxxf86vm.so.1
ELF	7ddb9000-7ddbd000	Deferred        libxinerama.so.1
ELF	7ddbd000-7dde1000	Deferred        imm32<elf>
  \-PE	7ddc0000-7dde1000	\               imm32
ELF	7dde1000-7dde5000	Deferred        libxau.so.6
ELF	7dde5000-7de05000	Deferred        libxcb.so.1
ELF	7de05000-7de0b000	Deferred        libuuid.so.1
ELF	7de0b000-7de26000	Deferred        libice.so.6
ELF	7de26000-7df62000	Deferred        libx11.so.6
ELF	7df62000-7df74000	Deferred        libxext.so.6
ELF	7df74000-7df7d000	Deferred        libsm.so.6
ELF	7df7d000-7e02c000	Deferred        winex11<elf>
  \-PE	7df90000-7e02c000	\               winex11
ELF	7e02c000-7e044000	Deferred        libz.so.1
ELF	7e044000-7e0cd000	Deferred        libfreetype.so.6
ELF	7e0ea000-7e1f2000	Deferred        comctl32<elf>
  \-PE	7e0f0000-7e1f2000	\               comctl32
ELF	7e1f2000-7e265000	Deferred        shlwapi<elf>
  \-PE	7e200000-7e265000	\               shlwapi
ELF	7e265000-7e495000	Deferred        shell32<elf>
  \-PE	7e270000-7e495000	\               shell32
ELF	7e495000-7e4b8000	Deferred        iphlpapi<elf>
  \-PE	7e4a0000-7e4b8000	\               iphlpapi
ELF	7e4b8000-7e4ec000	Deferred        ws2_32<elf>
  \-PE	7e4c0000-7e4ec000	\               ws2_32
ELF	7e4ec000-7e62f000	Deferred        wined3d<elf>
  \-PE	7e500000-7e62f000	\               wined3d
ELF	7e62f000-7e69f000	Deferred        ddraw<elf>
  \-PE	7e640000-7e69f000	\               ddraw
ELF	7e69f000-7e6c9000	Deferred        msacm32<elf>
  \-PE	7e6b0000-7e6c9000	\               msacm32
ELF	7e6c9000-7e746000	Deferred        rpcrt4<elf>
  \-PE	7e6d0000-7e746000	\               rpcrt4
ELF	7e746000-7e86e000	Deferred        ole32<elf>
  \-PE	7e760000-7e86e000	\               ole32
ELF	7e86e000-7e8d7000	Deferred        advapi32<elf>
  \-PE	7e880000-7e8d7000	\               advapi32
ELF	7e8d7000-7e99c000	Deferred        gdi32<elf>
  \-PE	7e8e0000-7e99c000	\               gdi32
ELF	7e99c000-7eaee000	Deferred        user32<elf>
  \-PE	7e9b0000-7eaee000	\               user32
ELF	7eaee000-7eb97000	Deferred        winmm<elf>
  \-PE	7eb00000-7eb97000	\               winmm
ELF	7eb97000-7ebb1000	Deferred        version<elf>
  \-PE	7eba0000-7ebb1000	\               version
ELF	7ed20000-7eee5000	Deferred        kernel32<elf>
  \-PE	7ed30000-7eee5000	\               kernel32
ELF	7eee5000-7ef10000	Deferred        libm.so.6
ELF	7ef11000-7ef2d000	Deferred        wsock32<elf>
  \-PE	7ef20000-7ef2d000	\               wsock32
ELF	7ef2d000-7f000000	Deferred        ntdll<elf>
  \-PE	7ef40000-7f000000	\               ntdll
ELF	f7488000-f748d000	Deferred        libdl.so.2
ELF	f748d000-f75f9000	Deferred        libc.so.6
ELF	f75f9000-f7614000	Deferred        libpthread.so.0
ELF	f7631000-f7775000	Dwarf           libwine.so.1
ELF	f7776000-f7797000	Deferred        ld-linux.so.2
ELF	ffffe000-fffff000	Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	0000001f    0
	0000001e    0
	0000001d    0
	00000017    0
	00000015    0
	00000010    0
	0000000f    0
00000012 winedevice.exe
	00000019    0
	00000018    0
	00000014    0
	00000013    0
0000001a plugplay.exe
	00000020    0
	0000001c    0
	0000001b    0
00000021 explorer.exe
	00000022    0
00000023 gogwrap.exe
	00000024    0
00000025 (D) G:\GWP\GOG.com\Heroes of Might and Magic 3 Complete\Heroes3.exe
	00000026    0 <==
Backtrace:
=>0 0x7d77a87d _ZN4llvm12PassRegistry21registerAnalysisGroupEPKvS2_RNS_8PassInfoEbb+0x2dd() in r600_dri.so (0x7da69ff4)
  1 0x7d651d1b _ZN4llvm18initializeNoAAPassERNS_12PassRegistryE+0x11a() in r600_dri.so (0x7daa113c)
  2 0x7d609568 _ZN4llvm36initializeAliasAnalysisAnalysisGroupERNS_12PassRegistryE+0x47() in r600_dri.so (0x7c483868)
  3 0x7d69b3cb _ZN4llvm36initializeTypeBasedAliasAnalysisPassERNS_12PassRegistryE+0x4a() in r600_dri.so (0x7c483868)
  4 0x7d69b54e _ZN4llvm32createTypeBasedAliasAnalysisPassEv+0x6d() in r600_dri.so (0x7c5ede78)
  5 0x7d3ebe44 _ZN4llvm17LLVMTargetMachine22addCommonCodeGenPassesERNS_15PassManagerBaseENS_10CodeGenOpt5LevelEbRPNS_9MCContextE+0x23() in r600_dri.so (0x7c5ede78)
  6 0x7d3ec76c _ZN4llvm17LLVMTargetMachine26addPassesToEmitMachineCodeERNS_15PassManagerBaseERNS_14JITCodeEmitterENS_10CodeGenOpt5LevelEb+0x4b() in r600_dri.so (0x7c5ede78)
  7 0x7d173a71 _ZN4llvm3JITC1EPNS_6ModuleERNS_13TargetMachineERNS_13TargetJITInfoEPNS_16JITMemoryManagerENS_10CodeGenOpt5LevelEb+0x210() in r600_dri.so (0x7c5ede78)
  8 0x7d17366f _ZN4llvm3JIT9createJITEPNS_6ModuleEPSsPNS_16JITMemoryManagerENS_10CodeGenOpt5LevelEbPNS_13TargetMachineE+0x8e() in r600_dri.so (0x7c61d6b4)
  9 0x7d188d1a _ZN4llvm13EngineBuilder6createEv+0x159() in r600_dri.so (0x00000000)

Thanks for posting it there. I see in the bug report that you’ve already gotten a response pointing you to the (probable) Mesa bug and possible workaround. Let us know if it works for you.