I'm using Ubuntu 10.04 and Wine 1.2-1.1.4 and my directx.c file looks different from what you described. I posted it here
http://pastebin.ca/1879145. I tried pasting what you suggested before line 176 and it didn't appear to effect anything, gave me some error message about pcaps not having a pre existing value when I compiled it. And this function you supplied "IDirect3DDevice9Impl_GetDeviceCaps(LPDIRECT3DDEVI C E9 iface, D3DCAPS9* pCaps)" wasn't in the file anywhere. Any suggestions? I'm assuming that the file is very different from the version you were using 3 months ago.