Wine (the abbreviation of “Wine Is Not an Emulator”) is a compatible layer that can run Windows applications on a variety of POSIX-compliant operating systems such as Linux, macOS, and BSD. Wine is not like a virtual machine or simulator imitate the same internal Windows logic, but the Windows API call translated into a dynamic POSIX call, eliminating the performance and other behavior of the memory footprint, so you can clearly set the Windows application to your desktop.
- Loads Windows 9x/NT/2000/XP/Vista/7/8/10, Windows 3.x and DOS programs and libraries
- Win32 compatible memory layout, exception handling, threads and processes
- Designed for POSIX compatible operating systems (eg. Linux, macOS and FreeBSD) and Android
- “bug-for-bug” compatibility with Windows
- X11-based graphics allows remote display to any X terminal
- macOS and Android-based graphics support
- X11, TrueType (.ttf/.ttc) and Windows Bitmap (.fon) Fonts
- Support for DirectX based games and applications (Direct3D support up to DX11)
- Support for OpenGL based games and applications
- Printing via PostScript driver to the host printing system (usually CUPS)
- Enhanced Metafile (EMF) and Windows Metafile (WMF) driver
- Desktop-in-a-box or mixable windows
- Windows MultiMedia (WinMM) layer support with built-in codecs
Allows Windows program to interface with:
- Sound devices via ALSA, OSS, PulseAudio, Core Audio, etc.
- Multi-lingual keyboards and CJK input method support via XIM
- Modems, serial devices
- Networks (TCP/IP and IPX)
- ASPI Scanners
- Windows Tablets via XInput (eg. Wacom)
API Coverage and Portability
- Designed for source and binary compatibility with Win32 code
- Win32 API test suite to ensure compatibility
- Compilable on a wide range of C compilers
- Permits mixing of Win32 and POSIX code
- Permits mixing of ELF (.so) and PE (.dll/.exe) binaries in one address space
- Win32 compatible header files
- Automatically generated API documentation
- Resource compiler
- Message compiler
- IDL compiler
- Extensive Unicode support
- Internationalization — Wine supports 16 languages
- Built-in debugger and configurable trace messages
- External memory checker support using Valgrind
- Sample programs
– Separate implementation of USER controls for ComCtl32 v6.
– Multisample texture support in Direct3D.
– Support for HID gamepads.
– More event support in MSHTML.
– Obsolete DOS code removed.
– Various bug fixes.