I've been trying to run a couple of games by Nifflas. 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, 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: Select all
fixme:win:EnumDisplayDevicesW ((null),0,0x33f68c,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f7ac,0x00000000), stub!
Code: Select all
wine[99527] <Error>: unknown error code: invalid drawable
Code: Select all
wine[99527] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Code: Select all
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
If this is not the first iteration of the loop, this is followed by:
Code: Select all
err:d3d:context_release Failed to restore GL context *PREVCONTEXTADDR* on device context 0x6bc, last error 0x7d0.
-----
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: Select all
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
Code: Select all
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
Code: Select all
err:d3d:WineD3D_ChoosePixelFormat Can't find a suitable iPixelFormat
This is always followed by the following log:
Code: Select all
path: *SEQUENTIALADDR*
-----
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: Select all
err:d3d:context_create wglShareLists(0x0, *NEXTCONTEXTADDR*) failed, last error 0.
If it happens to be the *last* iteration of the loop, this branch instead produces:
Code: Select all
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: Select all
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?