October 28, 2023
This document explains how to install a recent version of Wine Development or Wine Staging. Wine Stable is not available. Additional information that may be of interest can be found in the ArchWiki Wine article at wiki.archlinux.org/title/Wine.
An Arch Linux installation including a desktop is expected, in which case Wine should just work. For possibly enhanced graphics, see Graphics drivers in the Arch Wiki. Sound issues, if any, can be addressed through the settings panel that opens when winecfg is executed or by referring to the Arch Wiki information on Wine Sound.
The multilib repository enables 32-bit apps to run on 64-bit installations. Many Windows apps are 32-bit or have 32-bit components, and even 64-bit apps often have installation .exe files that are 32-bit. Without the ability to run 32-bit apps, Wine would have limited value.
To enable multilib, use your favorite command line editor (nano, vim, emacs) to uncomment the [multilib] section of /etc/pacman.conf. If using nano, execute
$ sudo nano /etc/pacman.conf
and remove the leading # characters from the two lines of the [multilib] section, yielding
[multilib]
Include = /etc/pacman.d/mirrorlist
When finished, save the file and exit.
Before updating your system, you are advised to check the latest news on the Arch Linux home page. After verifying no special handling should be expected, execute the following to update your system.
$ sudo pacman -Syu
If there are conflicts with gcc-libs, consult the multilib section in the Arch Linux Wiki.
The next command will install Wine Development. If you prefer Wine Staging, replace wine with wine-staging.
(But leave wine-mono and wine-gecko as they are.)
$ sudo pacman -S wine wine-mono wine-gecko
Execute
$ wine --version
Wine has many optional dependencies that give Wine additional functionality. My preference is an essentially complete Wine installation, which means installing all optional dependencies except those that are known to be not needed (sane, cups, and dosbox, for example).
Here are two ways to install optional dependencies: Straight-forward and Easy.
Straight-forward The straight-forward way to install optional dependencies also allows you to select which dependencies you want. Refer to the list of optional dependencies displayed by pacman during the installation, and note which were not installed, or execute this command, which will display all of Wine's optional dependencies.
If you installed wine-staging, replace wine by wine-staging.
$ pacman -Si wine
Then make a list containing the packages you want to install, and install them with a command like the next one. --asdeps causes the packages to be marked as dependencies, and --needed prevents packages that are already installed from being reinstalled.
If you want to know what a specific optional dependency does, you can search for it among the Arch Linux packages at archlinux.org/packages/.
$ sudo pacman -S --asdeps --needed list-of-optional-dependencies-to-install
Easy This command – which is thanks to Jay Ta'ala – will install all uninstalled optional dependencies. Just Copy/Paste it into a Terminal prompt and execute it.
If you installed wine-staging, replace wine by wine-staging.
$ sudo pacman -S --asdeps --needed $(pacman -Si wine | sed -n '/^Opt/,/^Conf/p' | sed '$d' | sed 's/^Opt.*://g' | sed 's/^\s*//g' | tr '\n' ' ')
By way of explanation, executing the next command displays the optional dependencies on the Terminal screen. The previous command uses the same code to create a list of the dependencies and then passes that list to pacman for installation.
$ echo $(pacman -Si wine | sed -n '/^Opt/,/^Conf/p' | sed '$d' | sed 's/^Opt.*://g' | sed 's/^\s*//g' | tr '\n' ' ')
To bring up Wine's configuration panel, open a Terminal window and execute winecfg.
When prompted, set your preferred version of Windows. Windows 10 may be preferred for most applications.
$ wine winecfg
If you are creating custom Wine prefixes, this configuration must be repeated for each prefix.
Just for fun, or to see Wine in action …
$ wine clock
The first of the next two commands ensures that optional dependencies required by iexplore are installed. The second command runs Wine's web browser.
If installing gecko is offered, accept the offer.
$ sudo pacman -S --needed samba gnutls lib32-gnutls
$ wine iexplore
Wine is a Terminal application. Even after installing Wine, you will not find it listed with the desktop apps that came with your Linux distribution. Wine is invoked using Terminal commands.
As an example of installing a Windows app with Wine, consider Abcdef, a fictitious Windows application which is installed by Abcdef_Setup.exe. To install your own Windows app, replace Abcdef_Setup.exe with the filename of your app's installer.
The first step is to download Abcdef_Setup.exe and store it in ~/Downloads.
After doing that, execute winecfg (if you haven't already).
$ wine winecfg
The command to execute Abcdef_Setup.exe must be issued from the directory where Abcdef_Setup.exe is located, so execute
$ cd ~/Downloads
The next command starts the installation. Respond to the installer's prompts just as you would in Windows.
$ wine Abcdef_Setup.exe
Here is a real example. It installs version 8.6 of the text editor Notepad++. The file name of the Notepad++ installation program is npp.8.6.Installer.x64.exe
$ wine npp.8.6.Installer.x64.exe
When installation is complete, look for an Abcdef launcher on your desktop. There may also be an entry named Wine in your distribution's Applications. Launchers may require you to confirm execution of your app is safe.
Did you find this page helpful? Have constructive feedback? Wisdom to share?
Send email to Email Address