User:Mcnster/EVE Online

From ArchWiki

EVE Online is a space-based, persistent world massively multiplayer online role-playing game (MMORPG) that is renound for its scale and complexity. It features free-to-play and pay-to-play versions--the pay-to-play version unlocking additional ships, skills, and training bonuses. Both versions access the same characters and assets belonging to the player.

There is no Linux client program for EVE Online. The game is installed with the EVE Launcher Setup (a Windows program) run under Wine, the windows emulator. The EVE Launcher, once installed (also a Windows program, under Wine), authenticates the player then starts the game proper. An internet connection to the EVE Online servers is maintained throughout play. The purpose of Wine is to translate the Windows API calls made by the install and game programs into compatible Linux API calls, on-the-fly as the programs run.

Requirements

Installing

Playing

  • Internet connectivity
  • Patience; be prepared for a steep learning curve if you are a new pilot.

Installation

Install packages

  1. Install the base-devel group.
  2. Install the gnutls, gst-plugins-base-libs, libldap, libva, mpg123, openal, samba, and v4l-utils packages.
  3. Install the lib32-alsa-lib, lib32-alsa-plugins, lib32-gnutls, lib32-gst-plugins-base-libs, lib32-libldap, lib32-libpulse, lib32-libva, lib32-libxml2, lib32-mpg123, lib32-openal, and lib32-v4l-utils packages from the official multilib repository.
  4. Install the wine-stagingAUR and winetricks-gitAUR packages.
  5. If you are using the proprietary NVIDIA graphics card driver, install the lib32-nvidia-utils from the official multilib repository.
Note: You do not need to start or enable the samba.service file installed from the samba package; no further configuration of Samba is required. Wine requires the /usr/bin/ntlm_auth program which is provided by the samba package.

Prepare the Wine configuration

In this section, you will prepare a fresh Wine configuration suitable for installing the EVE Launcher into (as described in the next section).

Wine configuration
Background: An arbitrary Windows program running under Wine needs routine access to a minimum of files, such as Windows support programs, native and emulated .dll's, registry entries, and so forth. On the first invocation of Wine, these files are copied into a "working" directory (typically at ~/.wine) in an arrangement that mimics a native Windows filesystem. An application such as the EVE Launcher is then installed into this minimal Windows filesystem by its setup program also run under Wine. At this point Wine can run the EVE Launcher in its proper filesystem context. Together, all this data comprises a single Wine configuration, particular to zero, one, (or more) Windows applications installed and runnable therein.

Set environment variables

If you have no other Wine configurations (i.e. this is a clean install), the environment variables WINEPREFIX and WINEARCH will not be defined--their defaults being ~/.wine and win64 respectively, and you can skip to step 4. Otherwise read on.

  1. Select a location in your filesystem to store the Wine configuration: a location that you have access to, is persistant, and doesn't contain any files. It should be a directory, but it doesn't have to exist yet--Wine will create it if it doesn't exist. Note the path of this location.
Warning: It would be unwise to select an existing Wine configuration and attempt to install the EVE Launcher into it unless you know what you're doing; better to start with a "clean slate".
2. Set the WINEPREFIX environment variable to the path you noted in the previous step.
export WINEPREFIX=path
The value of WINEPREFIX is the path to the configuration that Wine will use at runtime. If WINEPREFIX is not defined ~/.wine will be used by default. A generic Wine configuration will be generated automatically at this path if it is empty, or updated if it contains files.
Tip: If you periodically redefine WINEPREFIX to run other Wine configurations, you would be wise to verify that WINEPREFIX is correctly set to the EVE Online Wine configuration path prior to starting the game.

If you have no win32 Wine configurations the environment variable WINEARCH will not be defined, the default being win64, and you can skip to step 4. Otherwise read on.

3. Ensure the WINEARCH environment variable is not defined (or is set to win64).
Note: EVE Online requires a 64-bit Wine configuration.
Tip: If you periodically set WINEARCH=win32 to run Windows programs in 32-bit Wine configurations you would be wise to verify that WINEARCH is correctly set to win64 (or undefined) prior to starting the game.

Create the minimal configuration

4. Generate the minimal Wine configuration.
$ winecfg
Generation will take place followed by the appearance of the Wine configuration window.
Tip: Wine writes alot of diagnostic messages to stdout which you can safely ignore unless you experience problems.
Tip: If you have Firejail installed and the Wine configuration window does not appear, see EVE Online#Firejail for a resolution.
5. On the Applications tab, click the Windows Version drop-down box and select Windows 10.
6. Click OK to accept changes and close the window.
winecfg will exit.

Add supplementary components

7. Download and install the suplementary runtime components needed by EVE Online into the configuration using winetricks.
$ winetricks corefonts vcrun2005 vcrun2008 vcrun2010
The components will be downloaded and you will see a series of dialogs asking you to confirm each installation.
8. Confirm each.
The components will be installed into the Wine configuration, then winetricks will exit.

Install EVE Online

  1. Download the EVE Launcher Setup program.
Note: The setup program's filename will in the format EveLauncher-nnnnnnnn.exe, where nnnnnnnnn is the release number.
2. Run the EVE Launcher setup under Wine.
$ wine EveLauncher-nnnnnnnnn.exe
You will be presented with a series of dialogs where you can customize the installation of EVE Online.
3. Accept the defaults or customize.
4. Click Finish.
The EVE Launcher setup will exit.

Play the game

  1. Ensure that WINEPREFIX and WINEARCH are not defined, or defined appropriately.
  2. Start the EVE Launcher.
wine start 'C:\EVE\eve.exe'
3. Login with your EVE username and password, or create an account. Accounts are free as in beer.
Note: Everytime you start the EVE Launcher, it will verify that your EVE game software is up-to-date. If it needs updating, it will download and install file "bundles" automatically with no action necessary on your part. Game updates happen frequently (several times a week on average).
Note: The first time you start the EVE Launcher, it will download and install a large number of "bundles" taking 1-5 minutes depending on your network bandwidth.

Tips and tricks

  • If you experience "stuttering" in the graphics during scenes with many redrawings, try lowering the rendering quality to better suit your hardware and drivers. Pressing Esc at any time during the game will display a panel where you can adjust these settings.

Known issues

Game freezes during play

Symptoms

  • Multi-second game "freezes" on a multi-core processor.

Resolution

  1. When starting the EVE Launcher, prefix the wine command as in the following:
$ taskset -c0 wine 'C:\EVE\eve.exe'
This will force the EVE process to stay on one processor core only, preventing slow migration from core to core.
Warning: This will decrease game performance and is not recommended unless you are experiencing freezes.

Firejail incompatibility

As of September 2017, the default Firejail profile for Wine is incompatible with EVE Online. If you install firejail subsequent to installing wine-stagingAUR, the Firejail configuration process may create a symlink /usr/local/bin/wine -> /usr/bin/firejail that automatically "sandboxes" Wine with this profile. From this point forward, EVE Online will no longer run.

Symptoms

  • winecfg, winetricks, and wine produce messages to stdout then halt, with no game or configuration windows appearing.

Resolution

  1. Delete or rename the /usr/local/bin/wine symlink so $ wine correctly runs /usr/bin/wine, bypassing Firejail entirely.

See also