(This is a guest post by Antoni Sawicki / Tenox)
In the previous post about SCO Merge I briefly mentioned WABI, which is a Windows ABI emulator for Unix. Initially released by Sun Microsystems, it’s believed that it came with acquisition of Interactive Systems Corp (ISC) and Interactive UNIX. It was available for SPARC, x86 and PowerPC Solaris as well as IBM AIX. Around 1997 it was released for x86 Linux by Caldera. This article will focus on Caldera’s version specifically.
Although entirely possible to install WABI on another RPM based distribution such as Red Hat, I’m a purist and wanted to try it on Caldera Open Linux. The install is pretty straightforward you mount the iso file and run install script. In a next step you need to install an update to version 2.2D. This is done by replacing
/opt/wabi/bin/wabiprog with extracted version of this file. Thanks to readers of this blog post for sharing these.
When launched for the first time, you will be prompted to provide copy of Windows 3.1. This the main difference with WINE which specifically does not require copy of windows to run apps. I have noticed that WABI is rather picky about lower vs uppercase when installing software. There is an utility called
wabimakelower to help there. You can also add an icon to one of Caldera Linux / Looking Glass program groups.
Once you run it, it’s Windows 3.1 as usual:
WABI was designed for running productivity apps such as Office:
You can even run Visual Studio:
Curiously WABI is not a MS-DOS emulator. In order to run DOS apps you need to install such and configure it in WABI Control Panel:
For the lazy, a readily preinstalled version is available as OVA and 86box. Root password is “caldera”.
There also is a User Guide in PDF.
Have Fun with Virtualization!
I had to remove the root password from your OVA image because you did not clarify how to log in. I used qemu (on Linux/x11) to run it, but unfortunately the drawing speed is abysmal. The WABI part is a bit faster than the native X11 parts of the user interface, but still quite slow.
But it’s a cool project and may have been the best way to run WinWord 6 back then. What I really don’t like about it is how fonts are rendered. Apparently this does not employ the Windows font renderer, but a built-in font server, and the result does not look nearly as nice as in native Windows.
Oh sorry looks like I forgot to include the root password. As for graphics performance the OVA was build on Vbox with SVGA driver patched specifically for it. Unfortunately the performance is quite poor. You should change the video driver to Cirrus Logic for example which will give you much better performance. For 86box it’s set to S3. Just run XF86Setup and change it there, in qemu add `-vga cirrus`.
Looks like this WABI thing is a sort of DPMI server under *nix and a set of drivers for Windows, like DOSEMU in “WinOS2” mode. Would be nice to see what actually it does to Win31 files, if it patches them in harddisk, or the DPMI server patches them in memory.
I found this doc which explains in more details how WABI works. https://www.hotchips.org/wp-content/uploads/hc_archives/hc08/2_Mon/HC8.S2/HC8.2.1.pdf – looks like they hook a few core windows dlls and translate ISA on the fly. This a very interesting doc historically as SPARC was still 2x performance of Intel at that time and expected to be 3x in future. Didn’t turn this way.
The doc mentions no v86 or GDT requirement. Wonder if the Linux x86 version is free of this “requirement” too. It might have a shot at working on a x64 kernel!
WABI was originally working on SPARC, both 32 and 64bit. I suspect there should be no problem for it to work on x64 kernel. Let me know!
Can you double check the root password for the OVA file? root doesn’t seem like the correct one.
oh damn, thanks for letting me know, the password is “caldera” not root … sorry for the confusion