OpenStep on
Microsoft Windows PC Emulators

NeXT Logo
Purple Dot Introduction
Purple Dot OpenStep
Purple Dot VirtualBox
Purple Dot VirtualPC
Purple Dot VMware
Purple Dot Conclusion

Introduction

Caution Symbol The author offers the information on this page in good faith. However, he makes no warranty that the information on this page is accurate, complete, appropriate or up to date. He also does not accept any responsibility for direct or indirect loss resulting from following this information.

This page describes the author's experience in getting OpenStep 4.2 to run on three Microsoft Windows PC Emulators:

These products also run on other host OSs such as Linux and MacOS X. My experience with Microsoft Windows may not apply to these other OSs. OpenStep is not supported by these products, so the following experience does not reflect on their capabilities. Although I have not tried it, several people have reported success on getting OpenStep to run using Parallels.

I am solely responsible for the content of this page. However, I would like to thank the following:

OpenStep

To install OpenStep you may need:

It might seem that it is possible to load extra files onto OpenStep using only the floppy disc. In fact there are quite a number of solutions. If you create an emulated DOS PC with file sharing additions, it is possible to copy files from Windows to emulated DOS to OpenStep by mounting the DOS disc image under OpenStep as a second hard disc. If you have Windows administrative privileges, you can give OpenStep access to a physical volume as a second disc. This risks disc corruption in the event of an error, but I have managed to give OpenStep access to an IDE Zip drive in this way. With appropriate software (e.g. mkisofs) it is possible to create CD images that OpenStep can read (albeit with DOS 8.3 names). Networking also allows access to remote servers, using SMB (e.g. SharityLight or Rumba for OpenStep) or NFS (built into OpenStep).

VirtualBox

The following describes experiments conducted in 2010 and subsequently. I was able to install VirtualBox 4.1.12 on a PC running Microsoft Windows XP Pro and Windows 7 Enterprise. Later versions of VirtualBox are not compatible with OpenStep network adapter drivers.

Laurent Juillard makes some mention of installation on VirtualBox. I created a virtual PC using 192MB of RAM and a 4GB hard disc. I set the guest PC type as Other/Unknown.

Start up VirtualBox using the osinstall.img floppy disc image. The virtual PC will then load the OpenStep installation code. When it asks for the drivers floppy, use the osdrivers.img floppy disc image in place of this. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers).

VirtualBox is supplied with dedicated operating system additions, but these are not available for OpenStep since this is not a supported OS. Switching between window and full-screen mode, I find that the host and OpenStep mouse cursors quite often get out of register with each other; press the VirtualBox Host key twice to re-capture the mouse.

If OpenStep is saved and resumed later, the clock is not resynchronised. Clock synchronisation occurs only on boot-up. A work-around is to manually synchronise with a Network Time Server somewhere (on the host PC if necessary). Although OpenStep runs well, it does not seem entirely happy about being suspended and resumed. It occasionally hangs up with an empty screen or reboots.

I had great difficulty with the display settings. Initially the only displays I could get to work were VGA (640x480, BW) and Generic SVGA (800x600, 2-bit grayscale). When I tried the VESA VBE driver, it did not report any available video modes and would not work. After several days of trying this, the BIOS suddenly started reporting video modes. I do not know why this did not work initially. The circumstances in which it finally worked were when I added the VESA VBE driver in OpenStep when the Generic SVGA display driver had already been selected.

I had great difficulty with the network settings because my mental model of VirtualBox networking was wrong. I initially tried the NAT setting as this is the default in VirtualBox. I expected this would simply emulate a network adapter, and attempted to configure OpenStep as another system on my subnet. However, what VirtualBox actually does is much more complex. By default, it emulates a network adapter attached to the 10.0.2.X subnet (for the first network adapter), with 10.0.2.2 as the router and 10.0.2.3 as the DNS server (for this emulated subnet only). It is therefore necessary to set OpenStep to have a 10.0.2.X IP address and 10.0.2.2 as the router. It is also necessary to create /etc/resolv.conf to have real DNS servers (and not 10.0.2.3). Under these circumstances, OpenStep pretends to be the host PC from the point of view of the outside world. It is therefore not possible to 'see' the OpenStep PC on the subnet.

Following advice, I then set VirtualBox to use a Bridged Adapter supported by my real network adapter. (This is much closer to network adapter emulation in, say, Virtual PC and VMware.) After several reboots and trying to get SimpleNetworkStarter to change the OpenStep IP address, I was able to give OpenStep an IP address on my subnet, using my real router and real DNS servers. This allowed OpenStep to be 'seen' on the subnet.

I could not get Sharity Light to work with either NAT or Bridged mode (though I believe I had the correct Windows firewall settings). I was able to get Rumba to work with NAT mode but not Bridged mode. I therefore decided to use Microsoft Services for Unix 3.5 to run an NFS server on the host PC. I had to open various Windows firewall ports to make this work: Neo (port 1048, UDP), NFS (port 2049 ,UDP), RPC (port 111, TCP and UDP). For security, restrict the scope of these to the local subnet only. Setting the NFS server up is a bit complex, but I found the guide by David St. Clair's to be very helpful. This allowed me to create network shares on the host PC that OpenStep could use via NFS (e.g. to map my Windows home folder to my OpenStep home directory).

For audio, I set VirtualBox to emulate a SoundBlaster 16 supported by Windows DirectSound. The OpenStep SoundBlaster drivers worked erratically with this. However, the SoundBlaster Driver/Mixer by Stephen Brandon (University of Glasgow) works reasonably well.

The following OpenStep driver settings were the key ones I tried:

Device OpenStep Configuration Observations
Audio SBSoundMidi for SoundBlaster32 PnP This works reasonably well. The standard OpenStep SoundBlaster drivers are very erratic. An oddity is that audio sometimes continues stuttering after a sound has finished playing.
Compact Disc EIDE and ATAPI Device Controller This works fine.
Display (9MB memory) VESA VBE 2.0 (1280x1024 32-bit colour and other modes) This works fine (after it eventually decided to work).
Floppy Disc Floppy Disk Drive When the host floppy drive is empty, OpenStep complains it contains an unreadable disc that must then be ejected.
Hard Disc EIDE and ATAPI Device Controller After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) This works fine. If I map the Ctrl key to the Caps Lock key (as per the traditional NeXT layout), the host PC changes to upper/lower case mode on doing Ctrl-C, etc.
Mouse PS/2-Style Mouse (150dpi) This works fine.
Network (PCnet-PCI II or III) AMD PCnet-32 PCI Ethernet Adapter This works fine (after I figured out how to configure OpenStep to be compatible with VirtualBox). Standard networking facilities such as FTP and NFS work.
SCSI Not investigated Not investigated as I no longer have SCSI devices.
Serial Port Not investigated Not investigated as I no longer have RS232 serial ports.
USB Not investigated Not investigated as OpenStep does not support USB.

Virtual PC

The following describes experiments conducted in 2000 and subsequently. Note that my experiments were done with what is now a very old version of Virtual PC. However, no later version of Virtual PC (e.g. 5.0, 5.2, 2007) seems to be compatible with OpenStep. Version 4.3.1 is the latest version I was able to use for OpenStep. However, this will not run on modern PCs with PAE (Physical Address Extension) enabled.

Note that my experiments were done with an old version of Virtual PC. The good news is that it works extremely reliably. The only oddity I have noted ia that very occasionally OpenStep acts as if it were randomly and rapidly receiving mouse clicks. I have seen something like this when running OpenStep on a real PC, so it may be some occasional OpenStep fault.

Virtual PC is supplied with dedicated operating system additions, but these are not available for OpenStep since this is not a supported OS. A minor consequence is that Virtual PC does not detect the OpenStep idle loop, so even if OpenStep is running in the background it still consumes up to 20% of the real CPU. A more problematic consequence is that Virtual PC additions are needed to synchronise the real and emulated clocks. The result is that the OpenStep clock drifts, perhaps up to 30 minutes per day. If OpenStep is saved and resumed later, the clock is not resynchronised as clock synchronisation occurs only on boot-up. A work-around is to manually synchronise with a Network Time Server somewhere (on the host PC if necessary).

I was able to install Virtual PC 4.3.1 on a PC running MS Windows 98 and also MS Windows XP Pro. (Windows 98 is not a supported host OS.) I created a virtual PC using 192MB of RAM and a 3GB hard disc. It does not seem to matter what type of guest OS is defined for OpenStep installation.

I could not get Virtual PC to read NeXT-format floppies. For installation, I therefore had to use already-created floppy images (.vfd).

Start up Virtual PC, capture the osinstall.vfd floppy disc image, and reset the virtual PC. The virtual PC will then load the OpenStep installation code. When it asks for the drivers floppy, drag the osdrivers.vfd floppy disc image over the floppy disc icon. Capturing the floppy disc image from the menu does not seem to work. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers).

The following OpenStep driver settings were the key ones I tried:

Device OpenStep Configuration Observations
Audio SoundBlaster 16 (8 and 16 bit DMA) This works to some extent, though it is erratic.
Compact Disc EIDE and ATAPI Device Controller This works fine.
Display Diamond Stealth 3D (S3 ViRGE, 1280x1024 or 1024x768, 60Hz, RGB:256/8) This works fine. The S3 Generic Display driver is also reported to work in RGB:888/32 and RGB:256/8 modes. The refresh rate does not seem to matter.
Floppy Disc Floppy Disk Drive The basics work fine. I could not read NeXT or Macintosh format floppies, though others have reported success. "Check for Disks" under OpenStep does not automatically capture the floppy; it needs a manual capture first using a Virtual PC menu item.
Hard Disc EIDE and ATAPI Device Controller After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) This works fine though I found some small problems. If the default hot key is used (Alt Gr), the keyboard does not work properly when returning to OpenStep. Pressing Ctrl under these circumstances restores the keyboard mapping. Virtual PC also seems to become slightly confused if I map the Ctrl key to the Caps Lock key (as per the traditional NeXT layout); the Caps Lock LED is momentarily illuminated when pressed.
Mouse PS/2-Style Mouse (150dpi) This works fine.
Network DECchip 21041 Based Adapter Standard networking facilities such as FTP and NFS work.
SCSI Not investigated Virtual PC 4.3.1 did not support SCSI devices, though later versions may.
Serial Port Serial Port, TTY Port Server Data rates above 38400 bps do not work.
USB Not investigated Not investigated as OpenStep does not support USB.

VMware

The following describes experiments conducted in 2000. Note that my experiments were done with what is now a very old version of VMware. More recent versions may work better or differently.

I was able to install VMware 3.0 on a PC running Microsoft Windows XP Pro. I configured the hard disc on the IDE primary channel (IDE0:0) and the CD-ROM on the IDE secondary channel (IDE1:0). I created a virtual PC using 64MB of RAM and 300MB of hard disc. It is essential to pretend that the guest OS is Linux otherwise the CD driver does not seem to work properly.

I was able to use the standard installation and driver floppies to install OpenStep. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers). Laurent Juillard reports a different procedure for installation on VMware.

The following OpenStep driver settings were the key ones I tried:

Device OpenStep Configuration Observations
Audio None I could not get the OpenStep SoundBlaster drivers to work with VMware, despite having a real SoundBlaster Live sound card on my PC.
Compact Disc EIDE and ATAPI Device Controller This works fine.
Display Default VGA (640x480, 60Hz, BW) As reported by others, I could not get a better OpenStep display driver to work with VMware.
Floppy Disc Floppy Disk Drive This works fine.
Hard Disc EIDE and ATAPI Device Controller After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) This works fine.
Mouse PS/2-Style Mouse (150dpi) This works fine.
Network AMD PCnet-32 Ethernet Adapter Standard networking facilities such as FTP and NFS work.
Parallel Port Not investigated Not investigated.
SCSI Inconclusive VMware supports SCSI devices. However I could not get the virtual SCSI controller to respond to the OpenStep BusLogic drivers, probably because I did not have a physical SCSI controller.
Serial Port Not investigated Not investigated.
USB Not investigated Not investigated as OpenStep does not support USB.

Conclusion

With appropriate choice of emulator version, it is commendable that VirtualBox, Virtual PC and VMware can all run OpenStep to some degree. A high standard of performance should not be expected. The performance limitations are more likely to be in I/O rather than in raw processing. Having run OpenStep on Virtual PC for about 10 years, my preferred choice is now VirtualBox.


Up one level to NEXTSTEP/OpenStep Utilities

Web Ken Turner Home   Email    Search Search Web Pages

Last Update: 26th August 2013
URL: http://www.cs.stir.ac.uk/~kjt/software/nextstep/openstep-win.html