3

I want to run MS Office on Ubuntu and have found messages saying you can do it with Wine, but I don't know what Wine is.

5
  • 1
    @performance: It also highly depends on the application[s] and games[s] you are running, in combination with your hardware.
    – v2r
    Apr 15, 2014 at 16:07
  • @don.joey its not about whether or not i have the information... its about having a second perspective of the information... Apr 15, 2014 at 16:19
  • @user68186 i disagree... the answers may satisfy my question, but the questions are not the same... that is a "what is X" question... this is more of a "how does X" question... furthermore this question asks about the performance hit... Apr 15, 2014 at 16:26
  • WINE Wine Is not a Windows Emulator
    – xangua
    Apr 15, 2014 at 16:35

5 Answers 5

21

My first impression is that Wine is a simulated Windows environment which uses free (and presumably open source) libraries as an alternative to Microsoft's proprietary libraries. Those libraries produce the same input and output, yet use alternative means to process the data. This would explain why there is very little performance hit.

Yes, that is exactly correct.

Most people assume it's an emulation layer but it's more of an interpreter, managing where Windows would normally provide resources and mapping that to Ubuntu. Of course there are situations where Ubuntu (and its drivers) don't or can't provide the same resources (like the various Direct3D pipelines) so in cases like those you can often see overhead from the translation process.

The biggest case of this is converting Direct3D into OpenGL. It's a process that is very sensitive to latency. This is undergoing huge work right at the moment (the "CSMT patches") to multi-thread the OpenGL translation and command streams. IMO it's getting close to native speed.

But if you're using a Windows OpenGL application, it's possible you'll see native-like performance.

The big outstanding issues in Wine come mostly from needing to reimplement libraries. For gamers this is mostly latest DirectX stuff (DX10 and 11 aren't implemented yet) but there are all sorts of applications that can exhibit strange corner-case bugs.

5
  • 3
    "Most people assume it's an emulation layer" – this false assumption is so prevalent that the developers even called their project "WINE Is Not an Emulator". Apr 15, 2014 at 22:34
  • So when you compile an application in windows and ubuntu, are they both the same 'format', but the windows executable tries to access stuff that ubuntu doesn't have? Apr 16, 2014 at 2:28
  • 5
    "Most people assume it's an emulation layer" - I think this is more of a problem of terminology than anything else. In most people's understanding of the words, "emulate" means "behave in the same way as", which is exactly what wine does. It is unfortunate that "emulation" has become associated with "processor-level emulation", but this is not what the word originally meant, and is not exclusively what it is understood to mean by those in-the-know even today: see the 3rd paragraph of en.wikipedia.org/wiki/Emulator#Types_of_emulators which describes wine's implementation pretty exactly.
    – Jules
    Apr 16, 2014 at 2:58
  • 1
    @CameronMartin Sort of yes and sort of no. Windows and Linux use the same instruction set on any given platform (like x86_64), but their executable formats are different (the format the application is stored in). Linux usually uses ELF and Windows uses the (misleadingly named) Portable Executable format. Apr 16, 2014 at 3:38
  • 1
    @BrendanLong Executable format is, of course, not particularly relevant to anything, as a new executable format can be implemented easily on either OS by using a stub loader -- i.e. a program in the OS's native executable format that just loads the data out of a different executable format and runs it. Linux, at least, allows new executable formats to be implemented via a kernel module, so you don't even need the stub loader there. It is more the fact that the APIs that are available are different that matters.
    – Jules
    Apr 19, 2014 at 3:32
9
  • Wine is a free and open source software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like systems.
  • Wine is a compatibility layer. It duplicates functions of a Windows computer by providing alternative implementations of the DLLs that Windows programs call, and a process to substitute for the Windows NT kernel. This method of duplication differs from other methods that might also be considered emulation, where Windows programs run in a virtual machine. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues.
  • Wine comes in a bundle pack with a separate program known as WineBottler. It basically accomplishes the same task as its counterpart, yet it does so in a more simplified, automatic way. Where as Wine is much more manual requiring the user to input codes to accomplish a task. WineBottler cannot run alone, as it requires Wine to run for some Windows programs.
  • The name Wine initially was an acronym for WINdows Emulator. Its meaning later shifted to the recursive backronym, 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.

Is it a part of ubuntu?

No. It is an open source application available for ubuntu

enter image description here

Installation

How do I install wine?

Links

  1. http://www.winehq.org/
  2. http://en.wikipedia.org/wiki/Wine_%28software%29
3
  • 1
    This is a great answer! Where did you get this information from, it sounds like an excellent source. Apr 22, 2012 at 4:05
  • 1
    Wikipedia :p ,see the Link section
    – Tachyons
    Apr 22, 2012 at 4:07
  • Ah. :P very well then. Apr 22, 2012 at 4:10
0

Wine allows you to run windows applications under Ubuntu.

Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

Wine began in 1993 under the initial coordination of Bob Amstadt as a way to support running Windows 3.1 programs on Linux. Very early on, leadership over Wine's development passed to Alexandre Julliard, who has managed the project ever since. Over the years, as the Windows API and applications have evolved to take advantage of new hardware and software, Wine has adapted to support new features, all while being ported to other OSes, becoming more stable, and providing a better user-experience.

An ambitious project by definition, work on Wine would steadily continue for 15 years before the program finally reached v1.0, the first stable release, in 2008. Several releases later, Wine is still under active development today, and although there is more work to be done, millions of people are estimated to use Wine to run their Windows software on the OS of their choice.

For more info about how to download and install Wine, visit their website.

Source:Wine

0

In short, WINE is a collection of open source libraries meant to substitute for the Windows API, therefore allowing many, but not all (since WINE is not fully complete yet) Windows programs to run on other operating systems than Windows.

Nevertheless, WINE Is Not an Emulator, meaning it will not enable Windows programs to run on platforms other than the one they were originally compiled for. Since nearly all Windows programs are exclusively available for the x86 platform, WINE will not be of any use on PPC based Macs, and of very limited use on ARM or IA64 based computers. On AMD64 one can run the x86 version of WINE (given a properly configured Linux kernel and some 32 bit Libraries - Ubuntu comes with both).

More infos about WINE can be found on the WINE website:

http://www.winehq.org/about/

http://wiki.winehq.org/Debunking_Wine_Myths

A list of Windows applications that have been tested with WINE can be found at http://appdb.winehq.org

There exist various projects based on or around WINE. A famous tool helping with the installation of Windows programs using WINE is called PlayOnLinux. Especially for beginners this tool comes very handy, because it has a nice graphical user interface and allows easy handling of WINE prefixes, or "Containers" in PlayOnLinux terms. A commercial version of WINE with some improvements and a GUI is available under the name CrossOver. The company behind it, CodeWeavers, is one of the driving forces behind WINE development.

To install WINE on Ubuntu, one can simply use the packages available in the Ubuntu repositories. if for any reason those are not new enough (meaning, that some program is reported to run with the latest WINE, but does not with the one from Ubuntu), there is also a PPA available on the WINE website, which always contains the latest WINE version.

0

In layman's term it is what helps you run some if not all windows application (exe) in Linux's environment.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .