WineHQ
Run Windows applications on Linux, BSD,
Solaris and Mac OS X.

Wine (originally
an acronym for "Wine Is Not an Emulator") is a compatibility
layer capable of running Windows applications on several
POSIX-compliant operating systems, such as Linux, macOS, &
BSD. Instead of simulating internal Windows logic like a
virtual machine or emulator, Wine translates Windows API
calls into POSIX calls on-the-fly, eliminating the
performance and memory penalties of other methods and
allowing you to cleanly integrate Windows applications into
your desktop.
Different
software programs are designed for different operating
systems, and most won't work on systems that they weren't
designed for. Windows programs, for example, won't run in
Linux because they contain instructions that the system
can't understand until they're translated by the Windows
environment. Linux programs, likewise, won't run under the
Windows operating system because Windows is unable to
interpret all of their instructions.
This situation
presents a fundamental problem for anyone who wants to run
software for both Windows and Linux. A common solution to
this problem is to install both operating systems on the
same computer, known as "dual booting." When a Windows
program is needed, the user boots the machine into Windows
to run it; when a Linux program is then needed, the user
then reboots the machine into Linux. This option presents
great difficulty: not only must the user endure the
frustration of frequent rebooting, but programs for both
platforms can't be run simultaneously. Having Windows on a
system also creates an added burden: the software is
expensive, requires a separate disk partition, and is unable
to read most filesystem formats, making the sharing of data
between operating systems difficult.
What is Wine, and how can it help me?
Wine makes it
possible to run Windows programs alongside any Unix-like
operating system, particularly Linux. At its heart, Wine is
an implementation of the Windows Application Programing
Interface (API) library, acting as a bridge between the
Windows program and Linux. Think of Wine as a compatibility
layer, when a Windows program tries to perform a function
that Linux doesn't normally understand, Wine will translate
that program's instruction into one supported by the system.
For example, if a program asks the system to create a
Windows pushbutton or text-edit field, Wine will convert
that instruction into its Linux equivalent in the form of a
command to the window manager using the standard X11
protocol.
If you have
access to the Windows program's source code, Wine can also
be used to recompile a program into a format that Linux can
understand more easily. Wine is still needed to launch the
program in its recompiled form, however there are many
advantages to compiling a Windows program natively within
Linux. For more information, see the Winelib User Guide.
Wine features
Throughout the
course of its development, Wine has continually grown in the
features it carries and the programs it can run. A partial
list of these features follows:
-
Support for
running Win64, Win32 (Win 95/98,
NT/2000/XP/2003/Vista/2008/7), Win16 (Win 3.1) and DOS
programs
-
Optional use
of external vendor DLL files (such as those included with
Windows)
-
X11-based
graphics display, allowing remote display to any X
terminal, as well as a text mode console
-
Desktop-in-a-box or mixable windows
-
DirectX
support for games
-
Good support
for various sound drivers including OSS and ALSA
-
Support for
alternative input devices such as graphics tablets.
-
Printing:
PostScript interface driver (psdrv) to standard Unix
PostScript print services
-
Modem, serial
device support
-
Winsock
TCP/IP networking support
-
ASPI
interface (SCSI) support for scanners, CD writers, and
other devices
-
Advanced
unicode and foreign language support
-
Full-featured
Wine debugger and configurable trace logging messages for
easier troubleshooting
Install the
latest Wine: