Wine (software)

From Wikipedia, the free encyclopedia

"WINE" redirects here. For the beverage, see wine.
For the radio station in Brookfield, Connecticut, see WINE (AM).
It has been suggested that WineTools, Wine-Doors, and WineXS be merged into this article or section. (Discuss)
Wine
Developer: Wine Team
Latest release: 0.9.27 / December 8, 2006
OS: Linux, other Unix-like systems
Use: Compatibility layer
License: GNU Lesser General Public License
Website: http://www.winehq.org/

Wine is a project which aims to allow a PC running a Unix-like operating system and the X Window System to execute programs originally written for Microsoft Windows. Alternately, those wishing to port a Windows application to a Unix-like system can compile it against the Wine libraries in the form of Winelib.[1]

The name 'Wine' derives from the recursive acronym Wine Is Not an Emulator, although some have used the unofficial expansion Windows Emulator. While the name sometimes appears in the forms "WINE" and "wine", the project developers have agreed to standardize on the form "Wine".

Wine is free software, released under the GNU Lesser General Public License (LGPL). 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 Wine developers released the first beta version of Wine (version 0.9) on October 25, 2005 after 12 years of development.

Contents

[edit] History

A screenshot of Microsoft Word 2003 running under Wine.
Enlarge
A screenshot of Microsoft Word 2003 running under Wine.

Bob Amstadt (the initial project leader) and Eric Youngdale started the Wine project in 1993 as a way to run Windows applications on Linux. It originally targeted Windows 3.x (16-bit) application software, although it currently focuses primarily on the dominant 32-bit applications. The project probably originated in discussions on Usenet in comp.os.linux. Alexandre Julliard has led the project since 1994.

Rather than acting as a full emulator, Wine implements a compatibility layer, providing alternative implementations of the DLLs that Windows programs call.

The Wine developers write the software primarily for Linux, but the FreeBSD and Solaris ports are currently well-maintained.[2]

The project has proved time-consuming and difficult for the developers, partially (at least) because of incomplete or incorrect documentation of the Windows API. While Microsoft has documented most Win32 functions, some areas such as file formats and protocols have no official Microsoft specification, as well as featuring 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 as thunking.

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 of WordPerfect Office, its office suite, to Linux. However, after Microsoft made major investments in the company, Corel cancelled all Linux-related projects and the Wine effort stopped.[3] CodeWeavers now employs Julliard and many other Wine developers to work on Wine and on CrossOver Office, CodeWeaver's supported version of Wine utilizing some additional proprietary components.

[edit] Functionality

Screenshot of winecfg

As of late 2005, Wine runs some software with good stability and most software with minor issues. 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 as pixel shaders to increase game support.[4]

[edit] winecfg

winecfg is a GUI configuration utility Wine. winecfg makes configuring Wine easier by making it unnecessary to edit the registry directly.

[edit] 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;[5] however, newer releases of Wine have had an increasingly complete implementation.[6]

CodeWeavers markets CrossOver Office specifically for running Microsoft Office and other major Windows applications. CodeWeavers also employs Alexandre Juillard to work on Wine and contributes most of its code back to the Wine project under the LGPL. On 22 June 2005, CodeWeavers announced support for Wine on Intel-based Apple Macintosh computers, by making a new version called Crossover Mac.

TransGaming Technologies produces the proprietary Cedega software. Formerly known as WineX, Cedega represents a fork from the last MIT-licensed version of Wine. TransGaming optimises Cedega for running Windows computer games and runs on a subscription 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 a wrapper allowing developers to adapt their games to run natively on Intel Mac OS X without any changes in source code.

Other projects using Wine source-code include:

  • ReactOS, a project to write an operating system compatible with Windows NT down to the device driver level. ReactOS works closely with the Wine project on DLLs and compatibility issues, with several developers working intensively on both projects.
  • Darwine, a port of the Wine libraries to Darwin and Mac OS X. Darwine originally aimed at compiling Windows source-code to Mach-O binaries. With the advent of Apple-Intel architecture, Darwine began running Win32 binaries in x86 Darwin, and has approached version-parity with the Wine trunk. The Darwine project also continues progress on PowerPC by combining Wine with the QEMU x86 emulator.
  • BeWine, a port of the Wine libraries to BeOS, Haiku and similar operating systems
  • Odin, a project to run Win32 binaries on OS/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.

[edit] Microsoft and Wine

A screenshot of Microsoft Internet Explorer 6 running under Wine (with the system running Xgl and Compiz).
Enlarge
A screenshot of Microsoft Internet Explorer 6 running under Wine (with the system running Xgl and Compiz).

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 the Windows 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 of anti-trust law for all other downloads. It's also the first time Microsoft has acknowledged the existence of Wine."[7]

The Windows Genuine Advantage (WGA) system also checks for existence of Wine registry keys, and the WGA FAQ states that WGA, by design, will not run in Wine, as Wine does not constitute "genuine Windows" as described in the WGA FAQ: "When WGA validation detects WINE running on the system, it will notify users that they are running non-genuine Windows, and it will not allow genuine Windows downloads for that system".[8] Despite this, some reports have circulated of the WGA system working in Wine nevertheless.[9] It must be noted, however, that MS' WGA FAQ also states "It is important to note that Wine users, and other users of non-genuine Windows, can continue to download updates for most Microsoft applications from Microsoft application-specific sites, such as Office Update", affirming MS' position as neutral to Wine but not wishing to offer support for it.

The beta version of Microsoft Internet Explorer 7 checks at installation-time for WGA, and hence users cannot install it on Linux systems which use Wine, without modifying the Internet Explorer setup files or Wine itself.

[edit] See also

[edit] References

[edit] External links