Many programs work under WINE with absolutely no configuration. The second WINE is installed, it can flawlessly run them. Unfortunately, that isn’t always the case, and applications are constantly being updated, so the list of flawless applications is always changing. It’s a good thing that WINE can be configured to accommodate potentially troublesome programs.
There are two main utilities for doing so,
winetricks. This guide will cover the former, and a future guide will handle the latter. Most of the time, though,
winecfg is enough to get an application running.
winecfg is a graphical utility. Different distributions and desktop environments handle WINE and WINE applications differently, so the easiest way to open it up on any distribution is to run
winecfg in a terminal.
When the application opens, you will notice a plain window with seven or eight tabs, depending on which version of WINE you’re running. The eighth tab is “Staging,” and like the name suggests, is only available when the staging patches have been applied to WINE.
The “Libraries” tab may be the most important one in
winecfg. It allows you to control how WINE handles certain Windows libraries. This is especially important because some applications experience incompatibility with certain library versions or require come non-standard libraries. The WINE project has also modified the way some of these work in order to solve problems with WINE itself. Since WINE is not Windows, it cannot always use the exact native version of a Windows library without that library first being adapted to work with WINE.
The first element to consider in the tab is the “New override” drop down. It allows you to either select a Windows library from an impossibly long list or enter one yourself. Then, you can click the adjacent “Add” button to add it to the list of overrides.
After clicking “Add,” the library will appear in the box below labeled, “Existing overrides.” That box contains the list of library overrides that have been added to WINE. By default, a new override will have
(native, builtin) next to it. This means that WINE will first try to use the native Windows version of the library. If that fails, it will fall back to the builtin WINE version. These are options, and they are editable. To do so, highlight the override that you want to edit, then click “Edit” on the side of the “Existing overrides” box.
Clicking on the “Edit” button will display a window that allows you to edit the override. There are five available options to choose from, most of which are different combinations of “Native” and “Builtin.” The last option available is “Disable.” Which of the options that you choose is heavily dependent on what issue the program that you are trying to run is experiencing. Figuring out which can be a difficult process if the program isn’t documented on the WINE Appdb (
https://appdb.winehq.org). You can try running the program with WINE through the command line to see if you get any useful output. Otherwise, there’s nothing wrong with a little trial and error.
If you need to remove an override, just highlight it in the “Existing overrides” box and click the “Remove” button. This happens from time to time as programs get updated.
The “Graphics” tab is probably not something that you’d use all that often. If you are having resolution issues, you can tweak the
dpi, or if your window manager is misbehaving, you can disable its control over WINE windows.
More often than not, the reason you’d use the “Graphics” tab is for the “Emulate a virtual desktop” option. This option allows you to force WINE applications to be run in contained window that behaves much like a virtual desktop. Keep in mind that his is not a VM. It just forces any application run through WINE to be contained in a window. You can set the side of this window after checking off the option.
It probably seems like a strange option to use, but there are a couple of very clear cases where you’d definitely want to use it.
All too often in WINE, an application will refuse to run in windowed mode. This is usually an issue with games where some strange graphical bug will only occur in windowed mode. The workaround for running that type of uncooperative game in Windowed mode is to use the “Emulate virtual desktop” option.
The other case is more problematic. Sometimes, an application will attempt to change the system screen resolution and crash in the process. Again, this is most common in dealing with games, especially older ones. The crash can result in a black screen, altered resolution, or unresponsive X server. In any case, it’s troublesome. To prevent these problems, run the application using “Emulate a virtual desktop.” It may not prevent the crashes, but it will prevent them from causing issues with the rest of the system. This is a useful debugging methodology.
You will probably never use this tab. You just won’t. The “Desktop Integration” tab allows you to change the appearance of applications running in WINE. However, most desktop environments and window managers do an excellent job of interfacing with WINE, making it nearly completely unnecessary to change the theme. The worst result you will see from not using this tab is applications that look like they’re from Windows ’98.
The one option here they you may use is the “Folders” box. This allows you to change the bindings between you
/home folders and their Windows equivalents. The defaults are usually great, so this isn’t all that frequently used either.
For the most part, WINE will detect the drives that you have in use in your system just fine. If, for some reason, it doesn’t or you need to add either a physical or virtual drive, the “Drives” tab is the place to do that.
If you added a physical drive, you can probably get away with pressing the “Autodetect” button to allow WINE to detect the new drive. If that doesn’t work, or you added a virtual drive, you can click “Add…” and specify a drive letter to assign your new drive to. From that point, select the drive in the “Drive configuration” window, then change the path to the device that you need via the “Path” field below.
This tab is most useful if you have multi-disk games or games that require a CD to be present in a drive to play. It can also help if you have a designated drive or a Windows partition that has games or other applications on it.
The audio tab allows you to configure audio input and output. It’s generally best to leave everything here at “System default” so that it uses the system-wide settings. However, if you do need to change any of the settings, this tab gives you that ability.
The “Staging” tab is only present for people using the staging or gallium patches. The tab just provides a series of checkboxes to enable or disable different features made available by the patches. The main feature here is the ability to enable CSMT or Gallium Nine support, depending on your patches. CSMT is available for all graphics cards and drivers and brings fairly substantial performance increases in many programs and games. Gallium Nine is only available to Mesa users and can potentially bring massive performance increases. The two cannot be used together, though. The other options may provide some performance increases, but nowhere near the previous two options.
Since most WINE configurations are the result of application specific issues, it would only make sense that WINE would allow application specific configuration. The “Application” tab allows you to create settings based on the application that WINE is executing as well as selecting a version of Windows to emulate for compatibility reasons.
To create an application specific rule set, click “Add application…” You will be presented with a window that allows you to browse to specific Windows executable files. Select the one that you want.
winecfg will adapt based on which application is selected in the “Applications” tab. By default “Default Settings” is selected. Those are the general settings that will be applied to all applications, unless a specific set of rules exists for the application being run. By selecting an application in the “Application” tab, you display that application’s settings in all other tabs. The changes you make in the other tabs will only apply to the selected application and not the defaults or any other applications. This way, you can compartmentalize your application settings in WINE to ensure that your settings don’t conflict.
winecfg is a small but powerful utility that allows you to configure WINE to meet your needs. By familiarizing yourself with it and understanding how to properly create application specific configurations, you can create a seamless experience with many applications that you can run through WINE. Additionally, using
winecfg in conjunction with
winetricks can go even further towards making more applications run at near native levels of performance and reliability.