These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Linux

 
  • Topic is locked indefinitely.
12Next page
 

Possible fix for the new Launcher?

Author
Neuntausend
Republic Military School
Minmatar Republic
#1 - 2013-05-26 07:40:43 UTC  |  Edited by: Neuntausend
I may have found something that reliably gets rid of the -7 error, at least it does for me. Sadly, I do not know what exactly it is.

As far as I know, the Launcher is based on chrome, and chrome based apps have always had several problems, especially with secure connections. A few releases ago, a fix for the worst problems got integrated into wine, but other quirks remained. Now there are a few other popular games that use chrome and thus have some issues running under wine: Guildwars 2 for example. Today I saw a "wine-1.5.28-Guildwars2" build in PlayOnLinux's list of available wine builds and tried that for Eve, and who would have thought? The Launcher works now.

If you have playonlinux, please go ahead, try it and report back with your results.
Torgeir Hekard
I MYSELF AND ME
#2 - 2013-05-26 08:40:28 UTC  |  Edited by: Torgeir Hekard
Looks like confirming.

That is, I haven't tried playonlinux version (their wine is built withoiut OSS support, and I use OSSv4), but researching the subject a little led me to this patch:

https://gist.github.com/selman/4597314/raw/0ec8cef131133d9900a66b018029390332c1817c/awesomium-partial.diff

Apparently it changes something in handling SSL certs. UPD: related wine bugreport. Vanilia wine secur32 implementation does not store itermediate SSL certs needed to validate the SSL cert in question, and application (chromium-based browsers?) fails to validate the cert. Patch implements intermediate in-memory certificate storage with reference counter to properly remove an intermediate cert from the storage once it's no longer in use.

After patching git wine with it, I got launcher showing the login frame properly 5 times in a row, and as a bonus, now https works in IGB (actually the latter is more important for me since I use custom launcher script that lets me avoid typing my passwords on my broken keyboard till the new laptop arrives).

PS: It's quite possible that this patch is applied to the aformentioned PlayOnLinux wine build, since, apparently, it's quite a popular patch for dealing with games that have broken stuff that works through https.
Kyle Valentine
Aliastra
Gallente Federation
#3 - 2013-05-26 19:08:24 UTC
1.5.28 Guildwars 2 works for me with POL. No more -7 error.
Anun Hen
Pew Pew Pirates
#4 - 2013-05-26 19:14:16 UTC
Assuming I have downloaded the latest wine source tarball from winehq, would somebody be kind enough to provide some step-by-step instruction on how to patch them to include this fix?
Woo Mi
Federal Navy Academy
Gallente Federation
#5 - 2013-05-26 19:31:53 UTC  |  Edited by: Woo Mi
Yup, it's a git patch, so some translation magic will be required to use it as a regular patch.
I still need to figure this out.
On a positive note, a freshly compiled tar of the just released 1.5.31 wine does work if you run the client directly.

Update:
pwd:
...../wine-1.5.31

patch -p1 < awesomium-partial.diff
This produces:
patching file dlls/crypt32/cert.c
patching file dlls/crypt32/collectionstore.c
patching file dlls/crypt32/context.c
patching file dlls/crypt32/crypt32_private.h
patching file dlls/crypt32/store.c

followed by make;make install
(don't forget gecko and mono)

First run the laucher did start the client, without the client asking for a password.
Second try ditto, so this seems to work.
However, on exiting the client something still hangs somewhere.

Script I used (overrides might not be necessary anymore?):
#!/bin/sh
export WINEPREFIX="$HOME/.wine_eve_0"
export WINEDLLOVERRIDES="*msvcr100,*msvcr90,*msvcr80=n,b"
export WINEDEBUG=-all
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
wine explorer /desktop=0,1920x1200 "C:\Program Files/CCP/EVE/eve.exe"
Mr M
Sebiestor Tribe
#6 - 2013-05-27 03:00:16 UTC  |  Edited by: Mr M
Super!

And confirmed. The patch makes the launcher load as it should.

Share your experience

Write for the EVE Tribune

www.eve-tribune.com

Torgeir Hekard
I MYSELF AND ME
#7 - 2013-05-27 04:37:42 UTC  |  Edited by: Torgeir Hekard
Anun Hen wrote:
Assuming I have downloaded the latest wine source tarball from winehq, would somebody be kind enough to provide some step-by-step instruction on how to patch them to include this fix?


Extract the tarball somewhere.

Place your patch file there

Run patch -p -i patchfile.patch

Install the packages necessary to build wine (in debian-based distros like ubuntu this would be sudo apt-get builld-dep wine)

cd into the build directory and run ./configure. I also highly recommend you to use --prefix=/home/username/wine-git or something like that. You will understand why later.

If the configure script didn't exit with an error, run make depend and then make. Also, by default, make uses a single thread to compile stuff, so if you have a multicore CPU (would be surprise if you don't), you'd want to use make -jN where N is the number of desired threads to run (you can use something like number of cores for that) to speed up the process.

Then you run (or don't run) [sudo] make install. Here the --prefix part of ./configure comes handy. If you didn't specify the prefix, it's set to / by default, meaning the wine in question would install system-wide screwing up your existing wine installation. Also it's not a good way to install software in a distro with a package manager (you'd want to make a .deb package out of it. Or what your system uses instead). So if you don't want to do something irreversible, use --prefix, and that's where the wine would install when you run make install. If you didn't specify the prefix and don't want to litter your system, you can omit the make install part and run wine directly from the build directory. It's messy but works.

then you can run eve as usual, only specifying a full path to wine.

i.e. instead of wine ExeFile.exe you run /home/username/wine-1.5.30/bin/wine ExeFile.exe.

Or

export WINE=/home/username/wine-1.5.30/bin/wine

$WINE ExeFile.exe

Also you might want to specify a clean wineprefix, since the new wine does not require any additional stuff to run eve (that is, no installing VC runtimes, no usual overrides). The only override you will need is set d3d11 to disable.

You should probably also run regedit and winecfg from the new wine directory for the new wineprefix. Mind that you don't need to move your EVE installation directory (that is, if you specify unix path to the game as a wine argument. If you use wine "c:\Program Files\blablabl" you'd want to make a link to the eve directory inside your new wineprefix. But you DO want to copy your client settings to the new wineprefix.

PS: on something hanging somewhere.

I believe it's not a wine bug. WinXP and Win2k3 users report the launcher remaining in process tree indefinitely after they close it. When I was using the new launcher, I've got the same problem. That is, I've noticed the launcher remaining in the process tree eating CPU. Even if you don't launch client from it and just try to close it normally without disabling WINEDEBUG, you'd notice that it litters the outpt with errors about race conditions between different threads that continue for about a minute or so after closing the launcher. So I think it's not a wine problem, but rather a horrible coding on CCP part.
Tetractys
Very Italian People
The Initiative.
#8 - 2013-05-27 08:05:49 UTC  |  Edited by: Tetractys
Torgeir Hekard wrote:
Anun Hen wrote:
Assuming I have downloaded the latest wine source tarball from winehq, would somebody be kind enough to provide some step-by-step instruction on how to patch them to include this fix?


Extract the tarball somewhere.

Place your patch file there

Run patch -p -i patchfile.patch

Install the packages necessary to build wine (in debian-based distros like ubuntu this would be sudo apt-get builld-dep wine)

cd into the build directory and run ./configure. I also highly recommend you to use --prefix=/home/username/wine-git or something like that. You will understand why later.

If the configure script didn't exit with an error, run make depend and then make. Also, by default, make uses a single thread to compile stuff, so if you have a multicore CPU (would be surprise if you don't), you'd want to use make -jN where N is the number of desired threads to run (you can use something like number of cores for that) to speed up the process.

Then you run (or don't run) [sudo] make install. Here the --prefix part of ./configure comes handy. If you didn't specify the prefix, it's set to / by default, meaning the wine in question would install system-wide screwing up your existing wine installation. Also it's not a good way to install software in a distro with a package manager (you'd want to make a .deb package out of it. Or what your system uses instead). So if you don't want to do something irreversible, use --prefix, and that's where the wine would install when you run make install. If you didn't specify the prefix and don't want to litter your system, you can omit the make install part and run wine directly from the build directory. It's messy but works.

then you can run eve as usual, only specifying a full path to wine.

i.e. instead of wine ExeFile.exe you run /home/username/wine-1.5.30/bin/wine ExeFile.exe.

Or

export WINE=/home/username/wine-1.5.30/bin/wine

$WINE ExeFile.exe

Also you might want to specify a clean wineprefix, since the new wine does not require any additional stuff to run eve (that is, no installing VC runtimes, no usual overrides). The only override you will need is set d3d11 to disable.

You should probably also run regedit and winecfg from the new wine directory for the new wineprefix. Mind that you don't need to move your EVE installation directory (that is, if you specify unix path to the game as a wine argument. If you use wine "c:\Program Files\blablabl" you'd want to make a link to the eve directory inside your new wineprefix. But you DO want to copy your client settings to the new wineprefix.

PS: on something hanging somewhere.

I believe it's not a wine bug. WinXP and Win2k3 users report the launcher remaining in process tree indefinitely after they close it. When I was using the new launcher, I've got the same problem. That is, I've noticed the launcher remaining in the process tree eating CPU. Even if you don't launch client from it and just try to close it normally without disabling WINEDEBUG, you'd notice that it litters the outpt with errors about race conditions between different threads that continue for about a minute or so after closing the launcher. So I think it's not a wine problem, but rather a horrible coding on CCP part.


Great explaination. Can you please integrate it with an help if you have to perform this procedure on a x86_64 system?
(xubuntu 13.04 -x86_64).

Thank you in advance!
Kind Regards.
Torgeir Hekard
I MYSELF AND ME
#9 - 2013-05-27 08:40:41 UTC  |  Edited by: Torgeir Hekard
Tetractys wrote:
Great explaination. Can you please integrate it with an help if you have to perform this procedure on a x86_64 system?
(xubuntu 13.04 -x86_64).

Thank you in advance!
Kind Regards.

Unfortunately I run x86 system myself, so I'm not much of a help here.

There is, however, an article on WineHQ on how to build a 32-bit wine on an amd64 system

http://wiki.winehq.org/WineOn64bit#head-b62ae8f996e97e1df7258bb8eaec2e83e54ca799

NOTE: Pay attention to ubuntu versions. That is, if you decide to use the chroot method, you should change precise to whatever version you use (I'm not well versed in the arcane art of ubuntu release naming conventions) when doing debootstrap, lest you end up with a release that is mismatched to your apt sources list and your main system.
Anun Hen
Pew Pew Pirates
#10 - 2013-05-27 11:05:26 UTC
Tetractys wrote:
explanation


thanks, I was more looking for instructions on how to apply this specific file (which is on github) to the wine source.
Or can I just save the patch as "xxxx.patch" and run patch -p -i xxxx.patch?

should I be at the root of the sources directory?
Torgeir Hekard
I MYSELF AND ME
#11 - 2013-05-27 11:20:15 UTC  |  Edited by: Torgeir Hekard
Anun Hen wrote:
Tetractys wrote:
explanation


Or can I just save the patch as "xxxx.patch" and run patch -p -i xxxx.patch?

should I be at the root of the sources directory?


Yes.

Yes.
Anun Hen
Pew Pew Pirates
#12 - 2013-05-27 13:29:07 UTC
Torgeir Hekard wrote:
Anun Hen wrote:
Tetractys wrote:
explanation


Or can I just save the patch as "xxxx.patch" and run patch -p -i xxxx.patch?

should I be at the root of the sources directory?


Yes.

Yes.


thank you, will try soon and report
Doublewhopper
Temporary Assignment
#13 - 2013-05-28 01:24:46 UTC
Launcher with patched wine confirmed as working in terms of "technically working".

Now usability and user experience is a whole different story...sadly...
Torgeir Hekard
I MYSELF AND ME
#14 - 2013-05-28 16:18:32 UTC  |  Edited by: Torgeir Hekard
**** this gay forum, it ate my post. Will rewrite it tomorrow. In an external editor. And make backups. And put it on pastebin. And link it here. Because the forum is gay and those who made it should feel gay.

Basically built new wine on lubuntu 13.04 amd64, the official guide is a bit outdated, but works with little modifications.

PS: sorry if I offended actual gauys by comparing them to the forum developers. Probably I went to far there. No, dear homosexuals, you aren't this forum developers. I'm very sorry.
Torgeir Hekard
I MYSELF AND ME
#15 - 2013-05-29 08:34:20 UTC
Ookay. So, building wine on amd64 ubuntu.

I've got myself a new laptop, and it refuses to embrace my ODD-HDD adapter, so I can't plug my old SSD instead of the DVD drive. On the positive side, it enabled me to do a fresh install of lubuntu 13.04 amd64, and now I know kungfu^W how to cross-compile wine on ubuntu. On a less pleasant note I also know how to stop doomsday clock ticking on WD drives, how to use bumblebee and that Intel RapidStart is a ***** and will corrupt your Windows 8 filesystem if you even think about dualbooting. But that's another story.

We'll be using the aforementioned official guide
Except when it doesn't work.
We'll also use the chroot method because it's neat and tidy and doesn't leave us with a pack of wild symlinks creeping everywhere.

1. Install schroot and debootstrap
sudo apt-get install schroot debootstrap

2. Make a schroot config for our victim
sudo vim /etc/schroot/chroot.d/raring_i386.conf
Quote:
[raring_i386]
description=Ubuntu Raring
personality=linux32
directory=/srv/chroot/raring_i386
root-users=your_username
type=directory
users=your_username

3. Reboot because you don't know how to exit vim.

4. Debootstrap the new system
sudo mkdir -p /srv/chroot/raring_i386
sudo debootstrap --variant=buildd --arch=i386 raring /srv/chroot/raring_i386 http://archive.ubuntu.com/ubuntu/


5. Feed it cookies^W apt sources
sudo cp /etc/apt/sources.list /srv/chroot/raring_i386/etc/apt/

6. NOW ENTERNG CHROOT
schroot -c raring_i386 -u root

#HERE BE INSIDE CHROOT AS THE DEMIURG AND MASTER OF CELESTIAL SPHERES
7. Install minimal system and useful stuff (note — this is where the official guide is outdated: add-apt-repository was in another castle. You can find it by doing apt-file search filename. Only you need to install apt-file first. The below one works for 13.04)
apt-get install ubuntu-minimal
apt-get install software-properties-common


8. Add wine ppa, though it's useless because later
add-apt-repository ppa:ubuntu-wine/ppa


9. Grab build deps
apt-get update
apt-get build-dep wine


This will fail. Because wine=wine1.5, and build deps aren't specified for wine1.5. So instead you use crunches and fetch build deps for the earlier wine version. Apparently it's sufficient.

apt-get build-dep wine1.4

10. Now install git
apt-get install git

11. Now, a little schroot magic. Schroot is kind enough to link your home directory into the chrooted environment, so when you enter schroot, you work in your own home. On the positive side, we can build wine directly into our home directory. On the negative side, we are root now. I find it kinda sad to wander my home diectory as an omnipotent being that creates indestructible walls for ***** and giggles and leaves dealing with them to mere mortals. So get out of chroot, stalker, and enter as a proper user.

exit
mkdir ~/wine-git
schroot -c raring_i386 -u username


12. Pull wine from git
git clone git://source.winehq.org/git/wine ~/wine-git


13. patch wine
cd ~/wine-git
cp ~/Downloads/awesomium-partial.diff ./
patch -p1 -i awesomium-partial.diff


14. configure wine
./configure —prefix=/home/username/wine-bleeding-edge


15. brew wine
make -j[Number-of-cores]
Go drink tea, eat cake, feed turtle, procrastinate, play your Gibson Les Paul Sunburst.

16. Several aeons have passed. You probably even tried to tackle one. The wine has finally brewn. Now install it
make install

Note that it will install it into the prefix directory, which is in your home (if you specified it properly), so it does not need root priveleges to install, and it will appear in your home outside chroot

17. Now exit chroot and fail to start wine. It needs it's dependencies resolved outside the chrooted environment. The easiest way is to install wine from repos (either native or ppa). It won't screw up your custom-built wine.
exit
sudo apt-get install wine


18. Run your pimped state-of-the-art fine tuned wine as /home/username/wine-bleeding-edge/bin/wine

19. ?????

20. PROFIT
Frazier
Isaziwa Industrial Resource and Service
#16 - 2013-05-29 13:16:14 UTC
On Debian you can use this guide:
http://verahill.blogspot.com.au/2013/05/416-wine-1530-in-chroot.html

It will get you a nice .deb package of wine for later use or installs on other machines. Don't forget the SSL patch mentioned above since it is missing in the guide obviously.
Using this method (namely checkinstall to create the .deb file) you can, and should, specify a different install directory for wine. Using "configure --prefix=/your chosen path" will also affect the .deb file setup path. Additionally you should alter the package name at checkinstall when the package properties are shown to you. (point 2) Use something like "wine_eve" or so.
If you don't do this the package manager will remove the already installed "wine" package.

Oh, and to install the package on your amd64 host system, you need to specify the --force-architecture flag of dpkg.
Dryvin Marstolt
Brave Newbies Inc.
Brave Collective
#17 - 2013-05-30 07:34:32 UTC  |  Edited by: Dryvin Marstolt
Just wanted to chime in that the PlayOnLinux wine-1.5.28-Guildwars2 appears to be working properly. I just used PlayOnLinux to download the Wine version, then used it to run EVE. Didn't actually install the game in PlayOnLinux.

Since I use Arch x86_64, this was the most convenient way to do this, since installing patched versions of Wine is a pain due to needing 32 bit libraries for everything, or a chroot jail.

Just used:
env WINEPREFIX=/opt/EVE_Online WINEARCH=win32 ~/.Playonlinux/wine/linux-x86/1.5.28-GuildWars2/bin/wine /opt/EVE_Online/drive_c/Program\ Files/CCP/EVE/eve.exe

Works beautifully. Will be curious to see if using the slightly older version of Wine corrects the crashes I've been seeing for the past week or two.
Kismeteer
Bat Country
Pandemic Horde
#18 - 2013-05-30 14:51:27 UTC
Forget the launcher, just go straight to the exefile.exe instead. You just need the launcher to occasionally update. Check details at the end of the Ubuntu Howto thread.
https://forums.eveonline.com/default.aspx?g=posts&m=3072510#post3072510
Dryvin Marstolt
Brave Newbies Inc.
Brave Collective
#19 - 2013-05-30 18:59:59 UTC
Kismeteer wrote:
Forget the launcher, just go straight to the exefile.exe instead. You just need the launcher to occasionally update. Check details at the end of the Ubuntu Howto thread.
https://forums.eveonline.com/default.aspx?g=posts&m=3072510#post3072510


While this is true at the moment, they will eventually be removing the ability to login that way. The devs have confirmed that this is the case. So a more long term solution is still going to be necessary.
Marsan
#20 - 2013-05-31 02:47:31 UTC
Has anyone noticed that the launcher work once after every patch? It seem like to me everytime I patch the game I try the launcher to see if things have improved, and it works. Then I log out and try again only to be met with failure.

Former forum cheerleader CCP, now just a grumpy small portion of the community.

12Next page