Generated by GPT-5-mini| Wine (software) | |
|---|---|
![]() | |
| Name | Wine |
| Title | Wine |
| Developer | Wine Project |
| Released | 1993 |
| Latest release version | 8.0 (example) |
| Operating system | Unix-like, macOS, BSD, Linux, Solaris |
| License | LGPL, MIT |
Wine (software)
Wine is a compatibility layer that enables applications written for Microsoft Windows to run on Unix-like operating systems without native Microsoft Windows binaries. It translates Windows API calls into POSIX-compliant calls, allowing integration with X Window System desktops, Wayland, and native Linux libraries while supporting common Windows subsystems. Wine serves end users, developers, and organizations seeking to run Microsoft Office, Adobe Photoshop, Internet Explorer, and games originally built for Windows.
Wine implements portions of the Windows API, providing runtime libraries, a loader, and configuration tools to execute Portable Executable binaries. It exposes a user-space implementation of subsystems analogous to Kernel32.dll, User32.dll, GDI32.dll, and Ntdll.dll while relying on Unix kernel services like those in Linux kernel, FreeBSD, and NetBSD. Wine supports interoperability with PulseAudio, ALSA, OSS, OpenGL, Vulkan, and native DirectX translations, enabling integration with popular desktop environments such as GNOME, KDE, and Xfce.
Wine began in 1993 as a project initiated by Bob Amstadt and Eric Youngdale, later advanced by Alexandre Julliard, and grew with contributions from developers affiliated with institutions like CodeWeavers, Red Hat, and Canonical. It evolved alongside milestones in Microsoft Windows releases—tracking changes from Windows 3.1 through Windows 10 and beyond—often reverse-engineering undocumented behaviors to maintain application compatibility. Wine spawned derivative projects and forks such as Proton by Valve (company), commercial ports by CodeWeavers, and compatibility layers used in cross-platform initiatives linked to companies like Valve Corporation and projects like Steam Play. Over its history, Wine has been involved in legal and technical discussions related to reverse engineering and interoperability, intersecting with policies from organizations such as Free Software Foundation and standards bodies like POSIX.
Wine's architecture includes user-mode components and helper tools. Core elements comprise the loader, native and built-in DLLs, and a registry implementation modeled after Windows Registry. Key components include: - NTDLL/Kernel interface implementations that mirror behavior found in Windows NT kernels and provide system call translation to Linux kernel and other kernels. - User-space GUI stacks that implement User32.dll and GDI32.dll to interface with X Window System or Wayland compositors and accelerate graphics via Mesa and NVIDIA drivers. - Audio backends supporting ALSA, PulseAudio, JACK, and OSS. - Winelib, a development kit enabling developers to compile Windows source code into native Unix binaries, used historically by projects like WineSkin and ports within organizations such as TransGaming Technologies. - Tools including Winecfg, Winetricks, and wineboot for configuration, dependency management, and environment initialization.
Wine aims for high compatibility with popular Windows applications and games but varies by title. The Wine Application Database catalogs support levels for software such as Microsoft Office 2010, World of Warcraft, League of Legends, and The Elder Scrolls V: Skyrim. Performance can approach native speeds for CPU-bound applications; GPU-bound games depend on driver quality from vendors like NVIDIA, AMD, and Intel and on translation layers such as DXVK and vkd3d. Compatibility challenges arise from proprietary Windows behaviors, undocumented APIs, and anti-cheat systems developed by companies like Battle.net vendors and publishers including Blizzard Entertainment, Electronic Arts, and Riot Games.
Wine runs on many Unix-like platforms, including Linux distributions such as Ubuntu, Debian, Fedora, Arch Linux, on BSD systems like FreeBSD and OpenBSD to varying extents, and on macOS through ports and wrappers. End users install Wine to run productivity suites like Microsoft Office 2016 and legacy business software used in enterprises such as banks and hospitals, and gamers use Wine or compatibility layers like Proton to run Steam titles. Integrations exist with packaging systems and containerization technologies from companies like Docker, Inc. and projects like Flatpak and Snap (software) to distribute Wine-based environments.
Wine is developed collaboratively under the auspices of the Wine Project with contributions from independent developers and companies such as CodeWeavers, Collabora, and various academic contributors. Development proceeds through a versioned release model with staging branches where experimental patches are tested, and maintainers coordinate via mailing lists, bug trackers, and code review platforms. Wine's licensing uses the GNU Lesser General Public License and MIT License for components, allowing integration with free software ecosystems including projects hosted by GitLab and SourceForge historically. Governance is informal but guided by lead maintainers and major corporate contributors who influence priorities such as gaming support or enterprise interoperability.
Critics note that Wine's reverse-engineering approach can produce incomplete or incompatible behaviors, causing reliance on vendor-specific workarounds from companies like Valve Corporation or commercial vendors such as CodeWeavers. Security concerns include running untrusted Windows binaries that may exploit differences between Wine's implementations and Microsoft Windows behavior; this risk has led to sandboxing recommendations involving technologies like AppArmor, SELinux, and containers from Docker, Inc. and orchestration platforms like Kubernetes. Anti-cheat and digital rights enforcement mechanisms from publishers such as Activision and Ubisoft have caused functional regressions and legal complexity when those systems conflict with Wine's operation.
Category:Compatibility layers