Linux on the Compaq Deskpro 4000


This particular model of Compaq has some idiosyncrasies that complicate running X-windows.

First, if you use Xconfigurator to configure your graphics, it normally selects the XF86_SVGA driver. This is the wrong choice. According to the documentation, this driver is supposed to be compatible with the S3 ViRGE and ViRGE/VX chipsets and superior to XF86_S3V, but apparently Compaq has messed with the video in some way that makes the Deskpro 4000 incompatible with the XF86_SVGA driver. The symptoms of this problem are that the mouse pointer has a block to the left of it and when you drag a window, its contents get garbled.

The fix for this problem is to use the XF86_S3V driver instead of the XF86_SVGA driver. You can force Xconfigurator to use the S3V driver by giving it the options --server XF86_S3V.

Alternatively, simply copy my XF86Config file (click here). Put it into your /etc/X11 directory, named XF86Config. This file was generated using an earlier version of Xconfigurator and choosing the Hitachi SuperScan 20S as the nearest comparable known monitor to my Compaq V70. This gives bad modeline parameters for the lower resolutions "640x480" "800x600" "1024x768" but looks fine at highest res "1280x1024". Recently I got a Radius 20 inch monitor. Here is my XF86Config file for that monitor. Your mileage may vary.

You also need to install the XF86_S3V driver and make it the X driver by manually creating the symbolic link:

	   ln -fs ../../usr/X11R6/bin/XF86_S3V /etc/X11/X

The second problem with X-windows is that when you shut down X or switch from X-windows to console mode, the text console is garbaged. (I have not seen this behavior on any other model of computer, including more recent Compaq Deskpros.)

The fix for this problem is to run the program vga_reset after the switch. This program can be obtained from the Slackware 8 distribution in d1/svgalib.tgz. For instance, it can be obtained from here. Many thanks to Dmitry Grigoriev for informing me about this program.

If you use startx to run X windows, you can add a line to execute vga_reset at the end of /usr/bin/X11/startx. It would be nice to find a way to run vga_reset automatically whenever the display is switched from X to console mode (for example by control-alt-F1). If anyone knows how to do this, please let me know.