The code provided here can be distributed according to GNU Public License v3 (GPLv3), see the full license here.
VBoxVideo is a video driver for Oracle VirtualBox virtual machines with NEXTSTEP 3.3 or Rhapsody Developer Release 2 operating systems.
The driver has been tested on VirtualBox Version 5 on a Windows 7 host and VirtualBox Version 6 on a Windows 10 host with both NEXTSTEP 3.3 and Rhapsody Developer Release 2.
The driver has been built in NEXTSTEP 3.3 using the Driver Kit version 4.5.
In Project Builder open the file PB.project
in the root folder, click on Builder and then on Build. Please note that there is also a PB.project
file in the VBoxVideo_reloc.tproj
folder, it's a subproject and is automatically loaded by the main project.
After a successful build in the main project folder there will be the built driver: a folder named VBoxVideo.config
.
In the build
folder of the repository there is also the archive file VBoxVideo.config.tar
which contains the driver already built.
The following paragraphs will guide you in the process of installing the VBoxVideo driver in NEXTSTEP 3.3 and Rhapsody Developer Release 2 on VirtualBox.
While the driver is the same for both the operating systems, they use a different and incompatible file system so in the build
folder you will find a floppy image for each OS.
Please note that every time you change the video mode (i.e. the resolution or the color depth) a restart of the operating system is required.
In an existing installation follow these steps:
- Mount in the virtual machine floppy the disk image file
NEXTSTEP_VBoxVideoDriver.img
you can find in thebuild
folder - In Workspace Manager menu select Disk -> Check for Disk
- Double click on the Floppy named VBoxVideo, you can find the driver at the following path:
private\Drivers\i386
- Copy the folder
VBoxVideo.config
from the floppy disk to theme
folder - Double click on
VBoxVideo.config
in theme
folder, the Configure App will open and a message will inform you of the correct installation - Click on the Monitor icon on top and delete the currently installed driver by clicking the Remove button. This will avoid warnings on conflicting resources
- Click on the Add button, the Configure App should suggest the installation of the VirtualBox Video Adapter driver, click Add
- You can select the preferred video mode by clicking the Select... button, the default video mode is 1024x768 with 16M colors
- Once completed, click Done then Save. Close the Configure App by selecting Quit in the Configure menu
- Remove the image from the virtual floppy by selecting Disk -> Eject in the Workspace Manager menu. Unmount the image from the virtual floppy
- Restart the operating system
During the operating system setup follow these steps:
- After selecting the drivers for the CD-ROM and the Hard Drive mount in the virtual machine floppy the disk image file
NEXTSTEP_VBoxVideoDriver.img
you can find in thebuild
folder - Enter 2 to load additional drivers from a disk, enter 1 to install the Virtual Box Video Adapter driver
- Enter 1 to continue the setup process
- During the installation you will be prompted two times to insert the disk image
NEXTSTEP_VBoxVideoDriver.img
In an existing installation follow these steps:
- Mount in the virtual machine floppy the disk image file
Rhapsody_VBoxVideoDriver.img
you can find in thebuild
folder - In Workspace Manager menu select Tools -> Check for Disk
- Double click on the Floppy named VBoxVideo, you can find the driver at the following path:
private\Drivers\i386
- Copy the folder
VBoxVideo.config
from the floppy disk to the user folder - Double click on
VBoxVideo.config
in the user folder, the Configure App will open - If you are logged in as a normal user Rhapsody will ask for the root user credentials, enter the credential and click Login
- The Configure App will show a message once the driver is successfully installed, click OK
- The Configure App will suggest to use the newly added driver, to avoid conflict with the existing video driver click Cancel
- Delete the currently installed video driver by clicking the Remove button
- Click on the Add button, the Configure App should suggest the installation of the VirtualBox Video Adapter driver, click Add
- You can select the preferred video mode by clicking the Select... button, the default video mode is 1024x768 with 16M colors
- Once completed, click Done then Save. Close the Configure App by clicking on Quit
- Remove the image from the virtual floppy by selecting Tools -> Eject in the Workspace Manager menu. Unmount the image from the virtual floppy
- Restart the operating system
During the operating system setup follow these steps:
- After selecting the drivers for the CD-ROM and the Hard Drive mount in the virtual machine floppy the disk image file
Rhapsody_VBoxVideoDriver.img
you can find in thebuild
folder - Enter 2 to load additional drivers from a disk, enter 1 to install the Virtual Box Video Adapter driver
- Enter 1 to continue the setup process
- During the installation you will be prompted two times to insert the disk image
Rhapsody_VBoxVideoDriver.img
This table shows the video modes supported by the VBoxVideo driver (default in bold):
Resolution | Bits per Pixel | Number of Colors |
---|---|---|
640 x 480 | 16 (1 bit unused) | 32K |
800 x 600 | 16 (1 bit unused) | 32K |
1024 x 768 | 16 (1 bit unused) | 32K |
1152 x 864 | 16 (1 bit unused) | 32K |
1200 x 1024 | 16 (1 bit unused) | 32K |
1600 x 1200 | 16 (1 bit unused) | 32K |
640 x 480 | 32 (8 bits unused) | 16M |
800 x 600 | 32 (8 bits unused) | 16M |
1024 x 768 | 32 (8 bits unused) | 16M |
1152 x 864 | 32 (8 bits unused) | 16M |
1200 x 1024 | 32 (8 bits unused) | 16M |
1600 x 1200 | 32 (8 bits unused) | 16M |
Sometimes there is a failure when calling an OS function that should update the memory ranges used by the video adapter (this happens in both NEXTSTEP and Rhapsody). As a result of this failure it's impossible to map the correct range into the OS memory space.
For VirtualBox version 5 and 6 this isn't a blocking issue because the video frame buffer always starts at the fixed address 0xE0000000
. If in future releases of VirtualBox the frame buffer is dynamically set during the virtual machine startup the driver may not work anymore if the OS call fails.
I would like to thank you the following people:
- Jason at "Stuff Jason Does" for this tutorial on how to install OpenStep. This project started after playing with the OS installations
- neozeed at "Virtually Fun" for the various articles on NEXTSTEP, Rhapsody, Darwin and OpenStep
- David Crosby (crosby@atomicobject.com) and Bill Bereza (bereza@atomicobject.com) and their project VMwareFB_OpenStep, a video driver for VMWare. Their work has been a great source of tips on how to write a driver for OPENSTEP/NEXTSTEP
- the people at "NeXT Computers" that made available a lot of files and documentation about the NeXT Computer and the related Operating Systems
- the people at "WinWorld" a treasure chest of ancient software including Rhapsody Developer Release 2 for Intel