You are not logged in.

#1 2014-01-25 15:02:44

dRaiser
Member
From: Poland
Registered: 2013-05-20
Posts: 51
Website

[SOLVED] Wine DirectX games started crashing when key pressed

Hi, I have issue with wine apps and I'm not sure what cause that. Games start fine, but when I press any key, they hang out and wine logs "Unhandled page fault on read access" (haven't seen anything more useful). The apps which doesn't use D3D seems to be fine. My system use nvidia driver.  I tried to downgrade wine and nvidia, creating new wineprefix, but it didn't help.

Could you please try to help me fixing this problem? I think that some future update will probably fix that, but I'd like to have some temporary solution first.

Last edited by dRaiser (2014-01-28 17:15:58)

Offline

#2 2014-01-27 15:26:24

ColdPie
Member
Registered: 2007-09-18
Posts: 47

Re: [SOLVED] Wine DirectX games started crashing when key pressed

For what it's worth, I also have this problem. I suspect it may be a Wine bug. I haven't tried downgrading yet, but I think I remember that Wine 1.7.9 worked well. Can you try downgrading?

Offline

#3 2014-01-27 15:39:35

dRaiser
Member
From: Poland
Registered: 2013-05-20
Posts: 51
Website

Re: [SOLVED] Wine DirectX games started crashing when key pressed

I've tested version you specified with no luck - but I'm sure that is was also working with 1.7.11 also, so it seems that no Wine is to blame.

Offline

#4 2014-01-28 11:55:26

XDarkAngelX
Member
Registered: 2014-01-08
Posts: 62

Re: [SOLVED] Wine DirectX games started crashing when key pressed

Are you trying to the games using steam?  Cause if you do you might want to try starting them with out the steam overlay

Offline

#5 2014-01-28 17:15:35

dRaiser
Member
From: Poland
Registered: 2013-05-20
Posts: 51
Website

Re: [SOLVED] Wine DirectX games started crashing when key pressed

That was it! I was confused because some other games I tested (non-Steam) also happened to crash, but it must be from different reasons. Thanks!

Offline

#6 2014-01-28 20:03:39

Daerandin
Member
From: Norway
Registered: 2013-05-07
Posts: 259
Website

Re: [SOLVED] Wine DirectX games started crashing when key pressed

This problem only began after the Steam update earlier this month. As you have discovered, disabling the Steam overlay solves the problem. However, in my experience I have encountered a few problems when disabling it from Steam settings, sometimes games don't exit properly, leaving Steam believing the game is still running.

For this reason, I simply wanted to provide another option to disabling the overlay which has worked better for me. If you start Winecfg, go to the "Library" tab, and add a custom library named "gameoverlayrenderer", then edit it so you can set it to "Disabled".

Offline

#7 2014-02-13 06:40:07

Arakis
Member
From: Hamminkeln - Germany
Registered: 2013-08-11
Posts: 46
Website

Re: [SOLVED] Wine DirectX games started crashing when key pressed

When disabling gameoverlayrenderer completly, it could happen, that some games will fail to launch. More simple is to deactivate the steam community for that game (right click the game, properties, uncheck the in-game steam community). But this is only a workarround, the result is, with both solutions you will not have an working in-game steam community. But for multiplayer, most games need it.

So i found out a way to solve it.

Problem

When you play steam games on Linux with Wine and having the in-game Steam Community enabled, the game may crash when hitting any key. The main problem is, there's a dll called "imm32.dll", that's an internal dll of windows. The dll's API is not documented, so the wine develeopers cannot reimplement this library very well. You can read more about the bug here. I found three solutions to solve this Problem:

Solution 1: The simple Way

Simply disable to Steam Community for the specific game. Right click the game, choose Properties and uncheck "Enable Steam Community in game". The disadvantage is, you can't use multiplayer than.

Solution 2: The compilation way

You simple "patch" the source code of the official open source imm32.dll of wine.

$ git clone git://source.winehq.org/git/wine.git ~/wine-git
$ cd ~/wine-git

Optional, but highly recommented:
$ nano Makefile
and change "prefix = ..." to "prefix = /tmp/wine".
do the same with "ac_default_prefix = ..." in the file "configure".

Now apply the patch:

$ nano dlls/imm32/imm.c

Search for this line: "BOOL WINAPI ImmProcessKey("...
and insert after the "TRACE("... line this new line:

return FALSE;

Please to not forget the ";" char.

Thats all! Now compile:

$ make ./configure
$ make depend
$ make
$ make install

If you are using PlayOnLinux, you can simply add a new wine version:

$ cp -r /tmp/wine ~/.PlayOnLinux/wine/linux-x86/1.7.x-imm-patch

In PlayOnLinux, select the Steam entry and press on the configure button in the menu bar and select the wine version "1.7.x-imm-patch".

You can read it on my blog, too: http://blog.en.edaro.net/2014/02/Wine-a … unity.html

Happy wine-playing!

Last edited by Arakis (2014-02-13 07:44:00)

Offline

Board footer

Powered by FluxBB