Wine
Wine (recursive acronym for Wine Is Not an Emulator) is a reimplementation of the Application Programming Interface Win16 and Win32 for Unix-based operating systems. It allows the execution of programs designed for MS-DOS, and Microsoft Windows versions 3.11, 95, 98, Me, NT, 2000, XP, Vista, 7, 8 and 10.
The name Wine was initially an acronym for WINdows Emulator. This meaning was later changed to the current recursive acronym. The double meaning stems from the fact that WINE is an OS API emulator, as opposed to a machine environment or CPU emulator. Some people would not apply the term emulator to what some authors call an API emulator because the tool is really a reimplementation of an existing API, not a way to emulate a full machine environment.
Wine provides:
- A set of development tools to carry source code from Windows to Unix applications.
- A program charger, which allows many applications for Windows 2.0/3.x/9X/ME/NT/2000/XP/Vista/7 and 8 to run unchanged in several Unix operating systems such as macOS, BSD and Unix-like as GNU/Linux, Solaris
History of the project
The Wine project started in 1993, around the time of Windows version 3.11. The project possibly originated from discussions on comp.os.linux. Programmers Eric Youngdale and Bob Amstadt created their first version. The reason Wine isn't an emulator is that emulators tend to duplicate the entire environment in which a program lives, including simulating a given microprocessor architecture. Wine, by contrast, implements what might be called a compatibility layer, which provides alternatives to Microsoft Windows libraries.
By mid-2002, there was already an application with more than 1 million lines of source code written in the C language and a group of more than 300 programmers. The project had times in which not enough progress was made, until in 2003, widely used applications in the Windows environment such as Microsoft Office and Internet Explorer were able to be used in Unix environments thanks to Wine.
The project presents major challenges for developers, at least in part due to incomplete Windows API documentation. Although most of the Win32 API functions are well documented, there are still many areas, such as file formats and protocols, for which there are no documented specifications from Microsoft.
By early 2003, Wine could run many popular programs, such as Lotus Notes and some versions of Microsoft Office, with variable behavior and stability. The successful operation of each application depends on the use of Windows dynamic libraries (DLLs).
Software company Corel was very helpful to the project, temporarily employing one of the main developers, Alexandre Julliard, along with many other secondary programmers. This help was motivated by the porting of the Corel office suite to GNU/Linux. However, due to financial difficulties, Corel's support ceased.
Other organizations have made commercial efforts to support the project, including CodeWeavers and Linspire. CodeWeavers has developed a more visually appealing, closed, commercial version of Wine and markets it under the name CrossOver Office; In addition, he collaborates with the project, either by financing it or with patches.
The official development of Wine is oriented towards the correct implementation of the Windows API as a whole and although it is a bit behind in these areas, since its version 1.0 of summer 2008 it is able to run successfully and with few or few errors a wide variety of applications designed for Windows.
Other projects that have incorporated Wine source code are Rewind, ReactOS and Longene. The latest project is a module for the linux kernel that replaces wineserver, speeding up Wine execution.
Current State of Wine
According to a study carried out on the Internet by DesktopLinux.com in 2006, the Wine application is widely used in relation to the others with a demand of 33.5% of those surveyed, while 16.7% use VMware and only 7% use the CrossOver application. While the portion of respondents who do not use any was 39%.
On June 17, 2008 the Wine project released version 1.0, the first stable version in fifteen years of development. This presents improvements in relation to the alpha and beta versions, of which we can mention better mouse support in games, applications with the use of OpenGL libraries, handling of new states in Direct3D and improvement of the audio system, among important improvements..
On July 16, 2010, the Wine project released stable version 1.2, featuring over 23,000 source code changes, over 3,000 bugs fixes, and support for 64-bit applications..
On March 7, 2012 the Wine project released stable version 1.4, adding support for many new applications such as Microsoft Office 2010, and next-generation games such as Skyrim and StarCraft II.
On July 18, 2013 the Wine project released stable version 1.6, adding over 10,000 source code changes and adding support for.Net and Mono applications.
On December 19, 2015, the Wine project released stable version 1.8, after 17 months of development and adding more than 13,000 changes to the source code. The highlights are the implementation of DirectWrite and Direct2D, and the new pulse audio driver.
WineHQ
WineHQ stands for Wine HeadQuarters, it is the name of the website and the repository, while wine is just the name of the application.
Features
Binary compatibility
- Support for MS-DOS and Windows family programs (3.x/9x/NT/2000/XP/2003/Vista/2008/7/8).
- Support for 64, 32 and 16-bit Windows features.
- Code x86 of 64, 32 and 16 bits.
- Extensive program disruption libraries using INTxx real-mode calls.
- Advanced capacities of trunking.
- Possibility to add more dynamic link libraries (DLL), even Windows natives, which are located in the folder C:WindowsSystem32, and can be installed in wine copying such bookstores in the folder ~/.wine/drive_c/windows/system32.
- Reverse engineering design to improve the solution against mistakes.
- Execution on other non-Intel architectures under emulation, with QEMU (Darwine was a Wine fork made for Mac OS X PowerPC, but the project was abandoned).
Graphics
- You can draw in graphical environments based on X11, SDL text/ttydrv.
- Remote screen for any X terminal.
- Total GDI and partial GDI32 support.
- DirectX support for games.
- You can use 16-bit Microsoft Windows systems printers natively.
- PostScript internal printing interface.
- Capacity for metaarchives.
- Performance capacity in one or more windows.
- Possibility of installing visual themes of format msstyle, the natives of Windows.
Other features
- Sound support and alternative inputs.
- Support for modems or devices by serial port.
- Network work with Winsock TCP/IP.
- Support for ASPI scanners.
- Support for advanced controls typical of 32-bit Microsoft Windows programs.
Wine API
- Designed to be compatible with 32-bit Windows code.
- Sample programmes
- Automatically generated API documentation
- 32-bit source compiler
- Partial coding capacity Unicode
- Internationalization: Wine is available in 16 languages
- Integrated debugger and configurable tracking messages
Contenido relacionado
IBM PC
Stir
Event Driven Programming