Please see the Wine Application Database before reading this guide for specific apps since it covers all apps currently tested in Wine, components you need to use and most problems and solutions
1. Differences between Wine Stable and Development versions
Stable versions normally offer less bugs with better stability and usually receive updates every 3-6 months after release. The development version receives an update every 2 weeks which is uploaded to the PPA in a few days after release.
The decision to stick with the stable version (Even number versions: 1.0, 1.2, 1.4...) or with the unstable versions (Odd number version: 1.1, 1.3, 1.5...) is up to the user, but the main difference between them is compatibility and performance are both enhanced in the Development version. You not only get the latest with any new fixes it offers, but also become a tester and can help in the development cycle. Additionally you carry a version that has solved more bugs than the current stable version. Keep that in mind when deciding which version to use.
2. How can I install the Wine version from Software Center / PPA
Ubuntu by default comes with Wine in it's repositories. To do it via Software Center, simply open Software Center and type in the search box 'wine'. This should show you the Wine package and you can click on it to install. After that you need to open at least once the 'winecfg' for the wine environment to create itself.
To do it via PPA (Recommended) in the terminal type the following:
sudo add-apt-repository ppa:ubuntu-wine/ppa -y && sudo apt-get update && sudo apt-get install wine
That should leave you with the latest version. When the development cycle for 1.7 comes out for example, you would change
wine1.7. Installing the PPA will also install
3. How to deal with 2 or more versions of Wine installed
You can have more than 1 version of Wine installed (with some tricks) but it is generally NOT RECOMMENDED. There are some special cases where a piece of software might only work on an specific Wine version until developers solve the problem but it is unwise to have 2 or more versions of wine that can conflict with one another, specially if the user starts confusing each one.
For such a scenario I would recommend to deal with this multiple instances of Wine via PlayOnLinux (PoL), which can create an individual container for each version. To install PoL simply go to their site and install the Ubuntu package. Then follow their step by step configuration which offers several advantages over traditional Wine installations.
This also applies to updates. When you have a previous Wine version like Wine 1.5 and want Wine 1.7, I recommend removing the previous package and the proceeding to install the newer one. A simple
sudo apt-get remove wine1.5 should do that and then proceed with installing the newer development version.
4. How to know which components an application needs
To find out what components an app needs, look in the Wine Application Database. It lists if the application is usable, what components it needs and how to install them.
5. How to install additional components, DLLS and Libraries to Wine
To have a working and enhanced Wine environment for your games and apps, I suggest you use
winetricks to install additional components which will offer better compatibility with games for example.
winetricks comes installed by default when you install the Wine PPA. So, to have a better working system do the following:
In this example I will use
winetricks to prepare for HL/HL2 (Non steam versions, since the Steam versions already came out. For this versions I would suggest: How can I install Steam? . Know that Half-Life and HL2 are natively supported in Ubuntu). To play HL/HL2 you need the Wine PPA as mentioned above. After installing and opening
winecfg at least once continue with winetricks. you can open winetricks in 2 ways, the terminal, in which you would type
winetricks (In case the winetricks window does not open, then type
winetricks --gui) or in the Dash by typing
winetricks. After it opens follow this steps:
Select Select the default wineprefix
Select Install a windows DLL or component
Install all that I have marked (and any additional you need). This covers many apps:
Now right click the installer for HL/HL2 and select Open with Wine. Both games should work perfectly. This applies to apps in general and depending on the app you will need to install more or less components.
Also know that you can install each component in terminal by simply adding the name of the component after the
winetricks command, for example:
winetricks vcrun2010 - Will install vcrun2010 using winetricks
winetricks xna40 - Will install xna40
6. Troubleshooting a Wine App
Sometimes, when running an App one or several of the following can actions can happen:
- Frozen App
- Wine opens a Blue window for a moment and then closes it
- Nothing appears to happen
- Inside the Wine window everything is Black in the start or at some point
DLL, Video card or Component not recognized
For most of this problems there are solutions. Here are the recommended steps for you to start troubleshooting your way into a Wine app:
Always visit the Wine App Site to see what other testers have done to make the App work. For example here is me testing Dead Island: Riptide which I gave it a Bronze since after the selecting the character the whole game went to a Black screen. What I did to test out what was happening was to go to the terminal and run the game from there. In the terminal some of the errors suggested I was missing a vital piece for the game to work. After reading the error output and doing what it suggested (Replacing a corrupted DLL) I could install a component the game needed and the game worked perfectly.
Knowing what the game needs is crucial to getting the game working correctly. Setting the
winecfg options and OS environment is only a small part. This is only creating the environment for the app. You need to add other functionality like DirectX, XNA, .NET Framework and more that the app might need in order to work. This are key components for some apps. Without them, even if some apps work correctly, others will not. Making sure you have all of this components gives you a higher chance of complying with what an app needs.
As you can see from my Dead Island test I added several
winetricks packages and also installed 3 packages the games comes with (DirectX, Windows Media Format and Microsoft Visual C++ 2010). With this I managed to guarantee that the game would start and be playable.
Some apps are only created for certain Windows versions as seen with Dungeon Keeper. To specify a particular Windows Version for a particular app you can open
winecfg navigate to Applications and select Add Application, then search for the applications executable file and click on Open. Now select the application from the list and then change the Windows Version for it. This way, only this application will have an specific version of Windows assigned to it, instead of globally changing the Windows version for all apps.
Changing the Windows version globally can affect apps that were installed with a different Windows version. For example, Installing Terraria in a Windows XP environment and then changing it after playing to Windows 7 will give you one of two errors, one, not finding the saved games and two not running the app.
Running an app to diagnose what the problem can be done through the terminal which is the best way by far to know what the app is doing or needing. The app can tell you information like:
- What missing DLL it needs to run (mscore.dll, steam_api.dll)
- What missing component it needs to run (XNA, DirectX, .NET...)
- If the problem is you are using a 64 Bit environment instead of a 32 Bit
- If you need to add a parameter for the app to run
For missing DLLs I suggest using dll-files to download specific DLLs missing that are needed for the APP. Normally you can paste this DLLs inside the game folder or in the Windows/System32 folder (Or both) and that should solve the problem. For missing components use
When troubleshooting an App, always run the app in an emulated Desktop Window. Open
winecfg go to Graphics and enable Emulate a Virtual Desktop. Then set the resolution for it. This way, if the app freezes, hijacks the keyboard and/or mouse focus, at least you have a way to eliminate the app instead of having it fullscreen where you have few choices:
For freezing scenarios of an app at fullscreen I suggest activating the "Kill X" feature that is found in the Keyboard Layout Window which can save you several seconds of time when trying to get out of a frozen Wine app:
Another technique of getting out of frozen or not responding Wine apps is by pressing CTRL+ALT+F1, login in and typing
wineserver -k. For this cases I typically first try to press CTRL+ALT+T to make the terminal open and I can do the
wineserver -k from there. This will kill the running Wine process and give you the freedom to troubleshoot from another angle.
Remember that if an app needs a minimum or recommended hardware requirement in Windows, it will also need the same on Linux. If the app needs 512 MB of RAM and a 2.0 Ghz CPU, it will need the same on Linux using Wine.
Sometimes you will come across an app in an ISO or any other Image format that you can not manage to open or install. Ubuntu comes with several tools to open this files but the best one I have tried so far is CDEMU which covers several types of images that bring Multi-Sector or Protected format. This is the closest you will get to something similar to DAEMON Tools. Cases like The Sims 3, Simcity 2000 and others can only be opened and installed using this app. More info in Apps capable of mounting/unmounting CD/DVD Images with multi-sector or protected format
For cases where an specific app is not running, showing graphical glitches, black screen or not running with full graphics I actually recommend reading one of the following links that applies to the end user for video support:
Nvidia Users - How do I install the Nvidia drivers?
Hybrid - Is a NVIDIA GeForce with Optimus Technology supported by Ubuntu?
Ati - What is the correct way to install proprietary ATI Catalyst Video Drivers (fglrx) directly from AMD?
Apart from checking the above, if you have the correct drivers I would also add that you need to check if your video card has OpenGL support. For this I would first install mesa-utils if not yet installed:
sudo apt-get install mesa-utils
to test for OpenGL support. Simply run a check to see if you have OpenGL support:
glxinfo|grep 'direct rendering'
which should say Yes if you do have support. Another alternative would be:
Lastly, you can run
glxgears to give you an idea of how your video card renders and its FPS for the render. Another very important point is to run the application from the terminal as in
wine AppName.exe, this way it will show what the problem is.
If the Unity Launcher is not hiding itself when running a Wine app or is moving the app to the right you can do one of 2 things:
Hold the ALT key and click and drag the Wine to the Left
In the appearance option select "Auto-Hide The Launcher" and set the sensitivity to a level you like. This way the launcher will hide when the mouse leaves it's area.
Shader Model 3.0 is not recognized in Wine (Including Steam games)
There are games that require Shader Models and output an error similar to Required OpenGL extension GL_EXT_texture_compression_s3tc. To fix this simply type the following in the terminal:
sudo apt-get install libtxc-dxtn-s2tc0
Wine has come a LONG way from the days where newer games could not be played. It has gotten to a point where playing in Ubuntu is effortless. Wine has even some support for SM4.0 and DirectX 10/11 on Wine 1.6. If the problem persists it means that either your video card does not support this or you are missing the correct libraries.
Another reason that Wine might not detect Shader Model is because it might be set to Disabled in the Winetricks. Open the Dash and type
winetricks. Select your wineprefix then Change Settings. Then look for the glsl=enabled option and select it. This should solve the Shader Model issue. Cases like the game Limbo are solved this way.
7. How do I open multiple Wine apps without them using the same Window (Overlapping)
You can setup multiple Wine windows by adjusting some Wine parameters before starting each individual Wine program. The fastest way is to open the terminal where the executable of the app you want to run exists. Let us assume it is the Wow.exe app. Then simply type the following:
wine explorer /desktop=WOW,1024x768 "Wow.exe" -opengl -console
This would open the Wow.exe executable with a Window titled "WOW", a resolution of 1024x768 for that specific Window and it would apply the parameters -opengl and -console to the Wow executable. Now assuming you have the game installed somewhere else, you would the following change:
wine explorer /desktop=WOW,1024x768 "/media/cyrex/fun/wow/Wow.exe" -opengl -console
This would execute the Wow.exe assuming it resides in the folder wow inside a partition called fun in your /media/USER folder. The output should be similar to this when running for example 4 apps:
Now this is all great but, what if you wanted to execute the game every time but you do not want to type all of that or open the terminal at all. Well there is a more easier way to accomplish this. The idea is to create a Desktop shortcut. Simply right click on the Desktop to open the Context Menu and select New Document --> Empty Document. This should create an "Untitled Document" file on your desktop. Now open the file and paste in it the following:
Now save it and rename the file to the application you want to open but at the end add ".desktop". It will turn into an "Executable Windows Icon". Now right click the Icon again and go to Properties --> Permissions --> Activate Allow executing file as program. Now go to the Basic Tab and insert the information you need to execute that wine app. The end result should be something like this:
8. Does having Ubuntu 64 bit influence Wine
Yes, having Ubuntu 64 Bit will also set Wine as 64 bit. This will create several problems for many Windows apps that only work on 32 Bit. To solve this you need to do the following after having succesfully installed the PPA version as I mentioned above. Immediately afer installing the PPA wine package and before opening
winecfg open the terminal (Make sure you are at your home folder by typing
cd ~) and type the following:
rm -fr ~/.wine
Change USER with your user account. For example in My case, that line would read
With this method you have changed the Wine architecture to 32 bit and on the moment you open Winecfg, it will configure all the Windows versions available to 32 Bit.
9. Benefits of Using PLayOnLinux (PoL) / CodeWeavers CrossOver / DosBox
Although you can actually install and configure everything you need with Wine alone and it's complementing apps (winetricks, regedit, explorer) using PoL can save you some trouble and time when installing an application. With PoL you can find a list of apps that you can select and install in it's database:
and by simply selecting to install you achieve the following benefits:
Creating an independent container which holds the app installed, a specific Wine version for the app installed (In some cases, a specific Wine version works better for a specific app than the current Wine version).
Automatically installing any additional DLL and Components the app needs to function correctly.
Adding the appropriate registry keys the app needs
Create an independent way of running multiples apps without them overlapping each other with Windows version changes, regedit changed, specific Wine versions, etc..
Of course, it is important to know that PoL works side by side with Wine and it needs Wine to work correctly (It is based on it). In many cases, an app might not work with PoL but will work with the default Wine configurations I have mentioned in this guide. So if you find the app you want to use in PoL, great. But if you don't find it, remember you always have the alternative to using the default Wine to install and configure the app.
The benefits of installing the app using Wine and installing it using PoL is that with Wine, you can access and execute the App using the DASH, like in the images below:
(Dead Space & Dead Island)
CodeWeavers CrossOver (CC)
CC is very similar to PoL on how to install and configure apps. The main difference is that CC offers official support. They even have their own CodeWeavers Database which holds more than 10.000+ apps. Not only that but they have a ranking system similar to the one in Wine's AppDB. They have also contributed to the development of Wine some of which you can see in their Support.
DB is to MS-DOS apps as Wine is to Windows apps. With DB you can run MS-DOS apps in your system. Simply install the
dosbox package and you are done. Running an app is as simple as going to the folder where the app resides and executing the following:
This will open the current folder as a drive letter on the DB environment.
You can also mount a folder by doing the following after opening DB:
mount x: /Absolute/Path/To/Folder/Of/App
mount c: /home/cyrex/Desktop/Dune2
Will create the C: Drive letter which contains the Dune2 folder. So if I simply execute dune2.exe I get the following:
10. What are some special parameters and tips I can use with Wine
There are a couple, for example:
wine --version - Shows the version of wine
wineserver -k - Kills all wine versions for the specific user. This is useful if your Wine app is frozen, took the whole screen and does not let you use Ubuntu, has the mouse or keyboard focused on it and other Wine issues that might appear with some apps.
wine explorer - Will open an explorer similar to the Windows Explorer
wine explorer /desktop=X,Y - Creates a virtual desktop where X is the name of the Desktop Window and Y is the resolution of the Window. For example:
wine explorer /desktop=WOW,1024x768 Wow.exe
regedit - Will open the regedit version of Wine similar to the Windows one.
wine uninstaller - Will open the Add & Remove of Wine similar to the one in Windows. Here you will be able not only see which apps you have install and uninstall them, but also be able to install new apps if you wish.
winetricks - Will open the winetricks app to install missing Libraries, DLLS and Components essential for the correct functionality of many Windows apps.
winecfg - Will open the Wine Configuration where you can set Video, Sound and Windows version.
wine ipconfig - Shows you the IP that Wine can see. Similar to ipconfig.
wine netstat - Shows you the IP/Port connections made. Similar to netstat.
wine start - Sets the working directory for the executable. This option helps in cases where the executable only works from the same folder and not from a full path. An example is if you wanted to run a .bat file or simply execute a command from another folder (eg: Parent folder), you would do something like this, assuming we are not in the same folder as MetroLL.exe:
wine start /d "C:\\Program Files\\GMT-MAX.ORG\\Metro Last Light" MetroLL.exe
This would do two things, it will first set the directory to the
Metro Last Light folder and then it would run the
MetroLL.exe mentioned at the end. This is similar as running the executable from the same folder but it has the advantage of running the app from any other place. The thing to know here is that:
- Wine does not like Unix paths, so you need to separate folders with
\\ instead of
- You need to use an absolute path. You need to start from
C:\\ to make sure the executable will always work as it should.
- If the executable is outside the
C: drive, then add the corresponding letter. For example, to execute a Windows binary outside of Wine, you would use the
Z:\\ letter since
Z: normally points to the Linux system's root directory.
- If in doubt ask the command for help with the
/? parameter, (eg:
wine start /?)
export WINEPREFIX - This variable is used to change the Wine Prefix to another location. For example if you wish to merge PoL and Wine (Not recommended since PoL has multiple Prefixes) you can do the following:
Where PREFIX is the one you want to merge with Wine. You would have to run winecfg again.
When dealing with a folder tha has spaces (eg: World of Warcraft), you can execute the Wow.exe file by adding the \ symbol in front of every space, this escapes the symbol. The end result would be something like "World\ of\ Warcraft\Wow.exe". If you do not want to add this escape symbols to your line of code, simply double quote the entire link, so it looks like:
wine explorer /desktop=WOW,1024x768 "/media/cyrex/My Partition/World of Warcraft/Wow.exe" -opengl -console
as you can see, there are 2 folders with spaces in them, "My Partition" and "World of Warcraft", but since I quoted the whole string, the need to include escape characters is not needed. If you wished to use the Wine Path (eg: C:/) then all slashes would be a double slash (eg: "C:\Program Files\App").
Parameters that are applied to an app should always be OUTSIDE the quoted strings. Using the example above, we can see -opengl and -console outside the quotes.
When dealing with apps that take hold of you mouse and/or keyboard, you can use
wineserver -k to kill the app, or simply opening the App in Windows mode or setting the Windows mode with the
wine explorer /desktop parameter will save you from having this mouse/keyboard problems.
11. Stability, Performance and App Support Wine offers to end users
I have tried Wine since 2005 and seen how the developing process in Wine under Ubuntu has been quickly catching up to the latest games.
Around 2009 if somebody came to me and wanted to change to Ubuntu, one of the questions they would ask me would be: Can I play X game on Ubuntu?. If the answer was positive for that game the next question would be something along the lines of: Will it have the same performance?
In 2009 my normal answer was no in both questions. After Wine 1.2 came out in 2012 and then 1.4 in 2012, I had changed my answer for several games and for the first time I was more positive about telling a new user that they could actually play the game. Many cases started to appear which would amaze me a many other users, cases like Deep Space 2 which is/was one of the latest games I could play and which I tested 3 days after it was released. Alice in Wonderland (The new one I mean), The Sims 3, World of Warcraft, Amnesia and others. Even Skyrim could be played. This are games that demand powerful graphics and you can play them with little to no additional setups other than the normal install and play steps I provided above.
A quick way to know what games can or can not be played on Wine (In Ubuntu) and a method I actually recommend is to visit the Wine App Database: http://appdb.winehq.org/ which holds more than 10000+ games. This also includes information for most games about the performance and stability, which is not the same for each game that can be playable on Linux. This helps knowing if a game is playable and has the same confirmed performance over the same game on Windows.
The Wine App Database also offers something called Ranking which helps determining what games can be played with less configuration and a bigger chance of them working out of the box. When you see this ranks, you have an idea if the App will work or not. Mind that you need to also take into consideration what hardware and Wine version the tester shows on the Wine Database. The rankings are as follow:
Platinum Rank - It means you have a 99% chance it will work out of the box with no problems at all, from start to finish. This includes stability, performance and anything you can do with the app. The chance the app has on working is almost 100%.
Gold Rank - It means you might find yourself doing a little bit of configuring but at the end it will work out good, but note that in most cases, Gold status will work out of the box for most users. They might also show as Gold because they have not being tested with the latest Wine version so the problems manifested on an older version might be gone already. The chance the app has on working ranges between 60% to 99%.
Silver Rank - It means that the game will run, but might have graphical, sound or control issues. Apart from this, you might also need to configure or do many steps for the app to work correctly. The chance the app has on working ranges between 30% to 60%.
Bronze Rank - It means the game might run, it needs a lot of configuration to make it work and in most cases it will not work correctly. The chance the app has on working ranges between 0% to 30%.
Garbage Rank - It means the app still does not work, not even install. The only way to make it work would be when Superman starts eating kryptonian cereal in the morning.
A couple of years ago the amount of Platinum games was less than 50. In 2012 you could find More than 1500 games out of which almost 200 were in the Latest Titles. Today there are more than 5800 Games of which 1800+ are Platinum. The only need here is for more people to participate and test the apps on Wine. This is the main reason I will always recommend using the PPA from Wine.
For game tests and performance information see Gaming performance difference between Windows and Ubuntu