Skip to content

Instantly share code, notes, and snippets.

@arillat
Last active March 3, 2025 02:54
Play EVE Online on Arch Linux with WineHQ

Short link to this gist: https://t1p.de/evewine

1. Install Wine

To install Wine and its dependencies, include the [multilib] repo, then just create a meta package and install.

If vulkan is not installed, meta package will ask you to choose a vulkan provider, pick what you like. Since I have an AMD Radeon graphics, I picked vulkan-radeon.

sudo nano /etc/pacman.conf 
# and uncomment the following lines in /etc/pacman.conf 
# [multilib]
# Include = /etc/pacman.d/mirrorlist

# create a meta package
mkdir eve-meta
cd eve-meta/
nano PKGBUILD # create the PKGBUILD file here with the content shared at the end
makepkg -si # select your vulkan when this command runs

2. Configure Environment

export WINEARCH=win64 WINEPREFIX=~/.local/share/wineprefixes/eve-online
winecfg # Staging > Enable VAAPI as backend for DXVA2 GPU Decoding

# Optional: Set temp directory on tmpfs
# rm -r $WINEPREFIX/drive_c/users/$USER/Temp $WINEPREFIX/drive_c/windows/temp
# ln -s /tmp/ $WINEPREFIX/drive_c/users/$USER/Temp
# ln -s /tmp/ $WINEPREFIX/drive_c/windows/temp

winetricks msdelta vkd3d vcrun2022 dxvk2030

Also increasing the vm.max_map_count (link) might be helpful.

3. Installing EVE Online

Get the new installer from the official website:
https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-latest+Setup.exe

Run it as a normal user:

 WINEPREFIX=~/.local/share/wineprefixes/eve-online/ wine ~/Downloads/eve-online-latest+Setup.exe 

EVE Online launcher should be running at this point, let the minimum game files be downloaded until the client is ready.

Wine should also add a .desktop file for EVE Online for easy launching from applications list. The created .desktop file might not launch the game. If so, add start as a command parameter for wine.

image

I tried running the game for a while, and it runs but stops responding every once in a while runs well after downloading the full game client, for now. I also find it useful to run in windowed mode so that client can be forcefully terminated.

image

I have personally added some environment variables to the launch command, and the entire .desktop file is shared below. For ENABLE_VKBASALT=1 to take effect, install vkbasalt from AUR (link).

To associate the URI schemes eveonline: and evelauncher:, update your .desktop file as shown in the reference EVE Online.desktop given below. Then run

 update-desktop-database ~/.local/share/applications/
 update-mime-database ~/.local/share/mime/
[Desktop Entry]
Name=EVE Online
Exec=env LD_BIND_NOW=1 ENABLE_VKBASALT=1 __GL_THREADED_OPTIMIZATIONS=1 __GL_SYNC_TO_VBLANK=0 __GL_NextGenCompiler=1 DXVK_HUD=fps VKD3D_CONFIG=force_host_cached VKD3D_DEBUG=none WINEESYNC=1 WINEDEBUG="-all" STAGING_SHARED_MEMORY=1 WINEPREFIX="/home/username/.local/share/wineprefixes/eve-online" wine start "C:\\users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\CCP Games\\EVE Online.lnk" "%u"
Type=Application
StartupNotify=true
Path=/home/username/.local/share/wineprefixes/eve-online/dosdevices/c:/users/username/AppData/Local/eve-online/app-1.2.2
Icon=1773_eve-online.0
StartupWMClass=eve-online.exe
MimeType=x-scheme-handler/eveonline;x-scheme-handler/evelauncher
#!/bin/bash
export WINEARCH=win64
export WINEPREFIX=$HOME/EVE/eve-online
echo 'Running Wine Config'
echo 'Check Staging > Enable VAAPI as backend for DXVA2 GPU Decoding'
winecfg 2>winecfg.log
echo 'Linking temp dirs to /tmp/'
rm -rf $WINEPREFIX/drive_c/users/$USER/Temp $WINEPREFIX/drive_c/windows/temp
ln -s /tmp/ $WINEPREFIX/drive_c/users/$USER/Temp
ln -s /tmp/ $WINEPREFIX/drive_c/windows/temp
echo 'Installing dependencies'
winetricks -q vcrun2022 dxvk vkd3d 2>&1 1>winetricks.log
echo 'Installing EVE Online'
wine 'eve-meta/eve-online-latest+Setup.exe' 2>&1 1>eveinstall.log
pkgname=eve-online-meta
pkgver=2024.08
pkgrel=11
pkgdesc="The #1 Space MMO"
arch=('any')
url="https://www.eveonline.com/"
license=('custom:unknown')
depends=( 'alsa-lib' 'alsa-plugins' 'giflib' 'gnutls' 'gst-plugins-base-libs' 'gtk3' 'libgphoto2' 'libldap' 'libva' 'libxcomposite' 'mpg123' 'openal' 'opencl-icd-loader' 'sdl2' 'v4l-utils' 'vulkan-driver' 'vulkan-icd-loader' 'vulkan-tools' 'wine-staging' 'winetricks')
source=('https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-latest+Setup.exe')
cksums=(SKIP)
package() {
true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment