Skip to content

Instantly share code, notes, and snippets.

@Caffe1neAdd1ct
Last active May 13, 2024 19:46
Show Gist options
  • Save Caffe1neAdd1ct/a33ef61c0ac8222e64f80f3ef335321c to your computer and use it in GitHub Desktop.
Save Caffe1neAdd1ct/a33ef61c0ac8222e64f80f3ef335321c to your computer and use it in GitHub Desktop.
Eve Online with Wine and Arch Linux

EveOnline Install for Arch Linux

There are a few different configurations depending on your laptop/desktop and harware due to some driver and software issues. Personally I've setup a prefix per DX/VK configuration and installed EVE Online inside each one for testing purposes.

Install

Packages

Firstly install the required libraries (will require checking the 64bit option in the EVE Online launcher settings, the vulkan libraries are only needed if you intend to use DXVK and Vulkan conversions from DX9/DX11 (see Wine Tricks section later on):

sudo pacman -S wine-staging wine_gecko winetricks wine-mono  ttf-ms-fonts samba gnutls mpg123 sdl libpulse libldap

sudo pacman -S vulkan-icd-loader vulkan-intel vulkan-tools vkd3d

EVE Online 32bit legacy client:

Enable multilib see https://wiki.archlinux.org/index.php/Multilib (uncomment BOTH lines)

sudo vim /etc/pacman.conf

    [multilib]
    Include = /etc/pacman.d/mirrorlist

Next install the 32bt libraries:

sudo pacman -S lib32-gnutls lib32-mpg123 lib32-sdl lib32-libldap lib32-libpulse
sudo pacman -S lib32-vulkan-icd-loader lib32-vulkan-intel 

Wine

Firstly we need to create a "wine prefix", think of this as the installation area for your windows based application, in this case EVE Online. Using winecfg we create a new prefix:

WINEARCH=win64 WINEPREFIX=~/.eve64 winecfg

OR

WINEARCH=win32 WINEPREFIX=~/.eve32 winecfg

Wine Tricks

Here there are a few different ways to run EVE Online which heavly depends on the software you choose next. In order of current recommendation:

DX9/DX11 Stanard (no vulkan dxvk)

This is still currently the most stable way to run EVE Online on Linux

Next use winetricks to install the required packages:

WINEARCH=win64 WINEPREFIX=~/.eve64 winetricks vcrun2017 7zip d3dcompiler_43 d3dx11_43 d3dx9_43

OR

WINEARCH=win32 WINEPREFIX=~/.eve32 winetricks vcrun2017 7zip d3dcompiler_43 d3dx11_43 d3dx9_43

Once EVE Online has been installed inside this newly created prefix you can switch the DX version being used inside the launcher settings. DX9 has better performance, however DX11 supports newer shadings and looks better. One Graphical bug I've noticed with DX11 is the dust clouds appear as black boxes.

DXVK / Vulkan for DX11/12

WINEARCH=win64 WINEPREFIX=~/.eve64 winetricks vcrun2017 7zip dxvk

OR

WINEARCH=win32 WINEPREFIX=~/.eve32 winetricks vcrun2017 7zip dxvk

DXVK / Vulkan for DX9

A more performant way to run EVE Online with a conversion layer from DX9 to Vulkan

WINEARCH=win64 WINEPREFIX=~/.eve64 winetricks vcrun2017 7zip d3dcompiler_43 d9vk040

OR

WINEARCH=win32 WINEPREFIX=~/.eve32 winetricks vcrun2017 7zip d3dcompiler_43 d9vk040

EveOnline

Download installer and full offline zip into the same folder

https://www.eveonline.com/download

chmod +x ~/Downloads/EveLauncher-1641188.exe

Launch with the correct wine prefix:

WINEARCH=win64 WINEPREFIX=~/.eve64 ~/Downloads/EveLauncher-1641188.exe

**OR

WINEARCH=win32 WINEPREFIX=~/.eve32 ~/Downloads/EveLauncher-1641188.exe

Create a desktop file which will then be available in Gnome search or your desktop environment menu:

vim .local/share/applications/eve-online.desktop

    [Desktop Entry]
    Type=Application
    Version=1.0
    Name=Eve Online
    Comment=Spreadsheets in Space
    #Exec=DXVK_HUD=1 DXVK_STATE_CACHE=0 DXVK_LOG_LEVEL=none WINEESYNC=1 WINEDEBUG=-all WINEARCH=win32 WINEPREFIX=~/.eve32 wine ~/.eve32/drive_c/EVE/Launcher/evelauncher.exe
    #OR
    Exec=DXVK_HUD=1 DXVK_STATE_CACHE=0 DXVK_LOG_LEVEL=none WINEESYNC=1 WINEDEBUG=-all WINEARCH=win64 WINEPREFIX=~/.eve64 wine ~/.eve64/drive_c/EVE/Launcher/evelauncher.exe
    Icon=evelauncher
    Terminal=false
    Categories=Games

More info: https://wiki.archlinux.org/index.php/Desktop_entries

chmod +x .local/share/applications/eve-online.desktop
update-desktop-database ~/.local/share/applications

Notes:

For Arch linux at the moment i would highly recommend switching to the nvidia vulkan drivers for a newer driver that works with kernel 5.4 and PRIME Sync out of the box. This makes sure vsync is working on dual GPU laptops with and without vulkan.

yay -S nvidia-vulkan-dkms lib32-nvidia-vulkan-utils lib32-opencl-nvidia-vulkan opencl-nvidia-vulkan

@Caffe1neAdd1ct
Copy link
Author

Caffe1neAdd1ct commented Oct 17, 2016

Disabling Gnome Left-Alt + F1 + Left-Alt + F2 combo:

gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "[]" # disable Alt+F1
gsettings set org.gnome.desktop.wm.keybindings panel-run-dialog "[]" # disable Alt-F2

Left Alt + F* is used by eve for activating and deactivating mid slot items. Slightly annoying to be forced out of the game to the window switcher!

@Caffe1neAdd1ct
Copy link
Author

If using opensource drivers (intel/nouveua/mesa) use wine-staging-nine for the gallium-nine native direct x 9 implementation for a good performance boost. Set DX9 in the eve launcher settings.

To enable run

WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
Staging Tab
Check "Enable Gallium Nine for better D3D9 graphic performance"

@Caffe1neAdd1ct
Copy link
Author

Desktop File Creation:

vim .local/share/applications/eve-online.desktop

[Desktop Entry]

# The type as listed above
Type=Application

# The version of the desktop entry specification to which this file complies
Version=1.0

# The name of the application
Name=EveOnline

# A comment which can/will be used as a tooltip
Comment=Spreadsheets in Space

# The path to the folder in which the executable is run
Path="~/Wine/eve32/dosdevices/c:/EVE/Launcher/"

# The executable of the application, possibly with arguments.
Exec=WINEARCH=win32 WINEPREFIX=~/Wine/eve32 wine ~/Wine/eve32/dosdevices/c:/EVE/Launcher/evelauncher.exe

# The name of the icon that will be used to display this entry
Icon=evelauncher

# Describes whether this application needs to be run in a terminal or not
Terminal=false

# Describes the categories in which this entry should be shown
Categories=Games

@Caffe1neAdd1ct
Copy link
Author

Currently wine 4.10 breaks all games requiring a chromium embedded browser, fixed in 4.11 https://bugs.winehq.org/show_bug.cgi?id=47167 Recommend to downgrade back to 4.9 if possible via the pacman cache files: pacman -U /var/cache/pacman/pkg/package_name_here

@Caffe1neAdd1ct
Copy link
Author

Since Wine 4.9 adding WINEESYNC=1 has significantly increased performance and smoothed a lot of loading lag out of the game, would highly recommend adding this flag to the desktop/start commands.

@Caffe1neAdd1ct
Copy link
Author

Useful commands:

xrandr --output eDP-1-1 --set "PRIME Synchronization" 0
xrandr --output eDP-1-1 --set "PRIME Synchronization" 1
xrandr --prop | grep PRIME
watch -n 1 'sensors'
watch -n 1 'nvidia-smi -q | grep "GPU Current Temp"'
watch grep "cpu MHz" /proc/cpuinfo
sudo cpupower frequency-set -g performance
vulkaninfo
glxinfo
glxgears
nvidia-smi

@Caffe1neAdd1ct
Copy link
Author

Caffe1neAdd1ct commented Apr 5, 2020

Useful library to limit down the FPS while using WINE + DX11/9 without vulkan on optimius laptops where vsync invervals greater than 1 do not work. FPS is limited to screen refresh while at internal 1 which can be 144hz/fps for higher panel laptops. https://aur.archlinux.org/packages/libstrangle-git/ - https://gitlab.com/torkel104/libstrangle

For strangle options and setup see the README from https://gitlab.com/torkel104/libstrangle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment