[Wine] D3D problem... Mac Specific?
phnord
wineforum-user at winehq.org
Mon Jan 10 20:12:21 CST 2011
I don't know if this is the right place for this; but seeing as it's the only publicly accessible forum on winehq I thought I'd try here first.
I've been trying to run a couple of games by Nifflas (http://nifflas.ni2.se). His older games, Knytt, Knytt Stories, and Within A Deep Forest all run perfectly with the correct Microsoft Visual C++ Runtime Libraries installed.
However, his latest two - Saira and NightSky - will boot, but refuse to draw to the window. The games are windowed; but I have tried them on a virtual desktop and had the same problems.
According to this account of an attempt in Ubuntu (http://appdb.winehq.org/objectManager.php?sClass=version&iId=19014), this issue doesn't appear to happen on Linux.
I've gone through the logs and appear to have isolated a series of errors that happen in any of his games that refuse to draw. They are as follow.
-----
First, the log spits out:
Code:
fixme:win:EnumDisplayDevicesW ((null),0,0x33f68c,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f7ac,0x00000000), stub!
Then it goes into a loop which has something to do with failing to create draw contexts. Each iteration of the loop varies. First there is an error that looks like:
Code:
wine[99527] <Error>: unknown error code: invalid drawable
The *first* iteration of this loop is accompanied by:
Code:
wine[99527] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Then the loop goes on...
Code:
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context *CONTEXTADDR* current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
Where "CONTEXTADDR" changes with each iteration.
If this is not the first iteration of the loop, this is followed by:
Code:
err:d3d:context_release Failed to restore GL context *PREVCONTEXTADDR* on device context 0x6bc, last error 0x7d0.
Where "PREVCONTEXTADDR" is the context address used in the *last* iteration of the loop.
-----
Then the loop branches into one of four directions. Sometimes it just continues past this point, but the other times one of the following sets of errors is generated:
Code:
fixme:d3d:getFormatDescEntry Can't find format WINED3DFMT_R24_UNORM_X8_TYPELESS(73) in the format lookup table
fixme:d3d:getDepthStencilBits Unsupported stencil format: WINED3DFMT_UNKNOWN
Or
Code:
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
Or, if it is the last time going through the loop:
Code:
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
-----
This is always followed by the following log:
Code:
path: *SEQUENTIALADDR*
Where "SEQUENTIALADDR" goes up by an arbitrary amount with each loop
-----
Finally, the loop again branches - this time in three directions. Sometimes it just continues past this point, but roughly half the time the following error is generated:
Code:
err:d3d:context_create wglShareLists(0x0, *NEXTCONTEXTADDR*) failed, last error 0.
Where "NEXTCONTEXTADDR" is the context address used in the next iteration of the loop.
If it happens to be the *last* iteration of the loop, this branch instead produces:
Code:
fixme:msvcr90:__clean_type_info_names_internal (0x3d89a0) stub
fixme:msvcr90:__clean_type_info_names_internal (0x78507750) stub
-----
In practice, this looks like this (NightSky used in example):
Code:
Monday, January 10, 2011 8:02:03 PM America/New_York
fixme:win:EnumDisplayDevicesW ((null),0,0x33f68c,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f7ac,0x00000000), stub!
path: 62387_0x400129
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: unknown error code: invalid drawable
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context 0x1e4b08 current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
path: 62387_0x40012a
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: unknown error code: invalid drawable
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context 0x1e4ba8 current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
err:d3d:context_release Failed to restore GL context 0x1e4b08 on device context 0x6bc, last error 0x7d0.
fixme:d3d:getFormatDescEntry Can't find format WINED3DFMT_R24_UNORM_X8_TYPELESS(73) in the format lookup table
fixme:d3d:getDepthStencilBits Unsupported stencil format: WINED3DFMT_UNKNOWN
path: 62387_0x40012b
err:d3d:context_create wglShareLists(0x0, 0x1e4c30) failed, last error 0.
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: unknown error code: invalid drawable
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context 0x1e4c30 current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
err:d3d:context_release Failed to restore GL context 0x1e4ba8 on device context 0x6bc, last error 0x7d0.
path: 62387_0x40012c
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: unknown error code: invalid drawable
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context 0x1e4cb8 current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
err:d3d:context_release Failed to restore GL context 0x1e4c30 on device context 0x6bc, last error 0x7d0.
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
path: 62387_0x40012d
err:d3d:context_create wglShareLists(0x0, 0x1de4e8) failed, last error 0.
Mon Jan 10 20:02:26 new-host.home wine[99527] <Error>: unknown error code: invalid drawable
set off screen: invalid drawable
err:d3d:context_set_current Failed to make GL context 0x1de4e8 current on device context 0x6bc, last error 0.
err:d3d:context_create Cannot activate context to set up defaults
err:d3d:context_release Failed to restore GL context 0x1e4cb8 on device context 0x6bc, last error 0x7d0.
err:d3d9:device_parent_CreateSwapChain (0x16ecec) CreateAdditionalSwapChain failed, returning 0x8876086a
err:d3d:IWineD3DDeviceImpl_Release Context array not freed!
path: 62387_0x40012e
fixme:msvcr90:__clean_type_info_names_internal (0x3f89a0) stub
fixme:msvcr90:__clean_type_info_names_internal (0x78507750) stub
-----
Any ideas as to what exactly is causing this, or how to fix it?
More information about the wine-users
mailing list