Post

Install & configure WINE dependencies

Install & configure WINE dependencies

WINE (originally an acronym for “Wine Is Not an Emulator”) is a compatibility layer that allows Windows applications to run on POSIX-compliant operating systems, such as Linux, macOS, and BSD. Instead of simulating internal Windows logic, such as a virtual machine or emulator, Wine translates the Windows API calls into corresponding POSIX calls in real time, eliminating the performance and memory degradation that other methods entail. In this way, Wine allows Windows applications to be integrated cleanly into your desktop environment.

Enable 32-Bit support

First, enable multilib (32-Bit). It is very important to run games through Proton (Steam) and other WINE-related applications like Lutris, Bottles and Heroic Game Launcher. To enable multilib repository, uncomment the [multilib] section in /etc/pacman.conf

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

Then upgrade your system.

1
sudo pacman -Syu

Installation

1
2
3
4
5
sudo pacman -S wine-staging
sudo pacman -S --needed --asdeps giflib lib32-giflib gnutls lib32-gnutls v4l-utils lib32-v4l-utils libpulse \
lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib sqlite lib32-sqlite libxcomposite \
lib32-libxcomposite ocl-icd lib32-ocl-icd libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs \
lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader sdl2 lib32-sdl2

This may seem like a lot of libraries to install, but in order for games to install and work correctly, you will need them. Big thanks to Glorious Eggroll and his article.

I experienced better combatibility with wine-staging instead of wine package.

Battle.net

For Battle.net client in order to function properly you need a prober /etc/hosts that looks like this:

1
127.0.0.1       localhost       myhostname.localdomain   myhostname

Be careful with mistakes and typos as they can cause serious issues with your system.

valuedescription
127.0.0.1IP which resolves to localhost
localhostfixed, it has to be here
myhostnameYour hostname goes there. You can get the hostname by typing hostname in terminal or set it with systemctl set-hostname myhostname (as root)
localdomainIf you have a local domain to refer to, like Fritz!Box users with fritz.box. If you not sure leave it as it is. (Optional)

If the installer doesn’t want to start no matter what try to change the executable from Battle.net Launcher.exe to Battle.net.exe, and try again.

Steam

For Steam client I recommend to also download Glorious Eggrolls’ tweaked Proton package and the Steam Native Runtime.

1
2
sudo pacman -S steam steam-native-runtime
yay -S proton-ge-custom

yay is an Arch User Repository (AUR) helper script and needs to be installed first.

All other launchers running through Bottles, Lutris or Heroic Game Launcher

Install Heroic Game Launcher for Amazon Games, Epic Games and GOG:

1
yay -S heroic-games-launcher-bin

Install Lutris or Bottles for Battle.net, EA Play and others, like uPlay.

1
sudo pacman -S lutris

All the applications mostly using some wine-ge or proton-ge fork from Glorious Eggroll by now. So there mostly isn’t any kind major problems anymore. If you still meet any issues there are some good sites for further troubleshooting and tweaking:


Further reading: Lutris Docs > WINE dependencies & Lutris Docs > Battle.net

This post is licensed under CC BY 4.0 by the author.