Home » Linux, Software

Wine (Wine is not emulator)

23 January 2008 1 views 2 Comments

is a application which aims to allow -like systems on the x86 architecture to execute programs that were originally written for . also provides a library known as which developers can applications against in order to port them to -like systems.

The name ‘’ derives from the recursive acronym Is Not an . While the name sometimes appears in the forms “” and “”, the project developers have agreed to standardize on the form “”.

The developers released the first beta version of (version 0.9) on October 25, 2005 after 12 years of development. The developers have listed approximately 90 bugs that need to be fixed before version 1.0 can be released. Released under terms of the Lesser General Public License (), is free .


History

Bob Amstadt (the initial project leader) and started the project in 1993 as a way to run applications on . Inspired by ’ Public Initiative and Wabi (an attempt to get API fully reimplemented on the public , a project later shot down by in 1996) for the Solaris , it originally 3. (16-bit) application , although it currently focuses primarily on the dominant 32-bit applications. The project originated in discussions on in comp.os. in June 1993. has led the project since 1994.

Rather than acting as a full , implements a compatibility layer, providing alternative implementations of the DLLs that programs call, and processes to substitute for the NT .

The developers write the primarily for , but the OS , FreeBSD and Solaris ports are currently well-maintained. is available for other distributions like and through the ports collection of and pkgsrc respectively.

Wine (Wine is not emulator)

The project has proved time-consuming and difficult for the developers, mostly because of incomplete and incorrect documentation of the API. While has documented most Win32 functions, some areas such as file formats and protocols have no specification. There are also undocumented low-level functions and obscure bugs that must duplicate precisely in order to allow some applications to work properly. Consequently, the 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 , its suite, to . However, after made major investments in the , Corel cancelled all -related projects and the effort stopped.CodeWeavers now employs Julliard and many other developers to work on and on CrossOver, CodeWeavers’ supported version of utilizing some additional proprietary components.

The project originally released under the same MIT License as the , but owing to concern about proprietary versions of not contributing their changes back to the project, work as of March 2002 has used the for its .

Functionality

As of mid-2007, runs some with good stability and most with minor issues. Most native DLLs necessary for the execution of 32-bit binaries have compatible counterparts. The developers of the Direct3D portions of have continued to implement new features such as pixel shaders to increase support. can also use native DLLs directly, thus increasing functionality, but then a license for is needed unless the DLLs were distributed with the application itself.

is a configuration utility included with . makes configuring easier by making it unnecessary to edit the registry directly.

64-bit applications

cannot currently run 64-bit applications, however it can run in 64-bit systems. Since virtually all applications are currently available in 32-bit versions, support for 64-bit applications is a low priority, planned for after version 1.0.

On a 64-bit , support for 32-bit applications is handled by linking with 32-bit versions of ’s library dependencies.

Usage

In a 2007 survey by desktoplinux.com of 38500 users, 31.5% of respondents reported using to run applications. This plurality was larger than all programs combined, as well as larger than the 27.9% who reported not running applications.

wine door

Third-party application

Some applications can be made to work with , however doing so requires more tweaking than simply installing the application, such as manually configuring to use certain DLLs. The project does not integrate such workarounds into the codebase, instead preferring to focus solely on improving ’s implementation of the API. While this approach focuses development on long-term compatibility, it makes it difficult for users to run applications which can run using 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 itself. The wiki maintains a page of current and obsolete third party applications.

-Doors is an application-management tool for the which adds functionality to . -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.

WineBot is an application-management tool which should act in a similar way as native package managers like apt/dpkg/. The project aims for data compatibility with -Doors, in addition to providing a platform to track the hacks necessary to certain applications and provide a for automated regression testing for the project.

Other version of

The development aims at a correct implementation of the 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 specifically for running and other major applications including some . CodeWeavers employs to work on and contributes most of its code to the project under the . CodeWeavers also released a new version called Crossover for -based on January 10, 2007.

Technologies produces the proprietary Cedega . Formerly known as WineX, Cedega represents a fork from the last MIT-licensed version of . optimises Cedega for running and runs on a subscription model.

has also produced Cider, a library for - architecture Macintoshes. Instead of being an end-user product, Cider (like ) is a wrapper allowing developers to adapt their to run natively on OS without any changes in code.

Other projects using code include:

  • ReactOS, a project to write an compatible with NT down to the device driver level.
  • Darwine, a port of the libraries to Darwin and OS . Darwine originally aimed at compiling code to Mach-O binaries. With the advent of - architecture, Darwine began running Win32 binaries in x86 Darwin and has approached version parity with the trunk. The Darwine project also continues progress on by combining with the QEMU x86 .
  • 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 Win32 programs for OS/2.
  • E/OS, a project attempting to allow any program designed for any to be run without the need to actually any other .
  • Rewind, a defunct MIT-licensed fork of the last MIT-licensed version of .
  • is a proprietary product that uses some code for its DirectX handling.

and

has generally not made public statements about . However, the Update will block updates to application running in -based environments. On February 16, 2005, Ivan Leo Puoti discovered that had started checking the registry for the configuration key and would block the Update for any component. Puoti wrote, “. . . even if this is only an initial attempt, they appear to want to discriminate against users. While this may be acceptable for components/updates, this is probably a violation of anti-trust law for all other downloads. It’s also the first time has acknowledged the existence of .”

The Genuine Advantage (WGA) also checks for existence of registry keys, and the WGA FAQ states that WGA, by design, will not run in , as does not constitute “genuine ” as described in the WGA FAQ.Despite this, some reports have circulated of the WGA working in .In the case of Explorer 7, has disabled the WGA requirements.

-

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Related posts

2 Comments »

  • Nat said:

    wine runs as well on OpenBSD and NetBSD as Cysis runs on Linux. wine is a horrible mess, whose code is almost entirely dependent on the Linux kernel to run. It is about as portable as any DirectX software .

  • Azman said:

    Wine is free.
    I hope more game developer will start developing game for linux since Linux user has increased.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.