I was trying to run Diablo II under wine-0.9.6. Installed fine but wouldn't start up. Received message: 'Error 25: A critical error has occured while initializing Direct3D'. Found wine bug report at http://bugs.winehq.org/show_bug.cgi?id=3192 I created an ebuild under /usr/local/portage that applied the workaround of shorting out the functions. Now Diablo II works fine. I assume the fix removes functionality but it fixed my problem. Don't know if it would be a problem for some other application. Don't know when wine people will implement actual fix. My ebuild was the same as wine-0.9.6.ebuild except for the following diff: --- /usr/portage/app-emulation/wine/wine-0.9.6.ebuild 2006-01-20 08:35:23.000000000 -0500 +++ wine-0.9.6-r1.ebuild 2006-01-21 17:41:15.000000000 -0500 @@ -83,6 +83,8 @@ epatch "${FILESDIR}"/wine-20050524-alsa-headers.patch epatch "${FILESDIR}"/winearts-kdecvs-fix.patch sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in + sed -i 's/This->set_gamma_ramp(This, dwFlags, lpGammaRamp)/DD_OK/' dlls/ddraw/surface_gamma.c + sed -i 's/This->get_gamma_ramp(This, dwFlags, lpGammaRamp)/DD_OK/' dlls/ddraw/surface_gamma.c epatch "${FILESDIR}"/wine-20041019-no-stack.patch #66002 sed -i '/^MimeType/d' tools/wine.desktop || die #117785 }
post a patch instead of a sed please ;)
Created attachment 77883 [details, diff] wine ddraw gamma patch I put together a patch that operates a little differently from the sed commands in my previous post. The sed commands removed the internal function calls and replaced with DD_OK. The patch makes the function calls (as in the original code) but then returns DD_OK regardless of the returns of the internal function calls. I tried the patch as part of a build, re-emerged, and Diablo II still worked.
thanks, ive added your patch to wine 0.9.6