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:
-
Go to https://bugs.winehq.org/attachment.cgi?id=49988&action=edit
-
copy the text and paste into a text editor
-
Save as patch_qt5network_wine.py in the Drakensang Online folder
-
Use Terminal to make script executable (chmod)
-
run Script
-
Install Wine 1.7.34
-
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:
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.
Editiert von: booman
|
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?
|
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.
I'll give it a try.
|
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 |
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
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 |
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 |
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 |
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 |
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?
|
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.
|
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.
|
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
|
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/
|
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.
|
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
|
Ronin DUSETTE |
Thursday 13 November 2014 at 2:16
|
Ronin DUSETTE
|
|
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
|
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.
|
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.
|