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.
| value | description |
|---|---|
| 127.0.0.1 | IP which resolves to localhost |
| localhost | fixed, it has to be here |
| myhostname | Your hostname goes there. You can get the hostname by typing hostname in terminal or set it with systemctl set-hostname myhostname (as root) |
| localdomain | If 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.exetoBattle.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
yayis 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
