How to Install Windows Software on Raspberry Pi Using Wine
Want to run Windows software on your Raspberry Pi? It’s an ambitious proposition, but now possible for a small number of apps. To find out how easy this is, I set up Eltechs ExaGear software onto a Raspberry Pi 3.
Why Windows Software on Raspberry Pi?
With so many excellent Linux applications and utilities, why would you want, or need, to run Windows software on the Raspberry Pi?
Well, let’s take the practical benefits first: if you use your Pi as a desktop (e.g. for low-level office tasks), you might wish to install a Windows application that you use on your main computer.
There’s also the entertainment advantage. We know the Raspberry Pi can play retro video games. We also know that certain open-source videogames have been ported to the Pi.
What if you wanted to play a game that hasn’t been ported? Although modern videogames will almost certainly not run, older titles have a better chance on the Pi.
This is all made possible thanks to the ExaGear x86 environment, and Wine, the popular Windows application layer for Linux.
On desktop Linux PCs, Wine makes it possible to run Windows software. But Wine cannot run on its own on the Raspberry Pi, because the Raspberry Pi doesn’t use the x86 (32-bit) architecture. Rather, it is based on the ARM architecture, which is completely different.
All you need is to optimize the Wine application layer software for the ARM processor of the Raspberry Pi. Does ExaGear Desktop Software do the job?
What Is the ExaGear Desktop Software?
Eltechs ExaGear Desktop is a powerful virtual machine that creates an x86 environment on a Raspberry Pi. This means that software intended for Windows and Linux desktops can run within the ExaGear environment.
Example applications you can run on a Raspberry Pi include Skype, Dropbox, Plex, and uTorrent. Because ExaGear runs within the Raspbian OS, you don’t need to make any changes to your existing Raspberry Pi set up.
As far as the Pi goes, the best results will be attained using a Raspberry Pi 3. However, other ARM devices, such as the ODROID, Cubieboard, PINE64 and Banana Pi can also run ExaGear.
The result is that you can use older x86 software on the Raspberry Pi. This might be an application, or a video game.
While there are other ways to create a virtualized environment, ExaGear simplifies the process. Although a trial version is available, ExaGear is not free software.
Head to the ExaGear page at eltechs.com to find out more. Note that versions for Chromebook and Android are also available.
Getting Started: Download ExaGear Desktop
Before you install ExaGear, ensure your Raspberry Pi 3 is ready. The minimum size for ExaGear to run is 1500MB (1.5GB), so you’ll need to make sure it has enough space to run. Begin by resizing the Raspbian file system.
This can be done in Menu > Preferences > Raspberry Pi Configuration, where you should choose System > Expand filesystem. Alternatively, run:
From here, open Advanced Options > Expand Filesystem, and click OK.
Several versions of ExaGear for the Raspberry Pi are available.
You can download your preferred version to your PC and copy the data across via FTP. Or you could simply download ExaGear directly on your Raspberry Pi.
The recommended steps are to save the license key (which you’ll get when you buy the software) to the Downloads directory on your Pi. To the same directory, download ExaGear using wget in the command line:
How long this takes will depend on your internet speed; the download is about 280MB.
Installing ExaGear Desktop on Raspberry Pi
When you’re ready, unpack the downloaded TAR.GZ file.
tar -xvzpf exagear-desktop-rpi3.tar.gz
You can then install and activate ExaGear Desktop by running install-exagear.sh script in the directory with the extracted packages and the license key you downloaded earlier.
This script installs the guest environment, where x86 software can be run. However, you’ll also need to install Wine. Without this, you won’t be able to run Windows software, although 32-bit Linux software will install and run.
Whichever you plan to do, the next step is to enter the simple command:
This will run the x86 environment, a “guest” running atop the “host” (Raspbian).
Installing Wine to Run Windows Software
Before you start installing Windows software (we’ll take a look at some examples later) you’ll need to configure ExaGear. This is done by installing Wine while within the ExaGear environment.
Begin with an update:
sudo apt update
Once your repositories have updated, you’ll be ready to install Wine.
sudo apt install wine
With Wine installed, your Raspberry Pi can now run Windows software. Note that this isn’t possible without ExaGear (or some other x86 virtualized environment). You may be able to find a version of Wine for ARM devices, but it won’t run Windows software without the correct environment.
How to Install Windows Software on Raspberry Pi
So, you’re now running a 32-bit guest environment on your Raspberry Pi, within the operating system. You’ve installed Wine, which is used on Linux desktops to run Windows software.
You’re now ready to install video games or other software on the Raspberry Pi.
But what will you install? ExaGear developers Eltechs provides a regularly updated list. Among the Windows apps (Linux x86 apps such as Skype and Dropbox are included) listed are Word Viewer, Mono, and .NET Framework 4.5. A nice selection of Windows games are also cited as running on a Raspberry Pi with ExaGear and Wine, such as Counter Strike, Fallout, and Sid Meier’s Alpha Centauri.
I’m a big fan of the Civilization series, and Alpha Centauri is one of my all-time favorite games. This makes it an ideal candidate for installation.
Whichever game you plan to install, find a source. This might be the original media, or a download from a site like GOG.com. As long as you’ve bought the game, you’ll be able to download it to your computer.
In the command line, within the ExaGear environment, navigate to the download folder, and enter:
Substitute the name of the executable with whatever compatible game you’re running. The command line will scroll a few lines of text, and the Windows installation wizard will open.
Proceed through this to complete installation. Before running the installed game, ensure Wine is correctly configured. You can do this using the command:
This lets you specify (among other things) Windows compatibility by version. For Sid Meier’s Alpha Centauri, you need to set this to Windows XP. You should find this option on the Applications tab.
This is perhaps the most important part of installing and running Windows software. If the wrong version is selected, the application or game may not run, due to the same compatibility issues found on Windows itself.
Once you’ve installed your Windows software, you’ll find it via the main menu, under Wine > Programs.
It’s that simple! Given the spec of the Raspberry Pi, running 32-bit software on an ARM board is an impressive achievement.
Getting 3D Graphics on Raspberry Pi
Note that if you plan to install PC games with 3D graphics, you need to configure your Raspberry Pi. Several graphics modes are available, and you’ll need to select the right one.
Begin by opening a new terminal emulator (Ctrl + Alt + T) and enter:
In the configuration tool, begin by selecting Update this tool to the latest version. Wait for the update, then open Advanced Options and choose GL Driver > GL (Full KMS) OpenGL desktop driver with full KMS.
Select OK then Finish to confirm, and reboot when prompted. When your Raspberry Pi reboots, remember to run the exagear command again to continue.
When you’re done with the ExaGear environment, use the exit command to end it. Repeat the command to end the terminal session and close the command line.
Want to know more about running Windows software on Linux? Check our nifty guide to Wine on Linux.