Fun with OpenServer 6 and MergePro

(This is a guest post by Antoni Sawicki aka Tenox)

In a recent post about OpenServer and Merge I covered OpenServer 5 and Merge 5.3. Thanks to a comment from Uli I have learned about MergePro which looks like is a rebranded Win4Lin. Intrigued I wanted to try it especially that you can download it from SCO ftp server as Uli pointed.

I’m going to be using VMware Fusion on Mac, which is now free for personal use. They call it Fusion Player, however unlike Workstation and Player, it has exactly same features as non-free Fusion version. For the OS I’m going to use Xinuos OpenServer 6 Definitive, however you can easily download OpenServer 6.0.0Ni from the ftp. I also have copies in my archive.

Installation is straightforward. You can skip licensing and use evaluation license, however for convenience you can use following keys:

Xinuos OpenServer 6D2M1: SCO053269 / ejcaagmy
SCO OpenServer 6.0.0Ni: SCO398943 / ysloudwl

If you are installing 6.0.0Ni you will also need MP4 update. 6D2M1 is already patched.

To install MergePro you need to copy this package to the host os and install like so:

# pkgadd -d /tmp/MergePro-6.3.0-04f_pkgadd.stream

In the following step, mount Windows 2000 or XP SP1 or SP2 ISO and run:

# loadwinproCD

Once Windows is loaded you need to install it as a non-root user using:

$ installwinpro

After it’s installed, to run you type:

$ winpro

Unfortunately I have failed to install Windows XP with variety of errors and blue screens. Windows 2000 works fine, however it feels bit sluggish and mouse click doesn’t always register. It looks like there are some sort of Windows Guest Additions being injected in to the OS so one would expect this to work just fine.

During startup I have noticed that MergePro installs and uses KQEMU kernel module. Also this screen looks suspiciously familiar… where did I see this before?

The BIOS and VGABios look definitely stolen from Bochs. HDD controllers look like Win4Lin. I’m not going to go in to deeper analysis of what MergePro is made of at this time. Looks like a topic for another article or even better – your comments 🙂

Also if you want to license the copy of Merge use following key:

MergePro 6.3.0f: SCO138318 / bhtecusg

Finally for the lazy here is fully installed OVA, password is root/root and tenox/tenox for the regular user.

7 thoughts on “Fun with OpenServer 6 and MergePro

  1. Win4Lin/Merge 5.x was an interesting product, the last remains of technology developed by Locus Computing in collaboration with MS (seems like they had a shared source agreement for Chicago sources with them). But Win4LinPro/MergePro, is just a rebranded QEMU with licensing restrictions (not sure if QEMU terms back them allowed double licensing, but the rumors said that they couldn’t keep distributing Win4LinPro after some time, so it only got a few small updates and finally dissapeared in the sand of time) and bad performance.

    I can’t prevent to feel this like WSL vs WSL2 dilemma; WSL is an interesting technology, but WSL2 is just a boring, fancy HyperV VM.

    • I specifically like WSL because it’s GNU without Linux, as in you can run GNU/Linux ABI binaries without the kernel. I fully agree that WSL2 is just totally boring crap.

      I guess I need to dig in to MergePro to see if it really is QEMU based. MergePro uses KQEMU kernel mode accelerator but that doesn’t mean it’s repackaged or rebranded QEMU.

  2. I haven’t used Win4LinPro/MergePro, but share the skepticism of others.

    What made Merge/Win4Lin interesting is that we didn’t have hardware virtualization back then so keeping good performance was hard. The approach taken of replacing the DOS layer and having a shim driver for TCP/IP, video, mouse etc meant that the system didn’t really need virtualization in the classic sense – it can just run the code, full speed, and translate syscalls. As Windows “grew up”, this became harder to achieve and more invasive – it was clearly an approach designed for Windows 3.x that had been pushed into 9x by sheer force of will.

    With MergePro/Win4LinPro, trying to support NT, doing this just gets so much harder. It would require things like a file system driver, and a new boot loader (because the inbox one needs to read files to boot), and do this while retaining compatibility with Windows software. That gets harder as the system moves to NTFS and starts exposing far more capabilities to software than Win9x needed to consider, and where the underlying capabilities are not necessarily provided by the host.

    So – and having not used it I have no basis for this – I’m assuming MergePro has a hard disk image (correct?) If so, it has to emulate hardware devices to Windows, emulate ring 0/ring 3 semantics, which in turn requires examining the code, which qemu is doing by dynamic recompilation? Whether the code is derived from qemu or not, wouldn’t this require basically the same approach? The other option, which Win4Lin was doing, is static patching – but that doesn’t really work when service packs and updates become widespread. Although static vs. dynamic is separate from how devices are interacted with, it seems like another force that became present at around the same time.

    • Oh absolutely MergePro is a full system emulator unlike the previous versions. There is no doubt about that. I’m just unsure if it’s based on QEMU. It may very well be, but I have not dug deep enough to conclude that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.