Try to find out why "Unity3d (3D application)" doesn't work with Wine.

a qi free4machine at gmail.com
Tue Oct 6 11:02:22 CDT 2009


Hi,All

I try to run  a 3D application named  "Unity 3d"  with Wine, but failed.

And there is already  a bug report about that:

Bug 18061 -  Unity Indie Trial Editor window contents not drawn
http://bugs.winehq.org/show_bug.cgi?id=18061


Now I try to find out  the reason.

So, I follow the error messages:

...
err:wgl:internal_SetPixelFormat Couldn't set format of the window, returning
failure
err:d3d:CreateContext SetPixelFormat failed on HDC=0x1534 for iPixelFormat=3
err:d3d:IWineD3DDeviceImpl_CreateSwapChain Failed to create a new context
...


do

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

vim dlls/winex11.drv/opengl.c


/* This function is the core of X11DRV_SetPixelFormat and
X11DRV_SetPixelFormatWINE.
 * Both functions are the same except that X11DRV_SetPixelFormatWINE allows
you to
 * set the pixel format multiple times. */
static BOOL internal_SetPixelFormat(X11DRV_PDEVICE *physDev,
                           int iPixelFormat,
                           const PIXELFORMATDESCRIPTOR *ppfd) {
    WineGLPixelFormat *fmt;
    int value;
    HWND hwnd;

....

        if(!SendMessageW(hwnd, WM_X11DRV_SET_WIN_FORMAT,
(WPARAM)fmt->fmt_id, 0)) {
            ERR("Couldn't set format of the window, returning failure\n");
            return FALSE;
        }
    }
.......

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

But i can not find the definition of function "SendMessageW",


in   wine-1.1.30/dlls ,  i run   "    grep -ir --color  SendMessageW  .
|grep  spec      ",   just found something like this:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
./user32/user32.spec:@ stdcall SendMessageW(long long long long)
./unicows/unicows.spec:@ stdcall SendMessageW(long long long long)
./wtsapi32/wtsapi32.spec:@ stub WTSSendMessageW
./shlwapi/shlwapi.spec:136 stdcall -noname SendMessageWrapW(long long long
long) user32.SendMessageW

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

And I am not familiar with C  programming.

Any ideas?  Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20091007/6ddf7e30/attachment.htm>


More information about the wine-devel mailing list