I figured out what it's waiting for. I did a +relay,+tid trace like this. cd `winepath f:\warhammer` WINEDEBUG=+relay,+tid wine warpatch Code: ....a few hundred lines cut like this: 0028:Call KERNEL32.Sleep(0000000a) ret=10002aab 0028:Ret KERNEL32.Sleep() retval=00000000 ret=10002aab ... and then 0034:Call KERNEL32.TlsGetValue(00000006) ret=0043d995 0034:Ret KERNEL32.TlsGetValue() retval=7b8281ac ret=0043d995 0034:Call KERNEL32.FlsGetValue(00000000) ret=0043dacd 0034:Ret KERNEL32.FlsGetValue() retval=006b0118 ret=0043dacd 0034:Call KERNEL32.SetLastError(00000057) ret=0043db28 0034:Ret KERNEL32.SetLastError() retval=00000057 ret=0043db28 I looked up Error 57 - Device I/O error. See below. Apparently, there is a problem with negotiation with the server. Either there is no reverse-DNS entry for the server (in which case simply adding it to /etc/hosts should fix it) Something like this. Todo: replace this dummy info with actual name and address /etc/hosts warhammerpatchserver.com/where? 123.456.78.90 >From http://www.powerbasic.com/support/help/pbcc/error_57_-_device_i_o_error.htm "Device I/O error - (%ERR_DEVICEIOERROR) - A hardware problem occurred when trying to carry out some device-orientated command. For example, a COMM connection was lost during a session, or a TCP/UDP statement failed to be connected, etc. Alternatively, a TCP/UDP port may have been closed unexpectedly or the network refused the connection requested. If an ERROR 57 occurs with a TCP OPEN statement under Windows 98 when using a dotted IP address string (i.e., "202.123.456.1"), then check to ensure that "Client for Microsoft Networks" is installed in the Network applet in Control Panel. Alternatively, manually add a DNS entry in the HOSTS file in the \WINDOWS folder. For example, add the following line into the HOSTS file, and change the TCP OPEN statement to use the (dummy) domain name instead of the dotted IP address: 202.123.456.1 dummyname.com"