Wine (software)
Encyclopedia
Wine is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 software application that aims to allow computer programs written for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 to run on Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s. Wine also provides a software library, known as Winelib, against which developers can compile
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 Windows applications to help port
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

 them to Unix-like systems.

Wine is a compatibility layer
Compatibility layer
A compatibility layer is a term that refers to components that allow for non-native support of components.In software engineering, a compatibility layer allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system...

, not an emulator. It duplicates functions of a Windows computer by providing alternative implementations of the DLL
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...

s that Windows programs call, and a process to substitute for the Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 kernel. This method of duplication differs from other methods that might also be considered emulation, where Windows programs run in a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright
Copyright
Copyright is a legal concept, enacted by most governments, giving the creator of an original work exclusive rights to it, usually for a limited time...

 issues.

The name Wine initially was an acronym for WINdows Emulator. Its meaning later shifted to the recursive
Recursive acronym
A recursive acronym is an acronym or initialism that refers to itself in the expression for which it stands...

 backronym
Backronym
A backronym or bacronym is a phrase constructed purposely, such that an acronym can be formed to a specific desired word. Backronyms may be invented with serious or humorous intent, or may be a type of false or folk etymology....

, Wine Is Not an Emulator in order to differentiate the software from other emulators. While the name sometimes appears in the forms WINE and wine, the project developers have agreed to standardize on the form Wine.

In a 2007 survey by desktoplinux.com of 38,500 Linux desktop users, 31.5% of respondents reported using Wine to run Windows applications. This plurality was larger than all x86 virtualization
X86 virtualization
In computing, x86 virtualization is the facility that allows multiple operating systems to simultaneously share x86 processor resources in a safe and efficient manner, a facility generically known as hardware virtualization...

 programs combined, as well as larger than the 27.9% who reported not running Windows applications.

History

Bob Amstadt (the initial project leader) and Eric Youngdale started the Wine project in 1993 as a way to run Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 applications on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

. It was inspired by two Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

' products, the Wabi for the Solaris operating system, and the Public Windows Initiative (an attempt to get Windows API
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...

 fully reimplemented in the public domain as an ISO standard, but rejected by the entity due to pressure from Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 in 1996). Wine originally targeted Windows 3.x (16-bit
16-bit application
A 16 bit application is any software written for MS-DOS, OS/2 1.x or early versions of Microsoft Windows which originally ran on the 16-bit Intel 8088 and Intel 80286 microprocessors. Such applications used a 20-bit or 24-bit segment or selector-offset address representation to extend the range of...

) application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

, but focuses on 32-bit and 64-bit applications. The project originated in discussions on Usenet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...

 in [news:comp.os.linux comp.os.linux] in June 1993. Alexandre Julliard
Alexandre Julliard
Alexandre Julliard is a computer programmer who is best known as the project leader for Wine, a compatibility layer to run Microsoft Windows programs on Unix-like operating systems....

 has led the project since 1994.

The project has proved time-consuming and difficult for the developers, mostly because of incomplete and incorrect documentation
Documentation
Documentation is a term used in several different ways. Generally, documentation refers to the process of providing evidence.Modules of Documentation are Helpful...

 of the Windows API. While Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 extensively documents most Win32 functions
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....

, some areas such as file format
File format
A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

s and protocols have no official Microsoft specification. Microsoft Windows also includes 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 reverse-engineered
Reverse engineering
Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation...

 many function calls and file formats in such areas as thunk
Thunk (compatibility mapping)
Thunk refers to the creation of a 16-bit virtual DOS machine within a 32-bit operating platform so that there is backward compatibility for applications using older code or system calls.-OS/2 & Windows 16-bit address hack:...

ing. More recently some developers have suggested enhanced tactics such as examining the sources of extant free and open-source software.

The Wine project originally released Wine under the same MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

 as the X Window System, but owing to concern about proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 versions of Wine not contributing their changes back to the core project, work as of March 2002 has used the LGPL for its licensing.

Wine officially entered beta with version 0.9 on 25 October 2005. Version 1.0 was released on 17 June 2008, after 15 years of development. Version 1.2 was released on 16 July 2010. Development versions are released roughly every two weeks.

Corporate sponsorship

The main corporate sponsor of Wine is CodeWeavers
CodeWeavers
CodeWeavers is a company that sells a proprietary version of Wine called CrossOver, for running Windows applications on Mac OS X and Linux. The company was founded in 1996 as a consultancy, eventually moving entirely over to Wine development and support...

, which employs Julliard and many other Wine developers to work on Wine and on CrossOver
Crossover
-Fiction and media:* Fictional crossover, a storyline combining characters or settings from separate fictional properties** Fictional crossovers in video games* Crossover , a 2002 documentary by Justin Lin...

, CodeWeavers' supported version of Wine. Crossover includes some application-specific tweaks not considered suitable for the WineHQ version, as well as some additional proprietary components.

The involvement of Corel
Corel
Corel Corporation from the abbreviation is a computer software company headquartered in Ottawa, Ontario, that specializes in graphics processing, similar to Adobe Systems...

 for a time assisted the project, chiefly by employing Julliard and others to work on it. Corel had an interest in porting WordPerfect Office
WordPerfect Office
WordPerfect Office is an office suite developed by Corel Corporation. As of March 2010, the latest version is WordPerfect Office X5 , which is available in three editions: Home & Student, Standard and Professional....

, its office suite
Office suite
In computing, an office suite, sometimes called an office software suite or productivity suite is a collection of programs intended to be used by knowledge workers...

, to Linux (especially Corel Linux
Corel Linux
Corel Linux, also called Corel LinuxOS, was a Debian-based operating system made by Corel that was released in late 1999. Corel later discontinued the distribution, but did not remove the former Corel Open Source Development website until March 2002....

). Corel later cancelled all Linux-related projects after Microsoft made major investments in Corel, stopping their Wine effort.

Other corporate sponsors include Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

, which hired CodeWeavers to fix Wine so Picasa
Picasa
Picasa is an image organizer and image viewer for organizing and editing digital photos, plus an integrated photo-sharing website, originally created by Idealab in 2002 and owned by Google since 2004. "Picasa" is a blend of the name of Spanish painter Pablo Picasso, the phrase mi casa for "my...

 ran well enough to be ported directly to Linux using the same binary as on Windows; Google later paid for improvements to Wine's support for Adobe Photoshop CS2
Adobe Photoshop
Adobe Photoshop is a graphics editing program developed and published by Adobe Systems Incorporated.Adobe's 2003 "Creative Suite" rebranding led to Adobe Photoshop 8's renaming to Adobe Photoshop CS. Thus, Adobe Photoshop CS5 is the 12th major release of Adobe Photoshop...

. Wine is also a regular beneficiary of Google's Summer of Code program.

Architecture

Wine implements the Windows API entirely in user space
User space
A conventional computer operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and most device drivers...

, rather than as a kernel module. Services normally provided by the kernel in Windows are provided by a daemon
Daemon (computing)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...

 known as the wineserver, the task of which is to implement basic Windows functionality, as well as integration with the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

, and translation of signals
Signal (computing)
A signal is a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When a signal is sent to a process, the operating system...

 into native Windows exceptions.

Although Wine implements some aspects of the Windows kernel, it is not possible to use native Windows drivers with it, due to Wine's underlying architecture. This prevents certain applications from working, such as some copy-protected
Copy protection
Copy protection, also known as content protection, copy obstruction, copy prevention and copy restriction, refer to techniques used for preventing the reproduction of software, films, music, and other media, usually for copyright reasons.- Terminology :Media corporations have always used the term...

 titles.

Wine is primarily developed for Linux, but the Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

, and Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....

 ports
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

 are currently (as of January 2009) well maintained. Wine is also available for OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

 and NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

 through OpenBSD Ports
Ports collection
Ports collections are the sets of makefiles and patches provided by the BSD-based operating systems, FreeBSD, NetBSD, and OpenBSD, as a simple method of installing software or creating binary packages...


and NetBSD pkgsrc
Pkgsrc
pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently: in 1999, support for Solaris was added, later followed by support for other...

 respectively. Since October 2010, Wine also works on the ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 platform when used as Winelib (which lets developers compile Windows code on Linux using Wine as a library). Some versions of Wine's DLLs are available for Microsoft Windows, but Wine does not fully compile or run on Windows yet.

Functionality

The developers of the Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 portions of Wine have continued to implement new features such as pixel shaders to increase game support. 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 the included registry editor (similar to Windows regedit). Wine also includes its own open-source implementations of several other Windows programs, such as notepad, wordpad
WordPad
WordPad is a basic word processor that is included with almost all versions of Microsoft Windows from Windows 95 upwards. It is more advanced than Notepad but simpler than Microsoft Works Word Processor and Microsoft Word. It replaced Microsoft Write....

, control
Control Panel (Windows)
The Control Panel is a part of the Microsoft Windows graphical user interface which allows users to view and manipulate basic system settings and controls via applets, such as adding hardware, adding and removing software, controlling user accounts, and changing accessibility options...

, iexplore
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...

, and explorer
Windows Explorer
This article is about the Windows file system browser. For the similarly named web browser, see Internet ExplorerWindows Explorer is a file manager application that is included with releases of the Microsoft Windows operating system from Windows 95 onwards. It provides a graphical user interface...

.

The Wine Application Database AppDB is a community-maintained database of which Windows applications work, and how well they work, with Wine.

Backward compatibility

Wine ensures good backward compatibility
Backward compatibility
In the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...

 with legacy Windows applications, including those written for Windows 3.1
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

. Wine can mimic different Windows versions required for some programs, going as far back as Windows version 2.0. However, Windows 1.x and Windows 2.x support was removed from Wine development version 1.3.12 if DOSBox is installed on the system (see below on MS-DOS). You can nevertheless select "Windows 2.0" as the Windows version you want to emulate, but Wine still won't run Windows 2.0 programs.

Backward compatibility in Wine is superior to that of Windows, as newer versions of Windows can force users to upgrade legacy Windows applications. In many cases, Wine can offer better legacy support than newer versions of Windows with "Compatibility Mode".

Wine can run 16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...

 Windows programs on a 64-bit operating system, which uses an x86-64
X86-64
x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...

 (64-bit) CPU (example screenshot on the left). 64-bit versions of Microsoft Windows will not run 16-bit Windows programs.

Wine partially supports Windows console application
Console application
A console application is a computer program designed to be used via a text-only computer interface, such as a text terminal, the command line interface of some operating systems or the text-based interface included with most Graphical User Interface operating systems, such as the Win32 console in...

s, and the user can choose which backend to use to manage the console (choices include raw streams, curses
Curses (programming library)
curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...

, and user32
User32
Windows USER is a component of the Microsoft Windows operating system that provides core functionality for building simple user interfaces. The component has existed in all versions of Windows, and includes functionality for window management, message passing, input processing and standard...

). When using the raw streams or curses backends, Windows applications will run in a Unix terminal.

64-bit applications

Preliminary support for 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

 Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 applications was added to Wine 1.1.10, in December 2008. This currently requires at least gcc
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

 version 4.4, and the Wine developers expect that it will take significant time before support stabilizes. However, as almost all Windows applications are available in 32-bit versions, and the 32-bit version of Wine can run on 64-bit platforms, this is seen as a non-issue.

The 64-bit port of Wine also has preliminary WoW64
WoW64
WoW64 is a subsystem of the Windows operating system that is capable of running 32-bit applications and is included on all 64-bit versions of Windows—including Windows XP Professional x64 Edition, IA-64 and x64 versions of Windows Server 2003, as well as 64-bit versions of Windows Vista, Windows...

 support , which allows both 32-bit and 64-bit Windows applications to run inside the same Wine instance.

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
Workaround
A workaround is a bypass of a recognized problem in a system. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed...

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 that require workarounds. Consequently, many third party applications have been created to ease the use of those applications that don't work out of the box
Out of the box
Out of the box is the term used to denote items, functionalities, or features that do not require any additional installation. In addition to being used for tangible products, the phrase is often used in a less literal sense for software, which may not be distributed in an actual box but offer...

 within Wine itself. The Wine wiki maintains a page of current and obsolete third party applications.
  • CrossOver
    Crossover
    -Fiction and media:* Fictional crossover, a storyline combining characters or settings from separate fictional properties** Fictional crossovers in video games* Crossover , a 2002 documentary by Justin Lin...

    , proprietary software
  • Bordeaux is a proprietary Wine GUI configuration manager that runs winelib applications. It also supports installation of third party utilities, installation of applications and games, and the ability to use custom configurations. Bordeaux currently runs on Linux, FreeBSD, PC-BSD, Solaris, OpenSolaris, OpenIndiana
    OpenIndiana
    OpenIndiana is a Unix-like computer operating system released as free and open source software. It forked from OpenSolaris after the discontinuation of that project by Oracle and aims to continue development and distribution of the OpenSolaris codebase. The project operates under the umbrella of...

    , and Mac OS X computers.
  • Winetricks
    Winetricks
    Winetricks is a script to install some basic components and tweak settings required for some applications to run correctly under Wine....

     is a 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. It is maintained by Wine developer Dan Kegel.
  • QT4Wine is an open Gui for advanced setup of Wine.
  • Wine-Doors
    Wine-Doors
    Wine-Doors is a free and open source application-management tool for the GNOME 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.-Relation with...

     is an application-management tool for the GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

     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.
  • IEs4Linux
    IEs4Linux
    IEs4Linux is a free and open source script that allows a user to run Internet Explorer on Wine . It is possible to install Internet Explorer versions 5, 5.5, and 6; along with partial functionality of IE7 .This application...

     is a utility to install all versions of Internet Explorer, including versions 4 to 6 and version 7 (in beta).
  • PlayOnLinux
    PlayOnLinux
    PlayOnLinux is a graphical front-end for the Wine software compatibility layer which aims to simplify the installation of Windows-based applications and especially games on Linux....

     is an application to ease the installation of Windows applications (primarily games)
  • Wineskin is a utility to manage Wine engine versions and create wrappers for Mac OSX.

Windows CE

Wine will not run Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 programs. There is an ongoing project to port Wine to ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 processors, which may in the future be used as a base for a WineCE running Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 programs.

MS-DOS

Early versions of Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 run on top of MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

 and Windows programs may depend on MS-DOS programs being runnable. Wine does not have good support for MS-DOS, but starting with development version 1.3.12, Wine tries running MS-DOS programs in DOSBox
DOSBox
DOSBox is emulator software that emulates an IBM PC compatible computer running MS-DOS. It is intended especially for use with old PC games. DOSBox is free software....

 if DOSBox is available on the system. However, Wine currently also identifies Windows 1.x and Windows 2.x programs as MS-DOS programs, attempting to run them in DOSBox (which doesn't work). Thus, DOSBox availability breaks Windows 1.x and Windows 2.x support.

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, although newer releases have had an increasingly complete implementation.

CodeWeavers markets CrossOver
Crossover
-Fiction and media:* Fictional crossover, a storyline combining characters or settings from separate fictional properties** Fictional crossovers in video games* Crossover , a 2002 documentary by Justin Lin...

 specifically for running Microsoft Office
Microsoft Office
Microsoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...

 and other major Windows applications including some games. CodeWeavers employs Alexandre Julliard
Alexandre Julliard
Alexandre Julliard is a computer programmer who is best known as the project leader for Wine, a compatibility layer to run Microsoft Windows programs on Unix-like operating systems....

 to work on Wine and contributes most of its code to the Wine project under the LGPL. CodeWeavers also released a new version called Crossover Mac for Intel-based Apple Macintosh computers on 10 January 2007.

CodeWeavers has also recently released CrossOver Games, which is optimized for running Windows computer games. Unlike CrossOver, it doesn't focus on providing the most stable version of Wine. Instead, experimental features are provided to support newer games.

TransGaming Technologies
TransGaming Technologies
TransGaming Inc. is a company specialized in video game portability technology. The company has its head office in Toronto and a research hub in Ottawa. It was founded by Gavriel State, who ran the Linux product division at the Corel Corporation...

 produced the proprietary Cedega software. Formerly known as WineX, Cedega represented a fork from the last MIT-licensed version of Wine in 2002. Much like Crossover Games, TransGaming's Cedega was targeted towards running Windows computer games. On 7 January 2011, TransGaming Technologies
TransGaming Technologies
TransGaming Inc. is a company specialized in video game portability technology. The company has its head office in Toronto and a research hub in Ottawa. It was founded by Gavriel State, who ran the Linux product division at the Corel Corporation...

 announced continued development of Cedega Technology under the GameTree Developer Program. Members can keep using their Cedega ID and password until 28 February 2011.

TransGaming has also produced Cider, a library for Apple–Intel architecture Macintoshes. Instead of being an end-user product, Cider (like Winelib) is a wrapper
Wrapper library
In computer programming, a library is a collection of subroutines or classes used to develop software. Libraries expose interfaces which clients of the library use to execute library routines. Wrapper libraries consist of a thin layer of code which translates a library's existing interface into a...

 allowing developers to adapt their games to run natively on Intel Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 without any changes in source code.

The Russia
Russia
Russia or , officially known as both Russia and the Russian Federation , is a country in northern Eurasia. It is a federal semi-presidential republic, comprising 83 federal subjects...

n company Etersoft has been developing a proprietary version of Wine since 2006. WINE@Etersoft supports popular Russian applications (for example, 1C:Enterprise by 1C Company
1C Company
1C Company is one of the largest independent Russian software developers and publishers. Its headquarters are in Moscow, Russia. It is best known outside of the former Soviet Union as a video game developer whose presence has come to dominate events like the KRI, and whose products have begun to...

). , Etersoft is going to issue WINE@Etersoft CAD which is oriented towards CAD systems such as AutoCAD
AutoCAD
AutoCAD is a software application for computer-aided design and drafting in both 2D and 3D. It is developed and sold by Autodesk, Inc. First released in December 1982, AutoCAD was one of the first CAD programs to run on personal computers, notably the IBM PC...

, Bricscad
Bricscad
Bricscad is a CAD package developed by Bricsys. Until release 10 it was built using the IntelliCAD engine. It is designed for Windows and is among the few commercially supported CAD packages which runs on Linux....

, and Compass-3D.

Other projects using Wine source code include:
  • ReactOS
    ReactOS
    ReactOS is an open source computer operating system intended to be binary compatible with application software and device drivers made for Microsoft Windows NT versions 5.x and up...

    , a project to write an operating system compatible with Windows NT
    Windows NT
    Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

     down to the device driver
    Device driver
    In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

     level. ReactOS uses Wine source code considerably, but because of architectural differences, ReactOS code (such as dlls written specifically for it, like ntdll, user32, kernel32, gdi32, and advapi) is not generally reused in Wine. In July 2009, Alex Bragin, the ReactOS project lead, started a new ReactOS branch called Arwinss, and it was officially announced in January 2010. Arwinss is an alternative implementation of the core Win32 components, and uses mostly unchanged versions of Wine's user32.dll and gdi32.dll.
  • Linux Unified Kernel, a project intended to be binary-compatible with application software and device drivers made for Microsoft Windows and Linux. This kernel imports all the key features of the Windows operating system kernel into the Linux kernel to support both Linux and Windows applications and device drivers.
  • Darwine
    Darwine
    Darwine was a port of the Wine libraries to Darwin and Mac OS X . The Darwine project intended to port and develop Wine as well as other supporting tools that would allow Darwin and Mac OS X users to run Windows applications and to provide a Win32 API compatibility at application source code...

    , a port of the Wine libraries to Darwin
    Darwin (operating system)
    Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects....

     and Mac OS X. Kronenberg.org stated "As some might have read on Wine-Devel, Darwine is dead for good. The OS X port of Wine formerly known as Darwine is now Wine." Kronenberg continues work on an Intel Mac version called Winebottler
  • Wineskin, an open source Wine GUI configuration manager for Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    . Wineskin creates a wrapper around Wine in the form of a normal Mac Application. The wrapper can also be used to make a distributable “port” of software.
  • Odin
    Odin (software)
    In computing, Odin is a project to run Microsoft Windows programs on OS/2 or convert them to OS/2 native format. It also provides the Odin32 API to compile Win32 programs for OS/2.The project's goals are:...

    , a project to run Win32 binaries on OS/2
    OS/2
    OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

     or convert them to OS/2 native format. The project also provides the Odin32 API to compile Win32 programs for OS/2.
  • E/OS
    E/OS
    E/OS is a virtual machine emulation system.E/OS is primarily based on the Linux kernel, QEMU, XFree86, and Wine, and is intended to be a replacement for operating systems such as Microsoft Windows, Mac OS, BeOS, OS/2, DOS, and Linux...

    , 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 Desktop 3 for Mac
    Parallels Desktop for Mac
    Parallels Desktop for Mac by Parallels, Inc., is software providing hardware virtualization for Macintosh computers with Intel processors.-Overview:Parallels, Inc...

    , a proprietary product that uses some Wine code for its DirectX handling.
  • VirtualBox
    VirtualBox
    Oracle VM VirtualBox is an x86 virtualization software package, originally created by software company Innotek GmbH, purchased by Sun Microsystems, and now developed by Oracle Corporation as part of its family of virtualization products...

     v3.x, an Open-Source product that uses some Wine code for its Direct3D handling.

Reception

The Wine project has received a number of technical and philosophical complaints and concerns over the years.

Security

Because of Wine's ability to run Windows binary code, concerns have been raised over native Windows viruses and malware affecting Unix-like operating systems. Wine can run much malware, but programs running in Wine are confined to the current user's privileges, restricting some undesirable consequences. This is one reason Wine should never be run as the superuser
Superuser
On many computer operating systems, the superuser is a special user account used for system administration. Depending on the operating system, the actual name of this account might be: root, administrator or supervisor....

. Malware research software such as ZeroWine runs Wine on Linux in a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

, to keep the malware completely isolated from the host system.

Another security concern is when the implemented specifications are ill-designed and allow for security compromise. Because Wine implements these specs, it will also implement the security vulnerabilities it contains.

Wine vs. native Unix applications

A common concern about Wine is that its existence means that vendors are less likely to write native Linux, Mac OS X, and BSD applications. As an example of this, it is worth considering IBM's 1994 operating system, OS/2 Warp. An article describes the weaknesses of OS/2 which killed it, the first one being:
The Wine project itself responds to these complaints on one of its Wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

 pages:
The use of Wine for gaming has proved specifically controversial in the Linux community, as some feel it is preventing, or at least hindering, the further growth of native gaming
Linux gaming
Linux gaming refers to playing or developing video games for the Linux operating systems.- Background :Linux gaming refers to all game titles that can run on Linux based operating systems. This can refer to free / open source games, which may also be commercial, that run natively on Linux, or...

 on the platform.

Microsoft and Wine

Microsoft has generally not made public statements about Wine. However, the Microsoft Update software will block updates to Microsoft applications running in Wine. On 16 February 2005, Ivan Leo Puoti discovered that Microsoft had started checking the Windows registry
Windows registry
The Windows Registry is a hierarchical database that stores configuration settings and options on Microsoft Windows operating systems. It contains settings for low-level operating system components as well as the applications running on the platform: the kernel, device drivers, services, SAM, user...

 for the Wine configuration key and would block the Windows Update for any component. Puoti wrote, "It's ... the first time they've broken radio silence on the project."

The Windows Genuine Advantage
Windows Genuine Advantage
Windows Genuine Advantage is an anti-piracy system created by Microsoft that enforces online validation of the licensing of several recent Microsoft Windows operating systems when accessing several services, such as Windows Update, and downloading Windows components from the Microsoft Download...

 (WGA) system also checks for existence of Wine registry keys. The WGA FAQ
FAQ
Frequently asked questions are listed questions and answers, all supposed to be commonly asked in some context, and pertaining to a particular topic. "FAQ" is usually pronounced as an initialism rather than an acronym, but an acronym form does exist. Since the acronym FAQ originated in textual...

 states that WGA will not run in Wine by design, as Wine does not constitute "genuine Windows". 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, although this loophole has now been closed with the next WGA component update. In the case of Internet Explorer 7
Internet Explorer 7
Windows Internet Explorer 7 is a web browser released by Microsoft in October 2006. Internet Explorer 7 is part of a long line of versions of Internet Explorer and was the first major update to the browser in more than 5 years...

, Microsoft has since removed the WGA requirements.

See also

  • Executor (software)
    Executor (software)
    Executor is software for x86-based PCs that allows older 68k-based Apple Macintosh programs to be run under various x86-based operating systems. Executor was created by ARDI...

  • ReactOS
    ReactOS
    ReactOS is an open source computer operating system intended to be binary compatible with application software and device drivers made for Microsoft Windows NT versions 5.x and up...

  • Windows Interface Source Environment
    Windows Interface Source Environment
    Windows Interface Source Environment was a licensing program from Microsoft which allowed developers to recompile and run Windows-based applications on UNIX and Macintosh platforms....


Further reading

  • Jeremy White's Wine Answers - Slashdot
    Slashdot
    Slashdot is a technology-related news website owned by Geeknet, Inc. The site, which bills itself as "News for Nerds. Stuff that Matters", features user-submitted and ‑evaluated current affairs news stories about science- and technology-related topics. Each story has a comments section...

     interview with Jeremy White of CodeWeavers
  • Jeremy White interview on the "Mad Penguin" web-site
  • Appointment of the Software Freedom Law Center
    Software Freedom Law Center
    The Software Freedom Law Center is an organization that provides pro bono legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Moglen as Chairman. Initial funding of US$4 million was pledged by...

    as legal counsel to represent the Wine project
  • Wine: Where it came from, how to use it, where it's going - a work by Dan Kegel

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK