How to Run Windows Software (and Games) on Linux with Wine
Posted 08/06/09 at 10:00:00 AM by Will Kraft
Although the various Linux distributions have a wide variety of software available, you may have a few Windows programs that you may not be willing or able to part with. Although many people dual-boot or use virtual machines to get around this problem, there is yet another potential option that many people new to Linux may not have considered--- Wine. Wine stands out from the other options because it does not require a separate Windows license.
Wine Overview
Wine is a program that allows you to run Microsoft Windows programs on Linux. Although it is emulator-like in appearance and by observation, Wine is not an emulator; in fact, the very name of Wine is an acronym for Wine is not an Emulator. A true emulator can emulate CPU architecture in addition to the actual software it is running. For instance, a program that could execute Intel x86-based Windows software on SPARC-based systems running the Solaris operating system would be a true emulator. However, Wine is actually a compatibility layer since both Windows and Wine run natively on x86 and no hardware emulation is required.
Wine works by recreating a miniature Windows installation in your home folder, (the .wine directory) complete with a virtual C:\ (drive_c) and registry. Contained within drive_c is a Program Files folder and a Windows folder complete with a system32 folder that has the most important Windows system files in it. Please note that these files are recreations of the Windows files of the same name rather than being the actual files that are included in a real Windows installation. In other words, the user32.dll file that comes with Wine is not the same file as the user32.dll that can be found in a real 32-bit Windows installation. Instead, each of the dll files in a Wine environment has been painstakingly reverse-engineered to match the functionality of the original as much as possible. Wine can also use actual Windows drivers if need be, but you must supply these yourself. Furthermore, Wine has its own implementation of the Windows registry with a knock-off of Regedit to configure it.
A compatibility layer like Wine is capable of translating Windows system calls to Linux system calls. Although it works as a translation layer, Wine runs in userland like any other program on Linux and has nothing to do with the Linux kernel. Everything a Windows binary does when you run it is funneled through Wine before being passed through to the rest of the Linux system. If the libraries needed by a Windows program are installed, this functionality allows the Windows software to run on Linux to some extent. This ultimately allows Wine to re-create the Windows API in a state that is somewhat similar to Windows XP. Some programs work better than others, but Wine is constantly improving and the list of fully compatible programs is always getting bigger. While Wine may run some programs adequately enough for production use, this will not be the case for every program you may need to use.
Although Wine strives to work as well as possible, it is not always a perfect solution for every problem. Wine's functionality is still determined on a per-program basis, and this may fluctuate drastically when you factor in certain variables that are determined based on your system configuration. WineHQ (the Wine developers' website) has a database of programs, with each entry assigned a rating based on how well it works on Wine. The ratings run from Platinum (works perfectly with no configuration required) on the high end to “Garbage” (does not work at all) on the low end. This rating may change from distro to distro, and may even fluctuate between distro versions; for instance, a hypothetical program may have a “Platinum” rating on Ubuntu 9.04, a “Gold” rating on Ubuntu 8.10, “Silver” on Gentoo, and a “Garbage” rating on any version of Mandriva. If the program you want to run has a “Garbage” rating, your only real choice is to dual-boot or use a virtual machine to run it. The good news is that once a program is in a usable state, it will probably stay that way in future versions of Wine unless you do something to break it.
Acquiring Wine
There are several ways to acquire Wine for any Linux distro. While most distros include a Wine binary somewhere in the main software repositories, the binary in question may be quite old and will not offer the best possible performance. With Wine, you should always use the latest version. Therefore, the best option is to acquire a Wine binary directly from WineHQ. For instance, Ubuntu users are able to add the WineHQ repository to their sources.list file. Binaries from WineHQ are updated regularly and are usually the latest stable version. However, not all distros have a separate WineHQ build. If your distro has a separate WineHQ repository, you should definitely use it, since this method allows you to keep your Wine installation up-to-date with the latest stable version without having to download and install packages manually every time there is an update.
For Ubuntu, add “deb http://wine.budgetdedicated.com/apt $version main”. ($version should be the nickname of your Ubuntu version, like hardy, intrepid, jaunty, karmic, etc) to your /etc/apt/sources.list file. (you need to use sudo or root for this) Next, add the GPG key for the repository: “wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -” Finally, run “sudo apt-get update” and then “sudo apt-get install wine”.
For OpenSUSE, (We assume you are using 11.1) add the following repository through YaST's Repository Management tool: “http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_11.1/” YaST will verify the repository and then install the key. Open the software installation tool in YaST and search for Wine. Choose the wine-snapshot package (make sure it comes from the WineHQ repository) and then install it.
Fedora users should just run “yum install wine” as root since that distro has no special repository for cutting-edge releases.
Likewise, Mandriva users should install the most recent version of Wine from the Mandriva software management tool.
Alternatively, you can always download the source from WineHQ and compile your own Wine binary-- you have to do it that way if you need to hack in extra functionality that does not come in the stock binaries. However, this is generally a last-resort option and is not beginner-friendly. If you customize Wine too much just to get one program running, it will probably break support for other programs. Furthermore, this method will not auto-update, so you will need to repeat the process every time a new version you want to update to comes out. Fortunately, the Wine build process follows the standard “./configure && make && make install” recipe, although it takes forever to compile.
Configuring Wine
Wine includes a powerful tool called winecfg that allows you to control how the system behaves. Winecfg appears as a Windows-style tabbed configuration window with options that allow you to to tweak the behaviors for Wine, including:
- Drives -- this allows the drive system that Windows uses (e.g. C:\) to be bound to the appropriate directories in your Linux filesystem. (the drive_c directory) Windows software is then able to access the fake Windows installation in drive_c, which is often required for proper function.
- Audio – This allows you to set and configure the audio driver that Wine should use.
- Applications – Wine is able to mimic specific versions of Windows on a per-application basis. (useful for legacy software that does not work well under NT)
- Libraries – This allows you to provide overrides for specific DLLs. You can choose to use to use the real Windows DLL (you must provide it yourself) or use the built-in Wine counterpart.
- Graphics – This allows you to turn on Wine desktop, prevent mouse escaping in DirectX applications, and define hardware-provided shader support.
- Desktop Integration – This allows you to install themes and control how specific user interface elements look.
Not Linux is free, fully
Submitted by AgustinD on Sat, 09/05/2009 - 3:23am
Not Linux is free, fully customizable, managable, and tidy. Everyone in the world can use this software as it was intended, completly free. People can help improve apon the software and can share their improvements to the community.if you want to pay for support of GNU/Linux, then there are several distributions that offer this service, Ubuntu and Redhat being 2 of several.Cohiba cigars
Wine is okay but when i ran
Submitted by ready4war on Mon, 08/10/2009 - 4:17pm
Wine is okay but when i ran Game Engine, my computer froze probably because it was an NETBOOK WITH AN 900MHZ CPU AND 1GB of DDR2 RAM!!!!!!!!!!!!!!!!!!!!!!!!1
WINE has come a long way
Submitted by CarmonaEnterprises on Thu, 08/06/2009 - 8:23pm
WINE has come a long way from what it was a few years ago but as for playing games.and would use it to run window applications. Just wondering what people would use under the WINE program?
I would like to see a developer wheither it's Microsoft, Linux or whomever, to create an OS dedicated to just playing games from DOS to Windows XP and have it customized to work with any controller as well as configured to play the MMORPG.
Im not surprised you had
Submitted by Tekzel on Thu, 08/06/2009 - 1:51pm
Im not surprised you had problems running Fallout 3 on Wine. Hell, I can't get it running on WINDOWS.
Installing PlayonLinux makes
Submitted by AttilaTheHunk on Thu, 08/06/2009 - 12:28pm
Installing PlayonLinux makes things a hell lot easier like creating wineprefixes and it also has its own repository so you don't have to worry about wineconfig yourself.
Also, it might be worth
Submitted by neo1piv14 on Thu, 08/06/2009 - 11:25am
Also, it might be worth mentioning that there are games out there that natively support Linux. I was going back through some of my older games and I noticed that Unreal 2k4 as well as the new Unreal have linux based installers so you don't have to use Wine, Cedega or anything else like that. So if you like the games, support the companies that do recognize that you might use a non-windows OS, and we might just get to see more titles like that.
What about WoW?
Submitted by da_samman on Thu, 08/06/2009 - 9:00am
Here are some concerns I would look into if I wanted to try Linux:
1. What about WoW, especially with the newest expansion pack Wrath of the Lich King?
2. How about console emulators?
3. Titan Quest? Diablo II?
Sincerely yours, from Fort Lewis, WA
SGT Samuel E. McClard II
Life's a journey, enjoy the ride!!
I play Worl O' Warcrack
Submitted by ghost6007 on Thu, 08/06/2009 - 4:33pm
I play Worl O' Warcrack perfectly fine with Wine; especially since version 1.0 of Wine came out and WoLK added a "use openGL" checkbox for Graphics settings.
Hunt around on Ubuntu forums or just google "Run WoW on Ubuntu" and you will find a pretty comprehensive but dated write up on how to get the best out of WoW on Wine.
I don't know about other games but check the Wine website; those older games should run fine.
Or you could just save the
Submitted by lunchbox73 on Thu, 08/06/2009 - 8:23am
Or you could just save the added stress, time, effort, and frustration and use Windows. Why do people use Linux again? Linux fanboys insert flaming here:
Tried linux.
Submitted by habuza on Thu, 10/01/2009 - 1:14pm
Didn't like it. None of my software works on it, I don't want to mess around w/ api's. That's why I choose to use an OS where I can just plop a cd in the drive and my software works. Linux fanboys wonder why their OS never "took off" and went mainstream? Hrmm.... oh yeah, your logo is a bird that can't fly.
Just because....
Submitted by Devo85x on Thu, 08/06/2009 - 9:54am
Just because you dont understand it, doesn't mean other people dont... I was only frustrated with linux once, and that was Nvidia's fault, since they decide to only allow propietary drivers... oh, and the fix to my problem was simple... not too much time or effort involved...
Linux is Free
Submitted by MeTo on Thu, 08/06/2009 - 9:48am
Linux is Free and when you get it to work its stable and hassel free. No virus,malware,adware and when your computer is idle it is idle not running all the stuff in the background. Did i mention its FREE!
Mmmmmm.....nope. Still not
Submitted by lunchbox73 on Thu, 08/06/2009 - 10:17am
Mmmmmm.....nope. Still not convinced. Keep going.
It saves electricity, it's
Submitted by AntiHero on Thu, 08/06/2009 - 2:55pm
It saves electricity, it's stable and simple. It can run on even the most basic of gear (i mean cheap inner city school district computers) and still be somewhat fast. It doesn't run needless garbage like windows does (and moreso if you bought an OEM Machine...then you have bloatware.) In all honesty, windows CAN be easier, but linux is just as easy. Note how most netbooks come with a linux distro on them...and those sell better than windows ones i've noticed. Linux is free, fully customizable, managable, and tidy. You can find anything because everything goes into the right repositories. Ever tried uninstalling norton? it's ahassle.... Linux doesn't have viruses because most linux users can repair it. Also, the errors actually make sense, it's not "error code 0x000102123120412480 to the power of 10" it's in the selected default language.
I don't like Microsoft, I associate with it.
Saves Electricity?
Submitted by Havok on Thu, 08/06/2009 - 5:30pm
You must've been on the same mailing list that Disk Keeper has. I don't buy it either. And just how many Linux distros are there being shipped on OEM rigs? (including desktops if you must) The last one I saw was over a year ago, it was the first EEE PC. Linux fans (and I dont use fanboy like Mac guys because I respect them) are very hardcore about their product, but I dont see any relative merits to using Linux. You end up tweaking Linux more than a bad installation of Windows.
Im sorry, I dont share the same enthusiasim as you have toward Linux. Also, its kinda nice to know that with OEMs you always have an 800 number to call as a safety net. Unfortunately with Linux, almost all of your resources are online in forums... nice but kinda hard to get at when the distro you are running suddenly dies and you need to do a little DIY coding.
OMGWTFBBQ
Live CD
Submitted by GreenTurtle on Wed, 11/18/2009 - 11:43am
If your system dies in Linux, run off of the Live Cd and check out the online forums as to the problem. Easy and free :)
Wine....
Submitted by coolfrenz28 on Tue, 10/13/2009 - 4:15pm
When you people wrote about wine i thought about the liquor. but as a software i was really shocked..
I want to give you some tips while working on it... use some <a href="http://www.gocubans.com"> Best Cigars</a> while doing hectic works... it will improve your efficiency. i use to take it sometime.
Enjoy
Simpy Lavans
A fool and his money are easily departed
Submitted by conzar on Thu, 08/13/2009 - 3:57pm
GNU/Linux is about Freedom. The freedom to do anything you want with the operating system. When you use proprietary software, you give up that freedom and are at the mercy of the "corperation". And you also are charged for your privleges to be taken away.
GNU/Linux is about sharing. Everyone in the world can use this software as it was intended, completly free. People can help improve apon the software and can share their improvements to the community. This is how the world should run. Capitalismpromotes abhorent behaviour, hording, and many of the problems we see today such as war.
GNU/Linux is about choice. You can choose how you want to run your operating system, you can choose what programs run on your operating system, and you can choose how your programs are packaged. You can choose to run GNU/Linux on your laptop, you can choose to run it on your nintendo DS, you can choose to run it on your cell phone.
GNU/Linux is about us. For the survivability of our human race, we must start sharing, stop killing each other, stop taking resources from each other, and share. GNU/Linux is a great platform for how our society could be.
As for the poster above, if you want to pay for support of GNU/Linux, then there are several distributions that offer this service, Ubuntu and Redhat being 2 of several. They each have 800 numbers that you can call into to help you with your problems.
CrossOver Games for OS X
Submitted by kkern on Thu, 08/06/2009 - 7:49am
I use Codeweaver's CrossOver Games on an Apple Mac Pro and it works great for me. I see the $40 to buy it as an investment in the Wine Project. For all the fun in TF2 I have, it is worth it!
I only play TF2 with semi-low graphics settings, which is fine for me -- I don't need to see myself flaming in high-res. i'm sure I could tweak the settings. It certain beats rebootig or having another machine just for gaming.
I never used wine because...
Submitted by Devo85x on Thu, 08/06/2009 - 5:53am
I never used wine (I have it installed though) because I HATE setting up the audio, and I have NEVER had a good experience trying to play games on it...
Other applications...(?)
Submitted by Havok on Thu, 08/06/2009 - 5:03am
I can't run Star War: Republic Commando on my Windows 7 rig. XP mode is a no go, but do you think I could DL then fire up Wine to fix my problem? I tend to stay way from this stuff, but, duty calls. I'm currently using Virtual Box with an old XP licencse, but it can't properly use my graphics card...
OMGWTFBBQ
Registered Linux User
Submitted by EarthBoundMisfit on Thu, 08/06/2009 - 2:21am
Registered Linux User #404122 Microsoft has encountered a critical system error and must now shut down. Better get Bill Gate$ on the phone for this one.......
Guess I 'll be the lamer here and say I kinda disagree. I know it's great being able to keep some of your favorite games that are older, but face it, not all games work with Wine. For every Half Life 2 that does work, there are Command & Conquer or Mechwarrior games that don't.
I used to support Transgaming, but even as a paying customer, my voice in games supported were not heard, which is why I use Sun's VirtualBox with added 3D support for graphics. I look forward to 256 mb graphic support in the future.
Do we have to be 21 to use
Submitted by Bizarre on Wed, 08/05/2009 - 9:31pm
Do we have to be 21 to use it? ;)
Currently running: Q6600, 4GB 1066 DDR2 RAM, 9800 GTX, Gigabyte x48-DS4
ZOMG HL2 AND PORTAL?! WHAT
Submitted by DBsantos77 on Wed, 08/05/2009 - 8:45pm
ZOMG HL2 AND PORTAL?! WHAT ELSE DO YOU NEEEEEEEED?!
Nothing, since that also
Submitted by AntiHero on Wed, 08/05/2009 - 9:41pm
Nothing, since that also means TF2 and Left 4 Dead, also Counter Strike: Source and Day of Defeat: Source. Call of duty 2 and 4 seem to work fine as well. PlayOnLinux in conjunction with WinE is a good practice. I used to play World of Warcraft, Call of Duty 2 and UO, as well as Warcraft III, Starcraft, Diablo and ran Ventrilo on my Ubuntu 8.04 install a couple years ago, until i got a vista based laptop. I did CAL and other ladders on Linux too....i had better performance than other people did on their windows machines with the exact same specs as me.
I don't like Microsoft, I associate with it.
Feature
Review
Feature
Feature
Feature







