Computing: Computer Administration

Installing a 1024×768 SVGA driver on Windows 3.1.


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).

Windows 3.11 SVGA 1024×768 pixels: Windows Setup - Selecting to change the display driver
Windows 3.11 SVGA 1024×768 pixels: Windows Setup - Selecting the original Microsoft SVGA driver

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.

Windows 3.11 SVGA 1024×768 pixels: Windows Setup - Applying the new system settings

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).

Windows 3.1 SVGA 1024×768 pixels: Windows Setup - Selecting to change the display driver
Windows 3.1 SVGA 1024×768 pixels: Windows Setup - Selecting to install some other driver (using vendor's diskette)

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).

Windows 3.1 SVGA 1024×768 pixels: Windows Setup - Selecting the path to the custom driver to be installed
Windows 3.1 SVGA 1024×768 pixels: Windows Setup - Selecting the original Microsoft SVGA driver

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 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).

Windows 3.11 SVGA 1024×768 pixels: Patching the original Microsoft driver

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.

Windows 3.11 SVGA 1024×768 pixels: Copying the patched driver to the Windows\System directory

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.

Windows 3.1 SVGA 1024×768 pixels: Quattro Pro window after install of the patched driver

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.