- Wine (software)
Infobox Software
name = Wine
caption = Screenshot of "Wine Configuration", used to configure Wine settings
collapsible =
author =Alexandre Julliard
developer = [http://source.winehq.org/source/AUTHORS Wine authors
(1,078 and counting)]
released = release date and age|mf=yes|1993|07|04
latest release version = 1.0
latest release date = release date and age|mf=yes|2008|06|17
latest preview version = 1.1.6
latest preview date = release date and age|mf=yes|2008|10|10
programming language = C
operating_system =Unix-like systems andMicrosoft Windows
platform =Cross-platform
size = 7-9.5 MB (archived)
language =
status = Active
genre =Compatibility layer
license =GNU Lesser General Public License
website = [http://www.winehq.org/ www.winehq.org]Wine is a free
software application which aims to allowUnix-like computeroperating system s on thex86 architecture to execute programs written forMicrosoft Windows . Wine also provides asoftware library known as "Winelib" against which developers can compile Windows applications to help port them to Unix-like systems. [ cite web | url = http://www.winehq.org/site/winelib | publisher = Wine HQ | title = Winelib | accessdate = 2008-06-29 ]The name 'Wine' derives from the
recursive acronym "Wine Is Not an Emulator". While the name sometimes appears in the forms "WINE" and "wine", the project developers have agreed to standardize on the form "Wine". [cite web | url=http://wiki.winehq.org/FAQ?action=recall&rev=217#head-8b4fbbe473bd0d51d936bcf298f5b7f0e8d25f2e | title=Why do some people write WINE and not Wine? | publisher=Wine HQ | date=2008-07-07 | accessdate=2008-07-13 ]The Wine developers released version 1.0 of Wine, after 15 years of development, on June 17, 2008. [cite web | url=http://www.winehq.org/?announce=1.0 | title=Announcement of version 1.0 | publisher=Wine HQ | date=2008-06-17 | accessdate=2008-09-01 ]
History
Bob Amstadt (the initial project leader) and Eric Youngdale started the Wine project in 1993 as a way to run
Windows applications onLinux . Inspired bySun Microsystems ' Public Windows Initiative and Wabi [ cite newsgroup | url=http://groups.google.com/group/comp.windows.x.i386unix/browse_thread/thread/88fbd87c0ae2e48f/5003eb8ed33ae522 | title=Wine project status | author=Bob Amstadt | newsgroup=comp.windows.x.i386unix | date=1993-09-29 | accessdate=2008-07-13 ] (an attempt to getWindows API (see also:API ) fully reimplemented on the public domain, a project later shot down byMicrosoft in 1996 [ cite web | url=http://findarticles.com/p/articles/mi_m0CGN/is_1999_May_7/ai_54580586 | title=Sun Uses ECMA as Path to ISO Java Standardization | publisher=Computergram International | date=1999-05-07 | accessdate=2008-07-13 ] ) for the Solaris operating system, it originally targeted Windows 3.x (16-bit)application software , although it currently focuses primarily on the dominant 32-bit applications. The project originated in discussions onUsenet in [news:comp.os.linux comp.os.linux] in June 1993. [ cite web | url = http://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f | title = WABI available on linux or not | accessdate = 2007-09-21 ]Alexandre Julliard has led the project since 1994.Rather than acting as a full
emulator , Wine implements acompatibility layer , providing alternative implementations of the DLLs that Windows programs call, and processes to substitute for theWindows NT kernel.The Wine developers wrote the software primarily for Linux, but the
Mac OS X ,FreeBSD and Solaris ports are currently well-maintained. [cite web | url = http://www.winehq.org/site/docs/wine-faq/index#UNDER-WHAT-PLATFORMS-WILL-WINE-RUN | title = Wine FAQ ] Wine is available for other BSD distributions like OpenBSD and NetBSD through the ports collection of OpenBSD and NetBSD pkgsrc respectively. Although outdated, Wine is also available for Microsoft Windows. [cite web | url = http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=112520 | title = Wine Win32 Packages ]The project has proved time-consuming and difficult for the developers, mostly because of incomplete and incorrect
documentation of theWindows API . WhileMicrosoft has documented most Win32 functions, some areas such asfile format s and protocols have no official Microsoft specification. There are also undocumented low-level functions and obscure bugs that Wine must duplicate precisely in order to allow some applications to work properly. Consequently, the Wine team has had to reverse engineer many function calls and file formats in such areas asthunk ing. [cite web | url = http://www.osnews.com/story/227 | title = Interview with WINE's Alexandre Julliard | accessdate = 2008-06-30 | last = Loli-Queru | first = Eugenia | date = 2001-10-29 | work = OSnews | quote = Usually we start from whatever documentation is available, implement a first version of the function, and then as we find problems with applications that call this function we fix the behavior until it is what the application expects, which is usually quite far from what the documentation states. ]The Wine project originally released Wine under the same
MIT License as the X Window System, but owing to concern about proprietary versions of Wine not contributing their changes back to the core project, work as of March 2002 has used the LGPL for its licensing.The first release candidate for version 1.0 was released on May 9, 2008. After four additional release candidates, version 1.0 of Wine was released on June 17, 2008 after 15 years of development.
Architecture
Wine implements the Windows API entirely in user-space, rather than as a kernel module at the time of writing. Services normally provided by the kernel in Windows are provided by a daemon known as wineserver. Wineserver implements basic Windows functionality, as well as providing extra functions such as
X Window integration and translation of signals into native Windows exceptions.Corporate sponsorship
The main corporate sponsor of Wine is
CodeWeavers , who employ Julliard and many other Wine developers to work on Wine and onCrossOver , CodeWeavers' supported version of Wine utilizing some additional proprietary components.The involvement of
Corel for a time assisted the project, chiefly by employing Julliard and others to work on it. Corel had an interest due to the porting ofWordPerfect Office , itsoffice suite , to Linux. However, after Microsoft made major investments in the company, Corel cancelled all Linux-related projects and the company's Wine effort stopped. [cite web | url = http://www.newsforge.com/article.pl?sid=02/02/25/1449229 | title = That's All Folks: Corel Leaves Open Source Behind | publisher = NewsForge ]Other corporate sponsors include
Google , who hired Codeweavers to fix Wine soPicasa ran well enough to be ported directly to Linux using the same binary as on Windows; they later paid for improvements to Wine's support for Photoshop CS2. Wine is also a regular beneficiary of Google'sSummer of Code program. [ [http://article.gmane.org/gmane.comp.emulators.wine.devel/56872 Google's support for Wine in 2007] (Dan Kegel, wine-devel mailing list, 2008-02-14)] [cite web
url=http://code.google.com/opensource/wine.html
title=Open Source Patches: Wine
publisher=Google
accessdate=2008-09-07]Functionality
As of mid-2007, Wine runs some software with good stability and most software with minor issues. [ [http://appdb.winehq.org/ Wine AppDB - Wine Application Database ] ] Most native Microsoft Windows DLLs necessary for the execution of 32-bit Windows binaries have compatible Wine counterparts. The developers of the
Direct3D portions of Wine have continued to implement new features such aspixel shaders to increase game support. [cite web | url = http://wiki.winehq.org/DirectX-Shaders | title = DirectX-Shaders-The Official Wine Wiki ] Wine can also use native DLLs directly, thus increasing functionality, but then a license for Windows is needed unless the DLLs were distributed with the application itself."winecfg" is a GUI configuration utility included with Wine. Winecfg makes configuring Wine easier by making it unnecessary to edit the registry directly, although, if needed, this can be done with "regedit".
"AppDB" is a community-maintained database of which Windows applications work, and how well they work, with Wine.
64-bit applications
Wine cannot currently run 64-bit Windows applications; however, it can run on 64-bit operating systems. Since almost all Windows applications are currently available in 32-bit versions, support for 64-bit Windows applications is a low priority, planned for after version 1.0.
On a 64-bit Linux system, support for 32-bit Windows applications is handled by linking with 32-bit versions of Wine's
shared library dependencies.Usage
In a 2007 survey by desktoplinux.com of 38500 Linux desktop users, 31.5% of respondents reported using Wine to run Windows applications. [cite web
title = 2007 Desktop Linux Market survey | url = http://www.desktoplinux.com/cgi-bin/survey/survey.cgi?view=archive&id=0813200712407 | date = 2007-08-21 | accessdate = 2007-10-08 ] This plurality was larger than allX86 virtualization programs combined, as well as larger than the 27.9% who reported not running Windows applications.Third-party applications
Some applications require more tweaking than simply installing the application in order to work properly, such as manually configuring Wine to use certain Windows DLLs. The Wine project does not integrate such
workaround s into the Wine codebase, instead preferring to focus solely on improving Wine's implementation of the Windows API. While this approach focuses Wine development on long-term compatibility, it makes it difficult for users to run applications which require workarounds. Consequently, many third party applications have been created to ease the use of these applications which don't work "out of the box " within Wine itself. The Wine wiki maintains a page of current and obsolete third party applications. [ [http://wiki.winehq.org/ThirdPartyApplications ThirdPartyApplications - The Official Wine Wiki ] ]*"Winetricks" is a small script to install some basic components (typically Microsoft DLLs and fonts) required for some applications to run correctly under Wine. The Wine project will accept bug reports for users of Winetricks, unlike most third-party applications. [ [http://wiki.winehq.org/winetricks WineTricks page in the official Wine Wiki] ]
*"Wine-Doors " is an application-management tool for theGNOME desktop which adds functionality to Wine. Wine-Doors is an alternative to WineTools which aims to improve upon WineTools' features and extend on the original idea with a more modern design approach. [ [http://www.wine-doors.org Wine doors ] ]
*"IEs4Linux" A utility to install all versions of Internet Explorer right from version 4 to 6 and soon will also support Internet Explorer 7, currently Internet Explorer 7 engine is installed if you select it (in beta stage) [ [http://www.tatanka.com.br/ Main Page - IEs4Linux ] ]
*"PlayOnLinux" is an application to ease the installation of Windows games using Wine. It uses an online database of scripts to apply to different games that need special configurations and if the game is not in the database, a manual installation can be performed. Aside from games, any other programs can also be installed and each one is put in a different container (WINEPREFIX) to prevent interference of one program in another and provide isolation, the same way thatCrossOver 's bottles work. [ [http://www.playonlinux.com/en Play on Linux] ]Other versions of Wine
The core Wine development aims at a correct implementation of the Windows API as a whole and has sometimes lagged in some areas of compatibility with certain applications. Direct3D, for example, remained unimplemented until 1998, [cite web | url = http://www.kernel-traffic.org/wine/wn20040203_208.html | title = Wine Traffic #208 (2004), kernel-traffic.org] although newer releases have had an increasingly complete implementation. [cite web | url = http://www.winehq.org/site/status_directx | title = Wine Status - DirectX DLLs ]
CodeWeavers markets
CrossOver specifically for runningMicrosoft Office and other major Windows applications including some games. CodeWeavers employs Alexandre Julliard to work on Wine and contributes most of its code to the Wine project under the LGPL. CodeWeavers also released a new version calledCrossover Mac for Intel-basedApple Macintosh computers on January 10, 2007. [http://linux.slashdot.org/article.pl?sid=07/01/10/1924235] .CodeWeavers has also recently released
CrossOver Games , which is optimised for running Windowscomputer game s. Unlike CrossOver, it doesn't focus on providing the most stable version of Wine. Instead, experimental features are provided to support newer games. [cite web | url = http://www.codeweavers.com/products/cxgames/ | title = Crossover Games site ]TransGaming Technologies produces the proprietaryCedega software. Formerly known as WineX, Cedega represents a fork from the last MIT-licensed version of Wine. Much like Crossover Games, TransGaming optimises Cedega for running Windowscomputer game s and runs on asubscription business model .Transgaming has also produced Cider, a Wine library for
Apple-Intel architecture Macintoshes. Instead of being an end-user product, Cider (like Winelib) is awrapper allowing developers to adapt their games to run natively on IntelMac OS X without any changes in source code.Other projects using Wine source code include:
*
ReactOS , a project to write an operating system compatible withWindows NT down to thedevice driver level.
*Darwine , (no longer defunct) a port of the Wine libraries to Darwin and Mac OS X. Darwine originally aimed at compiling Windows source code toMach-O binaries. With the advent of Apple-Intel architecture, Darwine began running Win32 binaries inx86 Darwin and has approached version parity with the Wine trunk. The Darwine project also continues progress onPowerPC by combining Wine with theQEMU x86 emulator.
* Odin, a project to run Win32 binaries onOS/2 or convert them to OS/2 native format. The project also provides the Odin32 API to compile Win32 programs for OS/2.
*E/OS , a project attempting to allow any program designed for any operating system to be run without the need to actually install any other operating system.
* Rewind, a defunct MIT-licensed fork of the last MIT-licensed version of Wine.
* Parallels, a proprietary product that uses some Wine code for its DirectX handling.Microsoft and Wine
Microsoft has generally not made public statements about Wine. However, the
Microsoft Update software will block updates to Microsoft application software running in Wine-based environments. On February 16, 2005, Ivan Leo Puoti discovered that Microsoft had started checking theWindows registry for the Wine configuration key and would block the Windows Update for any component. Puoti wrote, ". . . even if this is only an initial attempt, they appear to want to discriminate against Wine users. While this may be acceptable for operating system components/updates, this is probably a violation ofanti-trust law for all other downloads. It's also the first time Microsoft has acknowledged the existence of Wine." [cite web | first = Ivan Leo | last = Puoti | year = 2005 | url = http://www.winehq.org/pipermail/wine-users/2005-February/016988.html | title = Microsoft genuine downloads looking for Wine | format = mailing list | accessdate = 2006-01-23 ]The
Windows Genuine Advantage (WGA) system also checks for existence of Wine registry keys. The WGAFAQ states that WGA, by design, will not run in Wine, as Wine does not constitute "genuine Windows". [ cite web | url = http://www.microsoft.com/genuine/downloads/FAQ.aspx | title = Genuine Windows FAQ | publisher = Microsoft Corporation | accessdate= 2006-01-30 ] When WGA validation detects Wine running on the system, it will notify users that they are running non-genuine Windows and disallow genuine Windows downloads for that system. Despite this, some reports have circulated of the WGA system working in Wine, [cite web | url = http://linux.slashdot.org/article.pl?sid=07/06/18/0037223 | title = Slashdot | Ubuntu Linux Validates as Genuine Windows ; cite web | url = http://forums.bit-tech.net/showthread.php?t=95654 | title = WGA running in Wine ] although this loophole has now been closed with the next WGA component update. In the case ofInternet Explorer 7 andWindows Media Player , Microsoft has since removed the WGA requirements.See also
*
ReactOS
*Linux Unified Kernel
*Compatibility layer
*System call References
External links
* [http://www.winehq.org Wine Development HQ] - The official homepage of Wine.
* [news://comp.emulators.ms-windows.wine Wine newsgroup] ( [http://groups.google.com/group/comp.emulators.ms-windows.wine Google web interface] )
* [http://interviews.slashdot.org/article.pl?sid=04/05/17/0057241 Jeremy White's Wine Answers] -Slashdot interview with Jeremy White of CodeWeavers
* [http://madpenguin.org/cms/index.php/index.php?m=show&id=1512 Jeremy White interview] on the "Mad Penguin" web-site
* [http://lwn.net/Articles/135413/ Appointment] of theSoftware Freedom Law Center as legal counsel to represent the Wine project
* [http://freshmeat.net/projects/wine/ Wine] onFreshmeat
* [http://www.kegel.com/wine/scale4.pdf Wine: Where it came from, how to use it, where it's going] a work by Dan Kegel
Wikimedia Foundation. 2010.