Slashdot Mirror


Review of VMWare Competitor

nontrivial writes "Linux Medical News has a decent review of Win4Lin, a MS Windows emulator. The article and submissions also touch on other solutions for having to run Windows applications. I use Win4Lin daily, and I must say it is rather spooky how well it works. The review doesn't spell it out, but Win4Lin 2.0 does include sound and serial and parallel support, and so far I've had no problems with the beta. It runs Windows in a SDI type interface, comes with DOS emulation, and can be run in many odd resolutions if you don't like running it in it's own virtual console. The bad news is that it technically requires a licensed copy of Windows (95, 98, etc, not NT), it is intended for business applications (so no DirectX support for example), and only TCP/IP networking is supported within the emulation. But overall it's stable (no more crashes than MS causes, and it doesn't take the whole box down when you see blue), it's fast (native speed), and it's cheap ($35). IMHO it's the best transition software I've used."

6 of 159 comments (clear)

  1. Weird, alternate-universe Slashdot site. by IvyMike · · Score: 4

    I clicked on the link in the story above, and it took a second, so I went to get a glass of water. When I got back, I had warped into some alternate universe slashdot.

    It took me a while to realize THAT WAS the link, and they were just using slashcode. Oh well, it was trippy while it lasted.

  2. Comparison with VMWare by TeVi · · Score: 4

    Comparing Win4Lin with VMWare is not quite fair: Win4Lin is a Windows emulator, while VMWare emulates an i386. Thus, VMWare is a much more powerful tool than Win4Lin, since VMWare can do more that run Windows applications: it runs Windows itself, or any other OS which runs on an i386.

    1. Re:Comparison with VMWare by barracg8 · · Score: 5
      Okay, I'll step up and give this one a go. Here is a pretty complete summary of what VMs are all about, and a guess at how Win4Lin works differenly (based on their white paper):

      Most modern processors offer 2(+) modes of operation, which break down to Kernel mode and User mode. In kernel mode you have all the instructions that you have in user mode, plus a few more (sensative stuff, e.g. setting up virtual memory tables). An OS expects to start running in kernel mode, as it expects to run directly on the hardware.

      A VM runs the enite OS in user mode. This means that whenever the OS tries to do any real work, it will try to execute a kernel mode instruction, and as it is running in user mode it is not permitted to execute it, and an exeption occurs. The VM should trap this, produce the appropriate behaviour, (eg, if the OS tried to read a byte in from the keyboard buffer it sould be passed a character from the VM applications event queue), and return to the OS code as if the instruction had be executed in hardware as normal. Clear? :-)

      Also, in real machines there is often memory mapped IO, so if I write to a particular memory address I expect graphics/text to appear on the screen. The VM should produce appropriate behaviour for that.

      So what VMware does:

      • It provides software such that programs that are designed to run in x86 kernel mode (ie, an OS) can be run in x86 user mode, and whenever a kernel mode instruction turns up in the code it kindof 'virtually executes' it.
      • It provides low level emulation of memory mapped IO, such that standard Windows VGA graphics drivers will work, as it is actually emulating the graphics hardware.
      Right. Now how Win4Lin works.

      In windows, put simply you have three things:

      1. A system call interface
      2. A set of APIs that run on this
      3. The hardware drivers
      The VMware approach to running window is: to emulate the x86, and the standard hardware devices, e.g. VGA graphics card, then run the stanard windows kernel and device drivers on to of this VM, and to run the Win32 API on top of them as usual.

      With Win4Lin, they provide their own implementation of the Windows system call interface (equivalent in function to the Windows kernel) to run within Linux (I think this is done in the Linux kernel, as it it a replacement interupt handler), and they provide their own drivers for windows to use, eg graphics cards drivers to make calls to X, rather than to try to write directly to a VGA graphics card. They then run the Win32 API code directly onto of their 'kernel', not on the standard windows one. It cuts out a couple of layers, a lot of unnecassary exceptions, and some inefficient device emulation out of the picture, that VMware uses.

      Hope this helps.

      cheers,
      G

  3. Not a real VM by kingjohn · · Score: 4

    The main disadvantage of Win4Lin compared to VMWare seems to be that it is not a real virtual machine, which makes it impossible to run anything else than Windows. Since VMWare is capable or running Linux on Linux, it can be used for kernel development and other dangerous stuff. It can also run other OS's such as Solaris or OS2.

    I also wonder if the use of Win4Lin doesn't make your system vulnerable to Windows viruses (such as macro viruses in Word): since these applications now have access to your Linux file systems, they can easily destroy your data.

  4. Win4Lin Multi User over X by SmilieZ · · Score: 4

    One of the other not so obvious features of
    Win4Lin, is that it runs REALLY well over Remote X. (Ie to Thin Client Terminals) And with Win4Lin 2 having multi-user functionality, you can run a nice little enterprise server for Thin clients, where you deliver say StarOffice for their main Office functionality, peppered with any legacy apps they need using Win4Lin. I have a few sites using something similar to this now. It really changes the "Desktop" option from being "Forget it" to.. "Hey.. we could do that" for most organisations. And once were on the desktop.. it makes it MUCH easier to migrate away thoes old Legacy apps.. and eventually not have win4lin at all!..

    Anthony

  5. I have both... by Spoing · · Score: 5
    ...and both are worth it.
    1. VMWare - Runs almost any x86 OS. VMs can be created on Linux or NT, some rumor of BSD folks using it -- though I'm not certian. Patches the kernel by using a set of loadable modules. Very compatable. Check the news groups: vmware.*.

      Win4Lin - Only Win9x at this time. Only runs on Linux. Fairly compatable. Sound support added to beta releases. Very low memory footprint. Patches kernel directly; no module support. Check the mailing lists: www.trelos.com.

    Neither support advanced video or specialized hardware. In the case of Win4Lin, the sound support is only available in the beta and is not entirely stable or complete. (I could not record with it, for example, but that might be my fault.)

    The kernel patches are available, but aren't the same. Because of that, your kernel may/may not be supported by either VMWare or Win4Lin. If it's not supported, these programs won't run! For bleeding edge kernel releases, use VMWare. It is more likely to have kernel modules available when you need them. There are security issues since these are propriatory extentions, though the kernel modifications are available as source.

    Having said that, I intend to buy two more copies of Win4Lin for my family as gifts. For business use, I would be more cautious and prefer VMWare unless Win4Lin worked with a specific Windows-only application and memory was tight.

    Both have full-featured, time limited, trial versions available for download, so the risk is minimal.

    As always, if there's a Linux software available...that gets the nod over VMware or Win4Lin.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.