You are not logged in.

#1 2009-10-17 17:46:39

dcfighter
Member
Registered: 2008-08-11
Posts: 23

Wine - probably nt.dll error.

Hi.
I try to run a game, which used to work just fine on my previous hardware.
It has platinum rank on appdb. When I execute it, menu comes up and then game freezes with error:

fixme:win:EnumDisplayDevicesW ((null),0,0x32f3f0,0x00000000), stub!
fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation support to SetDepthStencilSurface
fixme:dinput:SysMouseAImpl_Acquire Clipping cursor to (440,0)-(1246,625)
fixme:ddraw:IDirectDrawImpl_RestoreAllSurfaces (0x12e228): Stub
fixme:ddraw:IDirectDrawImpl_WaitForVerticalBlank (0x12e228)->(1,(nil)): Stub
err:ntdll:RtlpWaitForCriticalSection section 0x7b6b8040 "x11drv_main.c: X11DRV_CritSection" wait timed out in thread 001b, blocked by 0009, retrying (60 sec)
fixme:dinput:SysMouseAImpl_Acquire Clipping cursor to (440,25)-(1246,650)

The strange thing is - it's runs smooth for 3-5 seconds and then crashes. After some research I found out that it may be caused by some multi-threading error in wine (I have AMD X2 240 and integrated Radeon HD 4200, powered up by fglrx driver).

It's all the same for every version . I have tried even an another distro, but the outcome doesn't change.
On additional note: some other games/apps work just fine.
How can I solve this?

Last edited by dcfighter (2009-10-17 17:56:43)

Offline

#2 2009-10-17 18:06:10

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,549

Re: Wine - probably nt.dll error.

I'd file a bug report with Wine, I'm inexperienced but it does seem like a bug in Wine related to multithreading.

You could also force Wine to only use one thread, that may solve the problem.  But while I'm sure there's some way to do that, I have no clue how besides actually turning off one core temporarily with `echo 0 >> /sys/devices/system/cpu/cpu1/online` as root hmm (use echo 1 to turn it back on, obviously)

Offline

#3 2009-10-17 18:53:31

dcfighter
Member
Registered: 2008-08-11
Posts: 23

Re: Wine - probably nt.dll error.

Your solution sounds reasonable, but I've tested it just a moment ago and that error remains.

Offline

#4 2009-10-17 20:30:55

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,549

Re: Wine - probably nt.dll error.

So not a multithreading issue, then... I don't know.  http://bugs.winehq.org/

Offline

#5 2009-10-17 20:33:17

Peasantoid
Member
Registered: 2009-04-26
Posts: 928
Website

Re: Wine - probably nt.dll error.

Ranguvar wrote:

I'd file a bug report with Wine, I'm inexperienced but it does seem like a bug in Wine related to multithreading.

You could also force Wine to only use one thread, that may solve the problem.  But while I'm sure there's some way to do that, I have no clue how besides actually turning off one core temporarily with `echo 0 >> /sys/devices/system/cpu/cpu1/online` as root hmm (use echo 1 to turn it back on, obviously)

<nitpick>You'd want to use '>' rather than '>>'.</nitpick>

Offline

#6 2009-10-18 13:18:51

dcfighter
Member
Registered: 2008-08-11
Posts: 23

Re: Wine - probably nt.dll error.

Update:
Installation of catalyst-beta drivers eliminated the nt.dll error, the game doesn't crash anymore, but runs painfully slow, while the whole system is responsive and other non-native games run in 60 fps. I tried to edit direct3d entry in registry of wine, but that doesn't do the trick. Tried aticonfig --psuedo-color=on too. Error log looks like that now:

fixme:win:EnumDisplayDevicesW ((null),0,0x32f434,0x00000000), stub!
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16
fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation support to SetDepthStencilSurface
fixme:dinput:SysMouseAImpl_Acquire Clipping cursor to (0,0)-(800,600)
fixme:ddraw:IDirectDrawImpl_RestoreAllSurfaces (0x138e50): Stub

In my alternative linux distro, on the other partition, the game runs smooth but crashes, so it's like reversed situation.

Update 2:

It seems that it works flawless in windowed mode, but has issues in fullscreen - even in wine's virtual desktop. My wild guess was "vsync", but disabling it solved nothing.

fixme:ddraw:IDirectDrawImpl_WaitForVerticalBlank (0x145e18)->(1,(nil)): Stub

Last edited by dcfighter (2009-10-18 13:56:33)

Offline

#7 2009-10-18 15:46:59

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,549

Re: Wine - probably nt.dll error.

Oh, you're using fglrx?  Sorry, I didn't see.  Well, your problem is likely with them then, I'd check the AMD Bar & Grill.

Offline

Board footer

Powered by FluxBB