The forum

Drakensang Online

QT5 crash

Author Replies
Jump to the page: 1 - 2 - 3 - 4 - 5 - 6
booman Monday 3 November 2014 at 3:44
booman

[edit]

So you don't have to read through all the posts, here is the solution:

  1. Go to https://bugs.winehq.org/attachment.cgi?id=49988&action=edit

  2. copy the text and paste into a text editor

  3. Save as patch_qt5network_wine.py in the Drakensang Online folder

  4. Use Terminal to make script executable (chmod)

  5. run Script

  6. Install Wine 1.7.34

  7. Launch Drakensang and wait for it to download

____________________________________________________________________________________

I know there is a Wine bug with QT, Battle.net and Origin, but I've never had a problem with Dakensang Online before.

To be totally clear, I've never had a problem with Drakensang for over a year.  I've played many hours and it always installs, updates and runs perfectly. This was always my "go to" game for testing Wine and PlayOnLinux.

So I'm sad to say, Drakensang isn't working right now.

I have installed the same libraries I always install:

  • corefonts
  • d3dx9
  • tahoma

Then install the small download and launch the thinclient.exe

Instantly I get this error:

This application failed to start because it could not find or load the Qt platform plugin "windows".
Reinstalling the application may fix this problem.

Debug shows absolutely nothing:

[11/02/14 19:24:42] - Running wine-1.6.2 thinclient.exe (Working directory : /home/booman/.PlayOnLinux/wineprefix/drakensang/drive_c/Program Files/Drakensang Online)
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:file:FindFirstFileExW options not implemented 0x00000000 0x00000002

I have tried setting Windows to XP and the error dissapears, but the interface still isn't working correctly and the updates do not work at all.  I can't even get the game to launch.  So I think Qt must be important for running the thinclient.exe

I even used many different types of Wine versions as well...

I did some research and found that this error in Windows is due to a path problem.  Some suggest creating a "platforms" directory where the thinclient.exe resides, but its already there.  And, the recommended qwindows.dll is in it.

All the other recommended libraries are there:

  • libEGL.dll
  • libGLESv2.dll
  • msvcp100.dll
  • msvcr100.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5MultimediaWidgets.dll
  • Qt5Network.dll
  • Qt5OpenGL.dll
  • Qt5Positioning.dll
  • Qt5PrintSupport.dll
  • Qt5Qml.dll
  • Qt5Quick.dll
  • Qt5Sensors.dll
  • Qt5Sql.dll
  • Qt5WebKit.dll
  • Qt5WebKitwidgets.dll
  • Qt5Widgets.dll

Qt appears very important with the names of these libraries.  OpenGL, Network, etc.

If anyone figures out why Qt5 can't find these libraries properly, or knows a work-around I would be very interested.

Edited by booman


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Monday 3 November 2014 at 18:02
Ronin DUSETTE

Just out of curiosity, have you tried to just intall the QT5 SDK into the virtual drive? Just to see what it throws? I wonder if a current update to the SDK broke Wine support?


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Monday 3 November 2014 at 18:05
booman

I did not, but thought about it.

That would suck to require gamers to install the entire SDK just to play Drakensang. frown
I'll give it a try.


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
petch Monday 3 November 2014 at 18:56
petch

booman Monday 3 November 2014 at 19:08
booman

Maybe, I don't fully undestand everything that bug is about, but I did notice some problems with Windows 7 and pathnames or buffer for directory quieries.

At the bottom its marked as closed with Wine 1.7.28

I tried Drakensang with Wine 1.7.29 and still had the error.
I wish the "XP" setting would fix it, but I only get to a login screen, then the game won't launch or update.

I actually get a completely different error when updating...


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
booman Monday 3 November 2014 at 19:32
booman

I did find these webpages with the same error and Qt problems:

Failed to load platform plugin "windows"

Mingw32-qt5-qtbase always crash at startup

But according to this: http://qt-project.org/wiki/Qt_5.0 I can not use ANGLE-enabled Qt5 on Windows XP (and I really still get the crash or "Entry point for vsprintf_s not found in msvcrt.dll" error on XP SP3 and wine 1.4.1), so it seems like I should stop trying to use Qt5 and stick with Qt4 or try to rebuild Qt5 without ANGLE by myself...

I have a feeling this is something to do with Drakensang as well.  I bet they were on Qt4 and recently upgraded to Qt5 and now Wine has a problem.  I haven't confirmed this yet, but I'll keep researching.

There is some more good information in the 2nd link as well.  All out of my control of course.


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
booman Monday 3 November 2014 at 20:11
booman

Here is everthing you want to know about installing Qt5, dependencies, compiling and running

Building Qt 5 from Git

Of course there is no mention of Wine, so I have a feeling that I'll have to file a bug-report with Wine.


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
booman Monday 3 November 2014 at 20:47
booman

Here is a suggested fix for Battlle.net

wincfg 
added Battle.net.exe to Applications
Changed Windows Ver to WinXP "was set to win7"
Set Libraries per Wine app DB
libraries are set on:

battle.net.dll (Native, Builtin)
dbghelp (turned off)
msvcp100 (Native, Builtin)
msvcr100 (Native Builtin)
wininet (Builtin)

I tried it yesterday and still got the same error.  I'll try it again

I'm not sure what it means to add "Battle.net.exe" to Applications in Wine Configuration.

Can you add exe's?


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
booman Monday 10 November 2014 at 3:28
booman

A possible solution may be MSVC 2012 but its currently not compatible with Wine.  WineHQ's shows "garbage" for every test result:  msvc2012


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
booman Monday 10 November 2014 at 15:44
booman

Since this is only a path error, shouldn't it be as easy as creating the path for Qt plugins?

The question is... what path is Drakensang looking for?  Everything I've read online points to the Drakensang folder as the "root" folder.  Then you have all the DLL's in there and the platform folder.

So what if in Wine, its looking for a different path?


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Thursday 13 November 2014 at 0:41
Ronin DUSETTE

I don't know why msvc 2012 would fix a QT error. What distro and desktop enviroment are you running? Do you have the QT libs installed on your system? From what I can see, it looks like Wine needs to be compiled with QT5 support. 

I saw this link, and there is a list of libs to download (64 and 32 bit).

http://forum.mepiscommunity.org/viewtopic.php?f=94&t=37052&p=350024

They also mentioned something about their GCC version, so it may be a compiler issue, as well. I am not sure. Hope this helps a little bit. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Thursday 13 November 2014 at 0:49
Ronin DUSETTE

I was also just thinking, you could build a 32 bit chroot, and the do something like:

sudo apt-get build-dep wine

and then do the same thing for the QT5 packages that you need, then do what it says here:

http://wiki.winehq.org/Recommended_Packages

to get all of the rest of the packages you will need to build Wine. When you do './configure', it will check all of the build dependencies, and will tell you if you are missing any. Then just:

make depend
make
sudo make install

Keep in mind, this all should be done in a 32-bit chroot. Then, in the chroot, you can grab the folders needed to test (just look in the POL wine folders where all of the versions are stored in your ~/.PlayOnLinux folder. You will see how to do it.), and copy them into POL to test. That is how I do it when I need to compile new stuff. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Thursday 13 November 2014 at 0:55
booman

From the research I did last week, I found that you can compile your exe with Microsft Visual C but you need to use the 2012 version for Qt5.  I'm no programmer, so I'm not sure how accurate this is, but there is another program called mingw that can be associated with it as well.

I'm on Mint 17 64-bit

Drakensang installs all the appropriate libraries for Qt5

I have no idea how to compile Wine for Qt5 support.  That is way over my head. 
Thanks for helping.  If you find anything else, please post


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Thursday 13 November 2014 at 0:57
Ronin DUSETTE

Check this, too. They are specifically talking about the 'platform/qwindows.dll' file, so there is a chance that you may need to somehow compile that into Wine or maybe simply install the QT5 Windows stuff into the virtual drive, and check the 'platform/' folder for that file. I guess those modules only get loaded at runtime, so when it links them during the build process, it won't throw errors. At least that is what I am getting from it. 

http://qt-project.org/forums/viewthread/23286/


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Thursday 13 November 2014 at 0:57
booman

Sorry, just saw your second post...

Is this how it works with Qt4 and Wine?  Previously I've never had any problems with Wine and whatever verion of Qt Drakensang was using.


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
Ronin DUSETTE Thursday 13 November 2014 at 2:06
Ronin DUSETTE

By "exe", they are talking about the actual game or application (in this case, Drakensang), I believe. 

As for QT4 support when compiling Wine, I have never had that issue, so I am just doing research on it. lol. I am curious. The only time that I got a QT4 error, I simply installed some random dll into the programs folder, and it was all good. With QT5 and Wine, it seems like there is a lot more to it. If I find any more info I will let you know. 

From what I can see, Drakensang was using QT4 compiled on Windows with MinGW if i am not mistaken, which used VCR2010, and QT5 requires 2012, as you stated earlier, but it looks like it should still work. You should installed the QT5 libraries on your Linux system, particularly seeing if you can find the native Linux equivalent to those dll's listed, that may help. 

I think it would need a custom Wine build to fix this issue. The newest version of Wine should correct that 

fixme:file:FindFirstFileExW options not implemented 0x00000000 0x00000002

thing, but a building Wine with QT5 support may be a possible option. 

Also, have you tried to add the path the QT5 files in that virtual drive through the Wine registry? If it is not on the path, it likely will not find it at all:

https://www.winehq.org/docs/wineusr-guide/environment-variables


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Thursday 13 November 2014 at 2:16
Ronin DUSETTE

Install the packages here. Don't do the autoremove stuff and all of that. Just the first line. If there are i386 counterparts to those, install those too:

http://ubuntuforums.org/showthread.php?t=2176394&p=12797782#post12797782

Although, I still think setting the PATH in the registry would be the best starting point. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Thursday 13 November 2014 at 2:33
Ronin DUSETTE

Sorry for the back-to-back posts. I am downloading this game right now to test it out. I will figure this thing out. :D


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
Ronin DUSETTE Thursday 13 November 2014 at 6:57
Ronin DUSETTE

Ok, so after looking, this is the solution that I have found. Wine 1.7.28 or above, 32-bit. Win7 mode (should work fine, as this Wine version has the patch for that bug). Pretty basic. Also, I don't know if you need all of that extra stuff. I would try manually next time with no overrides and see how to works. It seemed mostly fine for me, but I did not actually play the game.

Now, the trick is that, like I said before, it needs the PATH set, but unfortunately, that PATH is set by MSVC2012 (which is doesn't do at all), which is needed by QT5, but the file that it is crying about, you can pull from a Windows machine, and put it in the Drakensang folder, into a subfolder named "plugins/platforms/". This is where it will want to look without setting a PATH or config file. As far as I know, that is the solution that people are using, and it seemed to work for me. 


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
booman Thursday 13 November 2014 at 16:15
booman

Wow, thanks for looking at this Ronin!

So you actually got logged in and made it to the character screen?  No "plugin  errors"?

I actually tested with Wine 1.7..29 & 1.7.30 and still had the error with Windows 7.  I didn't get the error with Windows XP, but the game refuses to login or update.

I'll try it again tonight.  So you don't think I need all of those Qt5 packages:

qt5-default qttools5-dev-tools

 

If it still doesn't work for me, I will check the Registry and see if I can find an entry for Qt plugins and see if I can edit the path.


† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained