Wine Runs Windows Applications

How it Works

Man on laptop listening to earphones
Image Source RF/Natalie Young/Image Source/Getty Images

The goal of the Wine project is to develop a "translation layer" for Linux and other POSIX compatible operating systems that enables users to run native Microsoft Windows applications on those operating systems.

This translation layer is a software package that "emulates" the Microsoft Windows API (Application Programming Interface), but the developers emphasize that it is not an emulator in the sense that it adds an extra software layer on top of the native operating system, which would add memory and computation overhead and negatively affect performance.

Instead Wine provides alternative DDLs (Dynamic Link Libraries) that are needed to run the applications. These are native software components that, depending on their implementation, can be just as efficient or more efficient than their Windows counterparts. That is why some MS Windows applications run faster on Linux than on Windows.

The Wine development team has made significant progress towards achieving the goal to enable users to run Windows programs on Linux. One way to measure that progress is to count the number of programs that have been tested. The Wine Application Database currently contains more than 8500 entries. Not all of them work perfectly, but most commonly used Windows Applications run quite well, such as the following software packages and games: Microsoft Office 97, 2000, 2003, and XP, Microsoft Outlook, Microsoft Internet Explorer, Microsoft Project, Microsoft Visio, Adobe Photoshop, Quicken, Quicktime, iTunes, Windows Media Player 6.4, Lotus Notes 5.0 and 6.5.1, Silkroad Online 1.x, Half-Life 2 Retail, Half-Life Counter-Strike 1.6, and Battlefield 1942 1.6.

After installing Wine, Windows applications can be installed by placing the CD in the CD drive, opening a shell window, navigating to the CD directory containing the installation executable, and entering "wine setup.exe", if setup.exe is the installation program.

When executing programs in Wine, the user can choose between the "desktop-in-a-box" mode and mixable windows.

Wine supports both DirectX and OpenGL games. Support for Direct3D is limited. There is also a Wine API that allows programmers to write software that runs is source and binary compatible with Win32 code. 

The project was started in 1993 with to objective to run Windows 3.1 programs on Linux. Subsequently, versions for other Unix operating systems have been developed. The original coordinator of the project, Bob Amstadt, handed the project over to Alexandre Julliard a year later. Alexandre has been leading the development efforts ever since.