I've had a very annoying problem for a while: Whenever I play RPG Maker games on Wine, the game will occasionally crash. The crashes only happen in some games, at specific stages, and are usually random (the same scene will only crash sometimes). This makes it either impossible or annoying to play most games, so I decided to dig deeper into the problem today.

First of all, the issue is caused by gstreamer. The logs indicate it might be an architecture mixing problem (32bit vs 64bit). Here is an example of the full crash log: http://pastebin.com/hHqSh4rM

What's most baffling is that the problem still occurs after gstreamer is disabled! I tried both ALSA and Pulse for the sound system in winetricks ("winetricks sound=pulse" and "winetricks sound=alsa"). Then in winecfg I used a library override to force winegstreamer to disabled. I also ran the game via both the wine and wine64 commands. Despite all this, it will still use gstreamer!

The only thing that worked was disabling gstreamer via an environment variable from the console session: export WINEDLLOVERRIDES="winegstreamer=d". Now the crashes are finally gone, whereas sound also works perfectly fine! I do however get the following error in the console, although it seems to be harmless and doesn't shut down the application:

Code:
err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\\windows\\system32\\winegstreamer.dll"
What is the correct solution to this problem? If it's something as bad as a driver bug, why do only certain parts of the game crash, while most of the game works flawlessly... is this related to encoding and playing specific audio files perhaps? And why does Wine still use gstreamer when it's explicitly disabled through both winetricks and winecfg, though it does listen once I use WINEDLLOVERRIDES? I'm running openSUSE Tumbleweed.