Pinterest Stumbleupon Whatsapp

Wine How to Run Windows Apps & Games with Linux Wine How to Run Windows Apps & Games with Linux Wine Is there any way to get Windows software working on Linux? One answer is to use Wine, but while it can be very useful, it probably should only be your last resort. Here's why. Read More provides Linux users with the ability to run Windows software outside of the domain of Microsoft. As such, it can aid your transition away from Windows Hey Windows User, Should You Switch To Linux or Mac? Hey Windows User, Should You Switch To Linux or Mac? Did you ever consider switching from Windows to Linux or Mac? The quick answer: if you're on Windows, stay on Windows—and don't worry about upgrading just yet. Here's why. Read More , less bound by platform exclusive software.

Wine isn’t perfect, though. Some programs take some work to get moving, while others won’t work at all. That being said, the steps below will maximize your chances of running Windows program on your Linux box.

Why Doesn’t My Program Run?

Put simply, Wine runs Windows software by reverse engineering parts of the Windows operating system for Linux. In the Microsoft world, these components are called DLLs (Dynamic Link Libraries). They provide extra features and capabilities that other programs rely on to work. An example of one is d3d8.dll, which gives programs access to Microsoft’s DirectX 8 gaming capabilities Everything You Need to Know About DirectX in 2016 Everything You Need to Know About DirectX in 2016 If you're a PC gamer, you absolutely must use DirectX because it could significantly boost your gaming performance! Here's everything you need to know. Read More .

Suffice to say, there are many DLLs that Wine provides equivalents of. There is a chance that Wine has mistakes in its implementations. Wine might not even have one in the first place! These are the main reasons behind why Windows programs misbehave or refuse to work under Linux. As such, the steps below aim to get Wine’s implementations as close to Windows as possible.

Install Programs With PlayOnLinux

PlayOnLinux PlayOnLinux Brings Windows Games & Programs To Linux PlayOnLinux Brings Windows Games & Programs To Linux Read More lets you run different versions of Wine that are proven to work with the programs you want to run. It can also automatically supply Wine with native DLLs to help it function better. This is all done under the hood, so you just have to choose what you want to install and then run it.

playonlinux main


While installing a program using PlayOnLinux almost always ensures smooth running, you might not find what you want in their catalogue. But head to the downloads page and try it out first.

What’s Your Wine Architecture?

If you find PlayOnLinux’s selection of programs lacking, you may have to resort to installing your programs manually. Before you dive in though, you should ask one question: is your Wine in 64-bit mode or 32-bit mode What Is the Difference Between 32-bit & 64-bit Windows? What Is the Difference Between 32-bit & 64-bit Windows? Do you know whether your computer is 32-bit or 64-bit and does it even matter? Yes it does! Let's take a look at where these terms come from and what they mean for you. Read More ?

Like Windows, both Linux and Wine have different versions of themselves designed for specific computer architectures. You’re probably using a 64-bit version of Linux, and so by default the 64-bit version of Wine.

To check which one you’re using, enter this command:


Afterwards, click on the Windows Version button. You’ll see a list of the different Windows editions Wine can emulate. If you’re using 32-bit Wine, editions older than Windows XP will appear since they were only available in 32-bit mode.


Changing Your Wine Architecture

Even though software designed for 32-bit systems will work on 64-bit versions of Wine, they tend to work better with the 32-bit version instead. Fortunately, changing your Wine architecture is pretty simple:

export WINEARCH=win32
export WINEPREFIX=~/.wine32

The first command tells Wine to go in 32-bit mode, while the second tells it where to create its new folder (the ‘.’ at the end makes the folder hidden — you can remove this if you want). Since this folder doesn’t exist, the third command creates it for us.

If you want to run a program using this version of Wine, you’ll need to enter the first two commands before doing so. This can get a bit tedious, so if you want this as your default Wine version, you can create a file to do this automatically for you.

sudo nano /etc/profile.d/

wine prefix nano

Just add the first two commands like you did to create your new Wine folder. You might have to reboot your computer to get these settings to work. After this, you’ll be able to run programs with a simple wine [program] command.

Use the Staging Version of Wine

Wine staging has lots of bug fixes and features that haven’t made it into the mainstream releases. Because of this, you may have a better chance of getting your programs to run if you use it instead. You can find specific instructions on how to do so for your Linux distribution on their website.

For Ubuntu/Mint users, here are the terminal commands you enter:

sudo add-apt-repository ppa:wine/wine-builds
sudo apt-get update
sudo apt-get install --install-recommends wine-staging winehq-staging

You can check if you’re using Wine staging by entering in this command:

wine --version

wine version

Use Native Windows Components With Winetricks

Wine has the ability to use Windows DLLs alongside their own reverse engineered ones. In many cases, this can aid in better compatibility. To do this however, you need to download them, and explicitly tell Wine to use them. A shell script called Winetricks automates this process so you don’t have to worry about the process.

The command below uses Wget Mastering Wget & Learning Some Neat Downloading Tricks Mastering Wget & Learning Some Neat Downloading Tricks Sometimes it's just not enough to save a website locally from your browser. Sometimes you need a little bit more power. For this, there's a neat little command line tool known as Wget. Wget is... Read More to download the script:

wget -O
chmod 755

The second command makes the script run. Linux prevents random scripts from being executable by default for security reasons Is Linux Really as Secure as You Think It Is? Is Linux Really as Secure as You Think It Is? Linux is often touted as the most secure operating system you can get your hands onto, but is this really the case? Let's take a look at different aspects of Linux computer security. Read More . All you have to do now is ask Winetricks to install a specific file in the terminal like so:

./ your-dll

If you enter this command, Winetricks can also show you all the possible DLLs you can install with it:

./ dlls list

Different programs rely on different DLLs, so I recommend checking the official Wine application database for some hints on what to install. Just search for your desired software, and you’re bound to see others in the same boat as you.

Check Wine for Errors

If the application you want to run is not in the Wine application database, you can still do a little poking around to take a guess at the problem. For instance, you can take a look at the errors that Wine is producing like this:

wine [program] &> debug.txt

debug wine

When you run your program in the terminal, any errors that it makes will be sent into the file above. Something like this might help you track down what’s going wrong with Wine. This way, you might be able to install a helpful DLL using Winetricks.

Reporting Bugs

If your program still doesn’t work despite your best efforts, the problem might be in Wine’s code itself. If that’s the case, I recommend submitting a bug report to the WineHQ bug-trackers.

wine bug tracker

This shouldn’t be necessary in most cases, but if you’re interested in doing so, there are a few things you should keep in mind:

Do you have a Wine success story to share? Have you run into problems with it? Tell us in the comments below.

Image Credit: Sicco Hesselmans via

Leave a Reply

Your email address will not be published. Required fields are marked *