Wine is an open-source compatibility layer for running Windows applications on Unix-based operating systems, such as Linux and macOS. It allows users to run Windows software without the need for a Windows operating system.

Wine stands for "Wine Is Not an Emulator" because it does not emulate a full Windows environment, but rather translates Windows system calls into their equivalents on the host system. This allows Windows applications to run more efficiently and with better performance than if they were emulated.

Features

Binary Compatibility

  • Loads 64-bit, 32-bit, 16-bit Windows 9x/NT/2000/XP/Vista/7/8/10 and Windows 3.x programs and libraries
  • Win32 compatible memory layout, exception handling, threads and processes
  • Designed for POSIX compatible operatings systems (eg. Linux, macOS and FreeBSD) and Android
  • "bug-for-bug" compatibility with Windows

Win32 API support

  • Support for DirectX based games and applications (Direct3D support up to DirectX 12)
  • Support for OpenGL and Vulkan based games and applications
  • DirectShow support with use of GStreamer for codecs
  • Direct2D, DirectWrite support
  • MMDevice API, XAudio, WinMM, DirectSound audio APIs are supported
  • 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

Allows Windows program to interface with:

  • X11-based graphics which allow remote display to any X terminal
  • macOS and Android based graphics
  • X11, TrueType (.ttf/.ttc) and Windows Bitmap (.fon) fonts
  • 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)
  • Video capture devices via v4l2
  • HID devices via IOHid (MacOS), evdev (Linux), hidraw (Linux), SDL2

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

What's New

The Wine development release 10.9 is now available.

What's new in this release:

  • Bundled vkd3d upgraded to version 1.16.
  • Initial support for generating Windows Runtime metadata in WIDL.
  • Support for compiler-based exception handling with Clang.
  • EGL library support available to all graphics drivers.
  • Various bug fixes.

You will find documentation here.

Wine is available thanks to the work of many people. See the file AUTHORS for the complete list.

Bugs fixed in 10.9 (total 34):

  • #10853 Code::Blocks 8.02 IDE: some toolbar strips are too long
  • #10941 Wine does not print in a new allocated console window using AllocConsole()
  • #21666 Heavy Metal Pro fails to print Record Sheet
  • #22018 No MIDI music in Alonix
  • #26017 3D Pinball - Space Cadet: fullscreen does not work properly
  • #34331 Toolbar buttons can be activated without a proper click
  • #35882 Empire Earth 1.x display artifacts
  • #46750 MS Office 2010 on Windows 7 crash
  • #47281 wineserver uses a full CPU core with Ableton Live 10.0.6 and a custom Wine version
  • #51386 ln.exe needs KERNEL32.dll.FindFirstFileNameW
  • #51644 Implementation of wsplitpath_s required for The Legend of Heroes: Trails of Cold Steel
  • #51945 property "Size" from win32_logicaldisk gives bogus results
  • #52239 Partially invisible URL in TurnFlash's About window
  • #54899 EA app launcher problem with text display
  • #55254 Dyson Sphere Program (Steam): white artefact on opening scene
  • #55255 Dyson Sphere Program (Steam): mouse ignored if switching windows
  • #55304 Kerberos authentication stopped to work after PE wldap32 conversion
  • #55928 NtQuerySystemInformation SystemProcessInformation result misaligned
  • #56068 No "Timeout" command
  • #56186 The 32-bit dmusic:dmusic fails in a 64-bit wineprefix
  • #56859 Can't install photoshop CS6 through wine
  • #57105 Steam GPU process crash loop with 64-bit wineprefix
  • #57178 toolbar control doesn't forward WM_NOTIFY to it's original parent (affects 7-zip file manager)
  • #57387 Sega Rally Championship Demo crashes at startup if Direct3d/renderer set to GDI
  • #57613 Calling 'iphlpapi.GetIpNetTable' with a large number of network interfaces present crashes Wine builtin NSI proxy service
  • #58060 Zafehouse: Diaries demo crashes in d3dx_initialize_image_from_wic with unsupported pixel format {6fddc324-4e03-4bfe-b185-3d77768dc902}
  • #58133 Gigapixel ai no longer starts 8.3.3
  • #58203 PL/SQL Developer: All system memory gets eaten
  • #58217 The Journeyman Project 3 doesn't work in virtual desktop mode
  • #58243 Geekbench 6 crashes at start.
  • #58255 Player2 crashes
  • #58269 Build regression in wine 10.7 using clang on aarch64 (error in backend: Invalid register name "x18")
  • #58277 Virtual desktop doesn't resize correctly
  • #58285 Crystal of Atlan - Hard crash after server selection