Some more info about my
Metro Last Light v1.0.0.4 investigation. I found REAL regression in latest WineD3Ds.
System config:
- Intel Core i5-3570 @3.4GHz
4GB RAM
NVIDIA GeForce GTX480 1536MB (320.49 WinXP Driver)
Windows Server 2003 SP2 (Hardware acceleraion enabled - all DX9 games works fine)
The method of testing is simple - put Wine's d3d9.dll, wined3d.dll, libwine.dll into game folder.
When using
WineD3D 1.1.38 (available at nongnu.org) after running MetroLL.exe, game splashes warning window (D3D: Your NVIDIA video driver needs to be upgraded - system can be unstable (see the attached screenshot below)) and really starts and shows game intro properly and after intro it crashes:
- DependencyWalker crash log:
DllMain(0x039F0000, DLL_THREAD_ATTACH, 0x00000000) in "CUDART32_41_22.DLL" returned 1 (0x1) by thread 35.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglSetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6B98 by thread 28.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 28.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglDescribePixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6559 by thread 28.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 28.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglDescribePixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6559 by thread 28.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 28.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 28.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 28.
HEAP[METROLL.EXE]: Heap block at 29076F18 modified at 29076F2D past requested size of d
First chance exception 0x80000003 (Breakpoint) occurred in "NTDLL.DLL" at address 0x7C92A229 by thread 28.
HEAP[METROLL.EXE]: Invalid Address specified to RtlFreeHeap( 00150000, 29076F20 )
First chance exception 0x80000003 (Breakpoint) occurred in "NTDLL.DLL" at address 0x7C92A229 by thread 28.
First chance exception 0xC0000005 (Access Violation) occurred in "METROLL.EXE" at address 0x0096E217 by thread 1.
Second chance exception 0xC0000005 (Access Violation) occurred in "METROLL.EXE" at address 0x0096E217 by thread 1.
But when using
WineD3D 1.4.1 (recently available at nongnu.org), game tries to start, creates black application window and crashes:
- DependencyWalker crash log:
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 23.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglDescribePixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6559 by thread 23.
First chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x62B64ECA by thread 23.
Second chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x62B64ECA by thread 23.
Using
WineD3D 1.6 rc4 (compiled myself), game tries to start, creates black application window and crashes:
- DependencyWalker crash log:
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 23.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglDescribePixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6559 by thread 23.
First chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x63E64B6B by thread 23.
Second chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x63E64B6B by thread 23.
And when using
ReactOS D3D (latest svn version 42.4.0.0 presumably based on Wine 1.5.3), game tries to start, creates black application window and crashes:
- DependencyWalker crash log:
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglGetPixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F5DE9 by thread 23.
LoadLibraryA("OPENGL32") called from "GDI32.DLL" at address 0x77C227EC by thread 23.
LoadLibraryA("OPENGL32") returned 0x5E8D0000 by thread 23.
GetProcAddress(0x5E8D0000 [OPENGL32.DLL], "wglDescribePixelFormat") called from "GDI32.DLL" at address 0x77C227FF and returned 0x5E8F6559 by thread 23.
err:d3d:context_create wglShareLists(00020000, 00010001) failed, last error 0xaa.
err:d3d:swapchain_create_context Failed to create a new context for the swapchain
First chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x7097F724 by thread 23.
Second chance exception 0xC0000005 (Access Violation) occurred in "WINED3D.DLL" at address 0x7097F724 by thread 23.