Installing EVE on Linux

From EVE University Wiki
Jump to: navigation, search
This page should be updated due to game changes.
Reason: Remove old references to solutions that are no longer relevant, update for new launcher, please add and improve, steam needs some love.

Options to run a client on Linux

New launcher

Some basics about the parts & process:

Installation starts with an installer, always found on this page or direct link. Steam and Lutris can manage the dependencies & installation & subsequent updates.

The Squirrel installer is used to install & update the launcher -> The launcher downloads the client. -> The Launcher launches the eve client.

Note: By default not all game files are downloaded and the client can download when it does not have the file/part. The launcher can download all files en cache them, update when needed and removes parts when no longer needed.

The current(as of December 2023) launcher & Linux unofficial channel on discord: Official EVE Online Discord server, new launcher channel, linux thread

Thread on the EVE Forums: EVE Forums Below from an excellent write up from Katrina Bekers:

  • Use Steam, by opting-in the Beta branch and the code “TheInvitation” (case sensitive), installing the launcher from Steam, bypassing Squirrel altogether.
  • Manually extract the launcher package (“nupkg”, which is just a zip archive), and put it where it can be correctly run by WINE/Proton. Use this URL, modifying the version number adequately: https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-1.1.0-full.nupkg
  • Use Lutris, which implements a workaround for the “run as Administrator” default behavior in WINE/Proton, thus letting Squirrel do its job, see install notes.
  • Get the Squirrel installer and modify the Setup file with a binary editor so that the check for Administrator is reversed, and the installer proceeds if the user has Administrator privileges. smurftek: If you want to use the beta launcher under wine / proton without going through steam or having to change a bunch of settings, edit the binary and at address 00407436 replace it with “b8 01 00 00 00” and presto the launcher will work anywhere.


Steam

https://www.protondb.com/app/8500

Lutris

Lutris is a gaming platform for Linux. It offers Wine builds that are pre-configured for specific games, and allows for a graphical installation of various games and applications. Those that are unable to roll their own wine prefix, or are weary on the process, may find this solution more viable.

Install Lutris via your package manager, and then head to the EVE Online page on the Lutris website to pick an install script. As of December 2023, there are four main install scripts: a DXVK variant, a non-DXVK (OpenGL-based) one, one with Steam, and a Chinese distribution. The DXVK version offers generally better performance. For the new launcher there is a eve-online-april-beta-launcher installer.

After picking your script from the Lutris website and following the installation procedure, an EVE Online icon will show up in your Lutris client UI. From this point, you can click on "EVE Online" to start the EVE Launcher. You may configure options for the game, runner or system. For troubleshooting, make sure Run Client with Logging is enabled in the EVE Launcher options.

When having trouble with the scripted installation of the new launcher in Lutris the following steps should give results:

  • Set the default installer to lutris 7.2.2
  • Install a new program using lutris with the new launcher installer. At some point it will produce an error, the install will fail it seems.
  • Edit the new program, add the launcher executable as the program to launch (c_drive/users/[username]/appdata/local/eve-online/eve-online.exe). Change the runner to something newer if desired.
  • Start the launcher, it might error out, check the log it might need something, this might take a few tries.

Roll your own

It is certainly doable and fun to get an installer, launcher & client to run with just the parts and get it to run, if you are so inclined please link your experience here.

Play EVE Online on Arch Linux with WineHQ

Common issues and solutions

Depending on the hardware used changing from/to Direct3D 11/12 can have a positive or negative effect on the quality and/or performance of the game client, this also depends on the in-game graphics setting. Your mileage may vary, since you use Linux it is expected that you have more than average computer knowledge and are able to figure out what works in your specific situation.

Client slowing down / high CPU usage

  • Behavior like lagging is reported, a solution for this behavior is to disable Esync & Fsync.

Steam: Start the launcher with a custom command source

Lutris: In the runner options disable Esync & Fsync

Disk usage

The updater is unable to update the launcher due to a missing component in wine. `unimplemented function msdelta.dll.ApplyDeltaW, aborting` This results in a ever growing squirreltemp directory. Manually cleaning is required at this point in time (January 2024). A fix for this behavior is being worked on: make the updater detect wine and do a full update.

Note: on the wine bugtracker


'Old' launcher

When the old launcher is deprecated the split in installation methods is no longer relevant.


This article should be cleaned up or improved.
The reason is: Content below should be reviewed & updated

Whey back when we had a native launcher & other problems

While Linux is not officially supported by CCP, a side project by CCP Snorlax has yielded a native Linux application that downloads a prebundled version of Wine (also built by CCP Snorlax) which allows Linux to run the EVE launcher more easily. The launcher requires a 64-bit installation of Linux, but should work with most distributions.

Alternatively, for a more visual installation and cleaner management of multiple WINEPATHs, you can use Lutris.

Native Linux launcher has been retired. Recommended solution for running EVE on Linux is Steam/Proton

Much of this guide is adapted from the official forum post by CCP Snorlax, which can be found here. Questions about the information found in this article are best asked on the official EVE forums.


Custom Launcher Shortcut

(The following additional steps are not strictly necessary, but can make running the launcher more convenient through the use of a custom launcher shortcut. See the Troubleshooting section below if you encounter any issues.)

Launcher icon
  1. Create a symbolic link (symlink) to the script in the user binaries folder
    sudo ln -s /Path/To/evelauncher.sh /usr/bin/evelauncher
  2. And make it executable
    sudo chmod u+x /usr/bin/evelauncher
  3. Download the icon file
    wget https://wiki.eveuniversity.org/images/a/af/Evelauncher.png
  4. Move the icon file to the correct directory
    sudo mv Evelauncher.png /usr/share/pixmaps/
  5. Create the launcher file with your preferred editor
    sudo edit /usr/share/applications/eve.desktop
  6. Insert the following text and then save it:
    [Desktop Entry]
    Name=EVE Online
    Comment=EVE Online by CCP Games
    Exec=/usr/bin/evelauncher
    Icon=Evelauncher
    Terminal=false
    Type=Application
    Categories=Game;
  7. Run the game through the newly-created launcher shortcut!

Using a Custom Wine Version

The copy of wine bundled with the launcher is quite outdated, but thankfully you can use your distribution's own wine runtime instead which gives access to things like DirectX11 support.

Note: Make sure to untick 'Run clients with DX9' if you want to use DX11.
  1. Open the launcher settings with the small "E" symbol in the top right, tick "Use custom Wine", and in the box below it enter the path of your wine executable, e.g.
    /usr/bin/wine
  2. Remove EVE's existing wine and wineenv folder
    rm -Rd ~/.eve/wineenv ~/.eve/wine
  3. Reopen the launcher and start the game as normal.
  4. EVE's wine prefix should rebuild itself with the custom version.


Troubleshooting

Incompatible OpenSSL library

The EVE launcher requires the 1.0.x version of the openssl library in order to function, however, some newer versions of Linux distributions and those that use rolling releases include the 1.1.x version by default (this will be evident by the launcher simply not appearing at all when the script is run), so some extra steps to install the older compatibility library may be necessary.

Note: The following example is for Ubuntu - paths and package names will likely be different on other distributions.
  1. Download the older library from your distribution's repos
    sudo apt-get install libssl1.0.0
  2. Add symbolic links to the libraries in the launcher's folder
    sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /Path/To/evelauncher/libssl.so
    sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /Path/To/evelauncher/libcrypto.so


This should correct the issue temporarily, but the symlinks will be removed when the launcher is updated. A solution to this is to make your own script which checks for the existence of the symlinks, remakes them if they are missing and then triggers the launcher's script.

  1. Create the wrapper script in your preferred editor
Note: The wrapper script cannot be located in the launcher's own folder, or it will be deleted when the launcher updates.
  1. $EDITOR /Path/To/Wrapper/evewrapper.sh
  2. Insert the following text and then save it:
    dirname=/Path/To/evelauncher/

    if [ ! -e $dirname/libssl.so.1.0.0 ]; then
    ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 $dirname/libssl.so
    fi
    if [ ! -e $dirname/libcrypto.so.1.0.0 ]; then
    ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 $dirname/libcrypto.so
    fi
    exec $dirname/evelauncher.sh
  3. If you made a custom launcher file as above, you will need to change the path of the symlink in step 1
    sudo ln -s /Path/To/Wrapper/evewrapper.sh /usr/bin/evelauncher


Qt dependencies

In some rare instances on Ubuntu, you may be lacking the required Qt dependencies for the launcher, This will manifest as some QT files not be located and the launcher window opening but not displaying anything.

Instructions for this install are taken from here: https://wiki.qt.io/Install_Qt_5_on_Ubuntu

  1. Download the installer
    Note: These can be put wherever the user prefers, but the home directory ~/ is recommended.
    wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run
  2. Adjust permissions
    chmod +x qt-opensource-linux-x64-5.7.0.run
  3. Install QT
    ./qt-opensource-linux-x64-5.7.0.run
  4. Install g++
    sudo apt-get install build-essential
  5. Install generic fonts
    sudo apt-get install libfontconfig1


Libxcb dependencies

Evelauncher comes with its own libxcb. In some instances it fails to find xcb in its launch directory as well as to find libxcb installed in the system. This is indicated by message in console:
This application failed to start because it could not find or load the Qt platform plugin "xcb" in ""

To solve this problem just delete all files located in the directory of EVE launcher, that have "libxcb" as part of their names.

rm libxcb*


Launcher Shortcut Issues

Your EVE launcher shortcut may fail with the following message:

/bin/sh: warning: shell level (1000) too high, resetting to 1


This, and other errors, are likely due to the fact that the 'dirname' and 'pwd' commands will return the location of the soft link, not of the shell script itself. Hence, we need to use readlink to follow every symlink in the path. Make the following changes to /path/to/evelauncher/evelauncher.sh:

#!/bin/sh
appname="evelauncher"

dirname=$(dirname "$(readlink -f "$BASH_SOURCE")")
tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then
dirname="$PWD/$dirname"
fi

LD_LIBRARY_PATH="$dirname:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
export QTDIR=$dirname
export QT_PLUGIN_PATH=$dirname/plugins
"$dirname/$appname" "$@"
Note: The first change is necessary only if you choose to give your soft link a different name.


X Server

If Eve Online fails to launch, try running it from the terminal. Check for the following error message:

user@localhost > ./evelauncher.sh
...
Invalid MIT-MAGIC-COOKIE-1

As explained here, an X program needs (1) the address of the display (typically ":0") and (2) the password for the display. The second requirement is known as the "Magic Cookie". One workaround to sidestep this access problem is to use xhost, which is an X server access control program. Make the following changes to /path/to/evelauncher/evelauncher.sh:

#!/bin/sh
appname="evelauncher"

dirname=$(dirname "$(readlink -f "$BASH_SOURCE")")
tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then
dirname="$PWD/$dirname"
fi

xhost +local:

LD_LIBRARY_PATH="$dirname:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
export QTDIR=$dirname
export QT_PLUGIN_PATH=$dirname/plugins
"$dirname/$appname" "$@"
Note: xhost here is granting temporary access to any local application running as the current user. It is not allowing any kind of remote access.