EVE Launcher for Linux

I am having the same issue with the qt plugin “xcb” not being found. Specifically, this is the error I get $ ./evelauncher
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in “”.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)

Which looking at it looks to me it’s conflicted, the empty apostrophes are interesting.

I tried Charles_BawngBlower approach, substituting the path to my own Qt5 install path an get
]$ rm libQt5*.so.5 QtWebEngineProcess
$ ln -s /usr/lib/libQt5*.so.5 .
$ ln -s /usr/lib/qt5/libexec/QtWebEngineProcess .
$ ./evelauncher
./evelauncher: error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directory

an ls of my evelauncher dir for the file,
l$ ls | grep libQt5WebEngineWidgets.so*
Binary file libQt5WebEngineWidgets.so.5.6 matches

any ideas?

running a fresh install of antergos 17.8 kde

Use ./evelauncher.sh not the actual binary.

  1. Do you have the lib libQtWebEngineWidgets in your /usr/lib/ ? (Debian provides that library with the libqt5webenginewidgets5 package)
  2. Like I said, the launcher is looking for libQt5*.so.5 links to libraries. The fact that you don’t have a symlink to that one leads me to think you don’t have the library in your system install…
  3. You may want to have a look it you have the libqt5gui5 (Debian package) that provides the QtXCB libraries…

@Lucius_Kalkoken:
I think you missed the point. Just 2 messages higher, I posted how I did an experimental setup of the evelauncher so it uses my system libraries. When doing so, you remove the need for the launcher shell script. (That’s how I fixed my XCB issues many months ago…)

I might have been a bit short in my reply, but what I mean is using evelauncher.sh and what is inside to change where things come from. That’s what it’s there for. It gives you way more control than deleting and symlinking files all over the place.

@Charles_BawngBlower

So this is interesting to me because the chromium engine thats now part of qtwebengine is multi-threaded which my old nvidia card can’t handle using the nouveau driver, killing gallium support. With dx11 support now broken (at least for a lot of us) I can only get about 30 fps… which is crazy bad…

If eve is still a single threaded game, then just getting past the launcher is my only issue. I’m wondering if you did that for this reason or otherwise know how I might disable the launcher graphics while still supplying the library?

All advice appreciated, if not necessarily listened to :slight_smile:

  • M

@Lucius_Kalkoken
Just for the sake of the argument, I upgraded my Qt Libraries from 5.7.1 to 5.9.1 (CCP ships 5.6.0). And the launcher still works fine.
That feels like more control to me (just like all of Linux is plug & play). With the added bonus that I already load those Qt Libraries on boot because I’m running KDE. So linking the launcher against my system’s libraries is actually a plus for me.

@Merkwurkdigliebe
Lots of things in that message…
First off, in game, my active GPU is my i7 mobile. Which renders at 28-30 fps at best. I had to set a rate limit on that (interval 2 under display and graphics) or my laptop would overheat. Intel HD Graphics didn’t render DX11 when I bought my laptop, four years ago…
Can’t wait 'till I get Optimus fixed on my laptop…
But my playing experience is still OK. (Not a lot we can do to improve that other than getting new hardware.)

I think EVE is still a single-threaded game, as it seems to only use one CPU core at a time… But I’ve heard rumors (can’t remember where or when) of CCP working to make EVE 64 bits or multithreaded…

As for disabling the launcher graphics… That used to work, when you could login against the client. That’s not working anymore. Now the launcher renders a web page (https://launcher.eveonline.com/).
Sadly you can’t login from that page. Unless you can find a way to get an authentication token to launch the game, let’s not even think of bypassing the launcher through the terminal…

When you run the launcher from the terminal, what error does it return you? It might help us a lot in diagnosing your issues…

CB

Mine specificaly below, pretty much the same as in this bug report:

https://bugs.freedesktop.org/show_bug.cgi?id=92438

Similar:
https://bugs.launchpad.net/ubuntu/+source/qtmir/+bug/1553328

I have tried that QSG_RENDER_LOOP=basic in etc/env and exporting it, doesnt seem to work. The launcher displays correctly for a moment but crashes right away:

libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
libGL: Can't open configuration file /home/doc/.drirc: No such file or directory.
libGL: Can't open configuration file /home/doc/.drirc: No such file or directory.
libGL: Using DRI2 for screen 0
[0821/181105:WARNING:resource_bundle.cc(291)] locale_file_path.empty() for locale 
Installed Qt WebEngine locales directory not found at location /home/doc/evelauncher/translations    /qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /home/doc/evelauncher/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
[0821/181105:WARNING:resource_bundle.cc(291)] locale_file_path.empty() for locale 
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
nouveau: kernel rejected pushbuf: No such file or directory
nouveau: ch6: krec 0 pushes 1 bufs 4 relocs 0
nouveau: ch6: buf 00000000 00000002 00000004 00000004 00000000
nouveau: ch6: buf 00000001 00000006 00000004 00000000 00000004
nouveau: ch6: buf 00000002 00000015 00000002 00000000 00000002
nouveau: ch6: buf 00000003 0000005b 00000004 00000004 00000000

Is my understanding you want closer to 60fps before trying any serious fighting? I seem to recall getting more around 50 and being content tho… I built mesa by hand but not libdrm, may give that a shot but I don’t think it will matter as the problem seems to be nouveau … the nvidia proprietary driver does fine.

  • M

@Charles_BawngBlower
Yes I have all the qt5 Libs as far as I can tell in the /usr/lib dir, both ver. 5.9.1 now. Using Antergos/Arch with KDE so things are a little different :wink: .

@Lucius_Kalkoken
That’s where I started, as I always check bash scripts before I run them (not that it does me any good as I hardly understand them). But I wasn’t seeing any errors, at least this way I have something to go on, maybe.

But yes I have been trying to link the libs through the .sh now, but as I said my bash scripting ain’t up to par yet. When I launch with the untainted .sh script, I at least get a process, but without a window and 0 change to resource and cpu use once it launches. Any way to pipe a log to file?

@rimp_Malukker
Check ~/.local/share/CCP/EVE/Launcher/ for the actual logs but Lucius was right. You get that error if you run ./evelauncher instead of ./evelauncher.sh. It comes with its own xcb so getting the system Qt right isnt really what your after just what some others are trying for their own reasons :slight_smile:

Also they should be in the same directory (typicaly ~/evelauncher) and you shouldn’t rename them.

Good Luck

  • M

You were right, started over and ran it once, turns out its an issue with SSL and/or CRYPTO
Log from launcher
https://pastebin.com/mM5QPmRN

That’s the update issue happens to everyone after an update, basically you want the lib’s it’s looking for to drop the numbers (triplet) after the .so extension… As above (around post #29)

Oddly, I now have the file in two locations… /usr/lib32/ which is probably wrong and
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.2 . I’m on debian buster your mileage will vary wildly.

  • M

Finally! I have solved my problem, thanks for the help all o7. Had followed the post above but didn’t work till i just rm the current libssl.so and libcrypto.so and cp libcrypto.so.1.0.0 and libssl.so.1.0.0 to replace them.

2 Likes

I’m on openSUSE 42.3 (Leap) x86_64. Since my EVE client hasn’t worked I have not played in months.

I have been unable to fall back to running the launcher in wine. The version I have installed is 2.15. This causes the launcher to crash even with corefonts d3dx9_36 vcrun2005 vcrun2008 vcrun2010 vcrun2013 unless I report windows XP as the OS. In Windows XP mode the launcher puts up a white, blank window instead of an installer. Clicking on the Server List pops up a dialog that lets me click Play on Tranquility to launch a client. But CCP disabled the ability to login through the client a long time ago.

I have problems getting the download of the actual EVE client to work inside the running launcher. Wine downloads fine. The launcher starts with only minor errors on steam and translations.

Adding a steam ID file for the EVE Steam client with echo 8500 >steam_appid.txt fixed the steam warning. I got the ID from https://steamdb.info/app/8500/.

Linking to a QT5 translation source with ln -s /usr/share/qt5/translations fixed the errors on translations.

evelauncher.sh sets LD_LIBRARY_PATH to include the local directory. It still pulls in OS libraries so fails to do things like pop-up file dialogs or web browsers.

If you have LD_LIBRARY_PATH set already the script will outright fail. The QT5 libraries on my openSuSE system conflict with the libQt5Core.so and other libraries in the downloadable archive. This causes errors like Qt_5.6.2_PRIVATE_API not found. When I remove the library path with export LD_LIBRARY_PATH= before running evelauncher.sh the error goes away.

The QT 5 support is very good on suse variants since KDE is the default desktop. I was able to run the evelauncher binary just by itself without the containing directory structure around it. I installed the patterns-openSUSE-devel_qt5 package to install QT5 libraries for development, added the steam_appid.txt file, linked translations and copied libsteam_api.so from the original archive.

Without content from ./resources text boxes used default fonts. GUI elements like check boxes had no fancy graphical checks in them. The https://launcher.eveonline.com/1058/ page loads with only a few errors. Same behavior was seen for the development and beta versions of the launcher. I’ve tested version 1156239.

However, when using system resources the file dialogs worked. I could see and open Error logs when using system libraries. With the custom libraries this always failed due to incompatibilities with the OS binaries. Even launching patch notes worked by starting up the default desktop browser.

I tried replacing the QT libraries in the evelauncher directory like @Charles_BawngBlower did. I installed all the 64-bit and 32-bit QT components relevant (e.g. libqt5-qtwebengine-32bit , libQt5WebKit5-32bit, libQt5WebKitWidgets5-32bit and libQt5WebSockets5-32bit packages.) That did not improve the situation over just copying the evelauncher binary to its own directory.

I’m still stuck at this point, though.

  • The wine binaries download
  • The wine files get copied to the correct location in ~/.eve
  • Files for the actual client (binaries.eveonline.com files?) never seem to get downloaded and unpacked.

So I have the CCP wine instance, but no EVE client to run.

At least being able to run evelauncher straight means I can debug easily with strace.

I’ve tried keeping the caches clean by removing the downloaded files in the cache directories rm -rf ~/.nv ~/.eve ~/.local/share/CCP ~/.config/CCP ~/.cache/CCP directories. The same errors re-appear with unpacking missing files still appears in ~/.local/share/CCP/EVE/Launcher/launcherlog-*.txt. This is the same behavior if I toggle ‘Download Everything’ on or off in the launcher.

From the launcherlog.*.txt it seems the launcher fails to download some files from binaries.eveonline.com. There are many errors about missing resources that fail to copy. There is plenty of open disk space. No filesystem corruption, yet.

Others seem to have good luck with replacing the SSL and crypto libraries.

I’ve included the *.eveline.com SSL certificate from the website in /etc/pki/trust/anchors/ and run update-ca-trust to incorporate them. I’ve even taken the manual step of copying the downloaded PEM certificates to /etc/ssl/certs and running c_rehash to repopulate the openSuSE SSL CA cache.

This makes the SSL tests in the launcher pass. But the Server list in the launcher says that Tranquility, Singularity and Duality are all ‘Status not verified.’

I’ve installed libssl42-dev, libssl42 which are the default versions for openSuSE Leap.

I installed libopenssl1_0_0-steam then libopenssl1_0_0 and tried that with the same results.

Since the launcher.sh overrides the library paths I’ve also tried copying crypto and ssl libraries into a clean unpacked installer directory. This is similar to what @Roesjka did, but using the openSuSE paths:

cd $LAUNCHER_LOCATION
for lib in crypto crypt gcrypt ssl
do 
ln -s /usr/lib64/lib${lib}.so .
done

This causes no change. The launcher just does not get the missing resources for the actual game binaries.

I’ve noticed with strace that some odd test files are checked for and never found: /home/user/.eve//wineenv/drive_c/tq/resfileindex_prefetch.txt

It looks like a resource index in the Tranquility unpack location:

ls /home/user/.eve//wineenv/drive_c/tq/   
bin  bulkdata  res

But that appears to just be part of the failed copy of files like this:

2017-09-02T14:04:34.847Z	default	debug	Source file does not exists:  /home/user/.eve//ResFiles/6b/6bded8290003eb11_8019f6082868f563ddcb24b012cd4f75 ( /home/user/.eve//wineenv/drive_c/tq/eve.exe )

I’d like to post a brief status update for my getting the launcher/client to work with DX11 (on gentoo linux):

the launcher now works “out of the box” using DX11. Previous issue with xaudio2_7 needing to be disabled in winecfg is no longer apparently necessary: sound works fine. Previous issue needing to un-check “use dev versions” in the settings window for the launcher (upper-right corner) is also no longer necessary: game launches using dev wine.

What still does not work:
window transparency effects. They are all opaque.
Antialiasing has to be disabled to see anything on the screen. Otherwise it’s all black.
Point lighting effects (stations, stargates, some gas clouds, I assume the new guns) do not show.

What seems maybe odd:
station environment has wonky color balance. The Gallente interior is now this weird purple haze.
Planets look weird and pixellated when zoomed far out. I assume this is related to disabling AA.

Otherwise, it looks like you/the wine devs are making solid progress on getting the EVE Linux client to work on DX11. Hurrah! Well done!

<3 EH

Tested DX11 too. It really need Wine Staging (as a normal wine of the same version revert back to DX9)

What still does not work:

  • Anti aliasing (except if white screen with squares everywhere is fine for you)

What seems maybe odd:

  • Vsync stuck on (interval immediate or one, stay stuck at ± 60fps)

What’s work:

  • Everything else tested, including window transparency, station, gates
  • Station environment was also fine, planets too.

Tested with Wine staging 2.16
Radeon RX480 /w kernel 4.13-rc5 /w DC patches, LLVM 5.0, Mesa GIT.

Are you using your local wine installation with wine-staging?

Yes, Installed local wine staging

Alas! Gentoo only has either 2.12 (which apparently doesn’t work with the launcher) or a “live” version from the git tree, which doesn’t install. Guess I’ll have to stick with ccp-wine for a bit while the Gentoo devs sort out bugs.

But thanks for the tip. It’s good to know there might be a way to get those sweet DX11 visuals.

Cheers

That would be emerge wine-staging:2.16

Wine not also use eselect as it use slot so you need to eselect the correct wine.

[I] app-emulation/wine-staging
Available versions:
(2.0) M2.0^t
(2.1) M2.1^t
(2.2) M2.2^t
(2.3) M2.3^t
(2.4) M2.4^t
(2.5) M2.5^t
(2.6) M2.6^t
(2.7) M2.7^t
(2.8) M2.8^t
(2.9) M2.9^t
(2.10) M2.10^t
(2.11) M2.11^t
(2.12) M2.12^t
(2.13) M2.13^t
(2.14) M2.14^t
(2.15) M2.15^t
(2.16) {M}(~)2.16^t
(9999) [M]**9999^t

that’s the thing: I don’t seem to have 2.16 in my portage tree. Are you using an overlay?

EDIT: whoops, they were recently released, and I haven’t synced. OK, trying to install.
EDIT2: if you’re setting a custom wine with the launcher, what’s the command you’re using? /usr/bin/wine?