Installing a 1024×768 SVGA driver on Windows 3.1 and 3.11.
Succeeding to make work the 1024×768 256 colors SVGA driver on Windows 3.1/3.11 seems to depend on lots of factors. If given applications are installed, it works, if others are installed it might not work. I have no idea about how these factors interact. Just to say: If you follow this tutorial and the driver doesn't work as expected (be aware that a failure may make your system unbootable, so, make a snapshot of your virtual machine or a backup of your Windows system before installing the driver), please, have a look at my problems related help text Unresolved "mysteries" concerning Windows 3.x setup. |
Windows 3.11 and Windows for Workgroups 3.11 were shipped with a SVGA driver that allows to display 1024×768 pixels in 256 colors. This driver is often referred to as generic SVGA Driver for Windows 3.1, because it supported all major display adapters of the time. The fact is, that it only works with specific graphics cards, thus, will not work on virtualization software like VMware. However, A German computer scientist, Japheth, has developed a patch that makes the official SVGA driver truly universal: after applying that patch, the driver becomes compatible with any VESA compliant graphic card!
This tutorial describes how to get a 1024×768 pixels, 256 color display on Windows 3.11 (English version) and Windows 3.1 (German version). The driver seems not to be compatible with Windows 3.0: After installation of the patched driver, Windows 3.0 boots up with VGA resolution, and hangs at the Windows 3.0 start-up screen.
On Windows 3.11, all you need is the patch, that may be downloaded from Japheth's Site, or alternately from the Win3x.Org website. On Windows 3.1, that does not include the Microsoft SVGA driver, you also need the files to install the original driver; you can find them as floppy diskette image at the WinWorld website. As the driver and the patch are essential for a comfortable working with Windows 3.1/3.11, I decided to host them on my server. Here the links for svga256.zip and svgapatch.zip on my site.
Installing SVGA 1024×768 pixels on Windows 3.11.
Please, note that everything, concerning the installation of the driver is done on DOS; so, terminate your Windows session (and exit to DOS).
If the Microsoft SVGA driver actually is included in the WINDOWS\SYSTEM directory depends on what graphics adapter you choose when installing
Windows 3.11. To check this, browse to this directory and look for a file called SVGA256.DRV. You can do this by running the following DOS commands (supposing that
Windows 3.11 is installed on drive F: - my actual situation, with three Windows 3.x installed on the same machine):
F:
CD \WINDOWS\SYSTEM
DIR SVGA*.*
If the driver is there, you can skip the following paragraphs and immediately jump to Applying the Japheth patch. If not, you'll have to install
the Microsoft driver first.
To install the original SVGA driver, you'll have to run SETUP.EXE from your WINDOWS
directory. On my system this could be done by using the commands:
F:
CD \WINDOWS
SETUP
On the Windows Setup screen, select the Display settings line and hit ENTER to change it (screenshot on the left). On the next screen, you'll have to select the type of display. Scroll down until you find Super VGA 1024×768 256 colors Small Fonts (the driver with large fonts will probably work, too, but I think that small fonts is the best choice) and select it (screenshot on the right).
Hit ENTER to actually use this driver. This returns you to the main settings screen, where you can now choose Accept the configuration shown above.
To install the new driver, Setup needs one or more of the Windows 3.11 installation diskettes. Insert those, that are asked for.
When installation of the driver is terminated, do not shutdown or reboot your computer! As the actually installed original driver does not work with your virtual machine's hardware, the system will hang if you try to start Windows. Thus, immediately to do now: Applying the Japheth patch.
Installing SVGA 1024×768 pixels on Windows 3.1.
As for Windows 3.11, everything concerning the installation of the driver is done on DOS; so, terminate your Windows session (and exit to DOS). As a difference with Windows 3.11, Windows 3.1 does not include the Microsoft SVGA driver, so we'll have to install it from the generic SVGA Driver for Windows 3.1 floppy diskette, downloaded from WinWorld.
The driver is installed by running SETUP.EXE from your WINDOWS directory. On my system
(with Windows 3.1 being installed on drive E:) this could be done by using the commands:
E:
CD \WINDOWS
SETUP
On the Windows Setup screen, select the Display settings line and hit ENTER to change it (screenshot on the left). On the next screen, you'll have to select the type of display. Scroll down until you find Other (needs diskette of the hardware vendor) and select it (screenshot on the right).
Setup asks you to indicate the location where the driver files are located. As this is normally a floppy diskette, the path to the root directory of the floppy drive (A:\) is filled in by default (screenshot on the left). If you have the driver files on a CDROM or copied them some way to a harddrive directory, enter the corresponding path instead. In our case, insert the driver diskette and hit ENTER. If all goes well, you will get a list with available display drivers, as shown on the screenshot on the right. Select Super VGA 1024×768 256 colors Small Fonts (the driver with large fonts will probably work, too, but I think that small fonts is the best choice).
Hit ENTER to actually use this driver. This returns you to the main settings screen, where you can now choose Accept the configuration shown above. When installation of the driver is terminated, do not shutdown or reboot your computer! As the actually installed original driver does not work with your virtual machine's hardware, the system will hang if you try to start Windows. Thus, immediately to do now: Applying the Japheth patch.
Applying the patch to svga256.drv is the same on Windows 3.1 and Windows 3.11. On Windows 3.11 the original driver is either present in WINDOWS\SYSTEM after installation of the OS, or the installation of the driver from the Windows installation diskettes; on Windows 3.1 it will be present in WINDOWS\SYSTEM after its installation from the driver diskette.
In order to apply the patch, create a directory, for example C:\SVGAPTCH and copy the content of the patch ZIP archive to this directory. Copy the original driver to
this directory, too. On my Windows 3.11 (with Windows installed on drive F: and the patch files being on an otherwise empty floppy diskette), this can be done with the
following DOS commands:
C:
CD \
MKDIR SVGAPTCH
CD SVGAPTCH
A:
COPY *.* C:
F:
CD \WINDOWS\SYSTEM
COPY SVGA256.DRV C:
Now, browse into the patch directory and run the command
SVGAPTCH -P
The output of the patch program should be something like the one on the screenshots below (that shows what I got on my Windows 3.11).
If you look at the driver file using the DIR command, you'll notice that its modification date is the one of the day, where you apply the
patch. All that remains to do now is to copy the patched driver to WINDOWS\SYSTEM (overwriting the original file). Before doing so, you
should backup the original driver. The current directory being WINDOWS\SYSTEM, enter:
COPY SVGA256.DRV SVGA256.BAK
Then copying the file (Windows being installed on drive F: and the current directory being C:\SVGAPTCH):
COPY SVGA256.DRV F:\WINDOWS\SYSTEM
Answer Y to overwrite the original driver.
Finally, you have to reboot your system. And Windows should show up with a nice 1024×768 256 colors display. The screenshot shows the spreadsheet application Quattro Pro on my Windows 3.1 virtual machine.
Driver issues.
Strange behavior of my Windows 3.11 after the installation of the patch SVGA driver: Windows starts up with a 1024×768 pixels display, but all I got was a gray screen with a message box saying System error - Cannot read from drive G:, where G: is my CD-drive. If this always happens if your system has a CD-drive, if it is related to the fact that I use Dashboard for Windows as shell, or if it is related to some other specific whatever on my system - no idea. The fact is that Windows was hanging, no more possible to boot! The solution to the problem is simple: Remove the CD related lines in CONFIG.SYS and AUTOEXEC.BAT, boot into Windows (what works correctly now), reboot into DOS, and add CD support again. The next time you boot Windows, you have both SVGA 1024×768 256 colors resolution and CD support.
A known issue is that restarting Windows or returning from DOS Prompt results in a corrupt display and the system hanging. This may also happen in some other situations (I got it, for example, after finishing the installation of Delphi on Windows 3.1). Nothing else you can do than pushing CTRL+ALT+DEL to reboot the system. This is not really a good thing, but shouldn't normally be a serious problem, as 1. it normally happens at a moment where you are very probably not working with any applications, thus, there should normally be no data loss; 2. concerning "killing" the system, Windows 3.x is lots more robust than modern Windows versions and should normally restart without any problems after you've done so.
Unfortunately this is not all. Some applications do not work with the patched SVGA driver. I have this problem with Microsoft Visual C++ 1.5 Professional, as well as with Microsoft FORTRAN PowerStation 1.0. In both cases, the IDE starts up correctly, but when trying to build a program, the (VMware) screen resizes to VGA resolution, display being nothing else but some color pattern, similar to what you get when restarting Windows. And, as in that case, all you can do is pushing CTRL+ALT+DEL. You can change screen resolution in Windows 3.x by opening the Main program group, and then choosing Windows Setup > Change system settings. In the Display settings combobox, you can choose a new driver (a new display resolution). I tried some of them, without success. The build of my C++ and FORTRAN applications still resulted in a color-pattern screen and a system hang. If someone, who reads this text, has any suggestions how this problem can be fixed, please, let me know!
If you find this text helpful, please, support me and this website by signing my guestbook.