Difference between revisions of "Installing EVE on Linux"
m (Added "Has update description" property inside Template:Update; cosmetic changes) |
m (Removed property "Has update description") |
||
Line 1: | Line 1: | ||
− | {{Update| | + | {{Update|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 [https://forums.eveonline.com/t/eve-launcher-for-linux/7286 here]. Questions about the information found in this article are best asked on the [https://forums.eveonline.com/c/technology-research/linux official EVE forums]''. | :''Much of this guide is adapted from the official forum post by CCP Snorlax, which can be found [https://forums.eveonline.com/t/eve-launcher-for-linux/7286 here]. Questions about the information found in this article are best asked on the [https://forums.eveonline.com/c/technology-research/linux official EVE forums]''. |
Revision as of 13:21, 7 October 2023
Reason: 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.
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.
Basic Setup
(Terminal commands are displayed in code blocks)
- Download the launcher binaries either manually (found here) or via terminal command:
- Note: These can be put wherever the user prefers, but the home directory
~/
is recommended. wget https://binaries.eveonline.com/evelauncher-1747682.tar.gz - If this file no longer exists or is outdated, check for an updated link in CCP Snorlax's forum post which should be stickied here.
- Note: These can be put wherever the user prefers, but the home directory
- Extract the compressed files (
.tar.gz
)tar -xvf evelauncher-1747682.tar.gz
- Move to the newly-extracted folder
cd evelauncher
- Set the script as being executable
chmod u+x evelauncher.sh
- The launcher can now be run via terminal command.
./evelauncher.sh - This is a good point to check if the launcher works and whether any errors are output to the terminal before continuing to any more advanced steps.
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.)
- Create a symbolic link (symlink) to the script in the user binaries folder
sudo ln -s /Path/To/evelauncher.sh /usr/bin/evelauncher
- And make it executable
sudo chmod u+x /usr/bin/evelauncher
- Download the icon file
wget https://wiki.eveuniversity.org/images/a/af/Evelauncher.png
- Move the icon file to the correct directory
sudo mv Evelauncher.png /usr/share/pixmaps/
- Create the launcher file with your preferred editor
sudo edit /usr/share/applications/eve.desktop
- 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;
- 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.
- 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, eg.
/usr/bin/wine
- Remove EVE's existing wine and wineenv folder
rm -Rd ~/.eve/wineenv ~/.eve/wine
- Reopen the launcher and start the game as normal.
- EVE's wine prefix should rebuild itself with the custom version.
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 use the methods above, 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 May 2020, 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.
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.
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 necesssary.
- Note: The following example is for Ubuntu - paths and package names will likely be different on other distributions.
- Download the older library from your distribution's repos
sudo apt-get install libssl1.0.0
- 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.
- 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.
$EDITOR /Path/To/Wrapper/evewrapper.sh
- 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
- 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 dependences 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
- 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
- Note: These can be put wherever the user prefers, but the home directory
- Adjust permissions
chmod +x qt-opensource-linux-x64-5.7.0.run
- Install QT
./qt-opensource-linux-x64-5.7.0.run
- Install g++
sudo apt-get install build-essential
- 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.