wine and vmware

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
sajadsa
Level 2
Level 2
Posts: 32
Joined: Tue Dec 08, 2009 3:20 pm

wine and vmware

Post by sajadsa »

hello
what is the differences between wine and vmware?
thanks in advance.
John Drescher

wine and vmware

Post by John Drescher »

what is the differences between wine and vmware?
thanks in advance.
Completely different. VMWare allows you to install an entire windows
(or other os) install under any os that vmware is installed. While
wine lets you run windows applications under any os that wine is
supported without installing an entire operating system. On top of the
space savings of not needing to install a full os running most
applications under wine is significantly faster than vmware even on
machines with hardware virtulization support. Compile a large
application under vmware (or any other virtulization technology) and
compare that to native speed and you will see that it takes 2 to 10
times longer under virtulization. Since wine is not an emulator it
does not have this performance penalty.

John
pronoa
Newbie
Newbie
Posts: 1
Joined: Mon Dec 14, 2009 9:59 am

Post by pronoa »

also in vmware you will have to boot the guest os (windows) to run windows applications but using wine you can run windows application directly
doh123
Level 8
Level 8
Posts: 1227
Joined: Tue Jul 14, 2009 1:21 pm

Post by doh123 »

VMware also uses some Wine code to help with its graphics....
DaVince
Level 8
Level 8
Posts: 1099
Joined: Wed Oct 29, 2008 4:53 pm

Post by DaVince »

Yes, but it doesn't use the parts of Wine that interpret Windows stuff; it only uses the reimplementation of DirectX, which is also a part of the Wine project.
sajadsa
Level 2
Level 2
Posts: 32
Joined: Tue Dec 08, 2009 3:20 pm

Post by sajadsa »

thanks .you said that the performance of vmware is better than wine but for vmware we must install os
so does for vmware also we need more memory and hard?
and what is better for using windows app under linux?
thanks.
DaVince
Level 8
Level 8
Posts: 1099
Joined: Wed Oct 29, 2008 4:53 pm

Post by DaVince »

If you want speed, use Wine, as it's close to Windows native speeds with some applications. Speed and stability might be unreliable (slow, crashy) with some software, especially less-supported games (though probably not slower than when using a virtual machine like VMWare). But Wine is simply the easier way out here in my opinion as you don't need a whole seperate OS installed that eats its own chunk of system resources and makes your apps inaccessible from anywhere outside the VM.
John Drescher

wine and vmware

Post by John Drescher »

thanks .you said that the performance of vmware is better than wine but for vmware we must install os
so does for vmware also we need more memory and hard?
and what is better for using windows app under linux?
thanks.
No, I said vmware will be slower and require more resources. However
vmware will run most applications that run on whatever version of
windows you install as a guest where wine may or may not run your
application.

John
3vi1
Level 4
Level 4
Posts: 125
Joined: Sun Feb 24, 2008 8:24 pm

Post by 3vi1 »

When both will run the application you need, the main difference is several hundred dollars. That is to say: you still have to buy a full license for Windows to use it with Vmware, whereas Wine is a free re-implementation.

To people who left Windows because of MS's unfair business practices, their habit of putting the wants of IP publishing conglomerates ahead of user functionality or fair use, and general feeling that their customers are always assumed to be a pirate... this is of course unacceptable.

Vmware _will_ be more compatible, because it's running the original Windows code, but Wine integrates better with the native OS. Now you can run the popular vm's in an integrated desktop mode, but you still have to launch that virtual machine and segregate your program installations accordingly.
sajadsa
Level 2
Level 2
Posts: 32
Joined: Tue Dec 08, 2009 3:20 pm

Post by sajadsa »

thanks ,

from your notes:
DaVince:
here in my opinion as you don't need a whole seperate OS installed that eats its own chunk of system resources and makes your apps inaccessible from anywhere outside the VM(as i use fedora and want to work with it)
John Drescher:
No, I said vmware will be slower and require more resources
3vi1:
but Wine integrates better with the native OS.
i prefer to use wine.
thanks for your reply.
David Gerard

wine and vmware

Post by David Gerard »

2009/12/14 sajadsa <[email protected]>:
what is the differences between wine and vmware?
* Wine is a compatibility layer:
http://en.wikipedia.org/wiki/Compatibility_layer
* VMware is an emulator: http://en.wikipedia.org/wiki/Emulator

In practical terms:

* Wine supplies interfaces that run many Windows programs on a Unix
system. The programs run at full native speed and you don't need to
buy a copy of Windows. Some programs don't work with Wine, however.
* VMware runs a complete emulation of a PC. You need a copy of Windows
installed on it to run Windows programs, and they will run more slowly
(sometimes a *lot* more slowly) than native speed. However, the
Windows programs will mostly work pretty much perfectly.

So Wine is better when programs run properly on it, VMware with
Windows installed will run almost any Windows program including ones
that don't run well in Wine.


- d.
sajadsa
Level 2
Level 2
Posts: 32
Joined: Tue Dec 08, 2009 3:20 pm

Post by sajadsa »

thanks ,
the things that i know so far is that wine speed is better and wine is more compatible with other os , but some windows program will not be installed on wine ,when they can be installe don vmware as it has a windows os.
so can you say me that how they are works on linux? the wine programs are working while other linux apps also are working.how it is posibble while they have two seprate core?
and what about vmware ??
if it is irrelevant please excuse me of asking bad question.
thanks.
David Gerard

wine and vmware

Post by David Gerard »

2009/12/15 sajadsa <[email protected]>:
the things that i know so far is that wine speed is better and wine is more compatible with other os , but some windows program will not be installed on wine ,when they can be installe don vmware as it has a windows os.
Close - VMware is a virtual PC. It really is just like having a whole
computer running as a program inside another computer.

You can run any OS on VMware. If you install Windows on it, then you
can run Windows programs on it, just as if it was on a separate
computer.

so can you say me that how they are works on linux? the wine programs are working while other linux apps also are working.how it is posibble while they have two seprate core?
The Wikipedia link I gave for "compatibility layer" will help explain
it. Wine pretends to work like Windows, so that a Windows program will
look for the Windows functions it expects and will find Wine supplying
them. The same as how Linux programs look for Linux functions to use.

and what about vmware ??
Emulating a whole computer inside another computer is large (uses a
lot of RAM) and slow (uses a lot of CPU pretending to be another CPU).
But it does give almost perfect compatibility - it's a whole virtual
PC running as an application.


- d.
sajadsa
Level 2
Level 2
Posts: 32
Joined: Tue Dec 08, 2009 3:20 pm

Post by sajadsa »

thanks
as you said vmware is a program like hole computer inside a computer,but you said that it is slow ,why it is slower than wine while it access directly to hardware,and as i know wine has not access hardware directly?
also does wine is a intermediate that gets command one by one and run with its tools but vmware provides tools for program(installing os) and run them directly?
thanks.
John Drescher

wine and vmware

Post by John Drescher »

as you said vmware is a program like hole computer  inside a computer,but you said that it is slow ,why it is slower than wine while >it access directly to hardware,and as
vmware is slower because it emulates a whole second computer inside
your real machine. Not all of the emulated machine accesses the
hardware directly. The slowdown also depends highly on the
application. As a programmer I see the slowdown daily. It typically
takes 2 to 10 times longer to build applications. The graphics is also
significantly slower and the hard drive is much slower. I believe
memory allocations are slower on vms versus real hardware.
i know wine has not access hardware directly?
Yes but it uses a single driver that has direct access to the device.
vmware in a lot of cases is using 2 drivers and fake hardware.


John
John Drescher

wine and vmware

Post by John Drescher »

On Wed, Dec 16, 2009 at 8:21 AM, John Drescher <[email protected]> wrote:
as you said vmware is a program like hole computer  inside a computer,but you said that it is slow ,why it is slower than wine while >it access directly to hardware,and as
I would like to add a few more comments on this part..

One thing you have to remember is that with virtulization any piece of
hardware that needs to be used by both host and guest has to be in
some way emulated. So with virtulization you have an emulated
processor (even with the extra helper instructions), emulated memory,
emulated motherboard / bios/interrupts/clock, emulated hard drive
controllers, emulated hard drives, emulated keyboard, emulated mouse,
emulated sound card, emulated video card, emulated usb... These
emulations generally require 2 device drivers (one on the host and 1
on the guest) and a layer in between to translate. This emulation eats
cpu and io performance.

John
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

sajadsa wrote:does wine is a intermediate that gets command one by one and run with its tools
No. Wine doesn't interpret individual CPU instructions - those natively run on the CPU. Wine implements Windows API - all the functions application calls to do it's work. Then Wine calls the underlaying system to do the actual work.

As an example - drawing a text on the screen. When app calls an API function to draw some text Wine calls X server to draw that text (I'm skipping some processing in between). While inside VM Windows goes through all the processing itself, and then tries to draw some bitmap on the screen with a help of a video driver. But you have a virtual screen - a VM window. So VM now calls X server to draw a bitmap.

In short:
Wine: App -> Wine -> system library -> X -> driver -> display
VM: App -> Windows -> windows libraries -> win. kernel -> display driver -> VM screen -> X -> driver -> display
Locked