Configuring X.Org / XFree86 under Virtual PC / Virtual Server

On the weekend I finally got around to downloading and playing with Fedora Core 4 (test 2) under Virtual PC / Virtual Server. This did - however - remind me of the fact that there is a fair amount of confusion around the configuration of X.org / XFree86 under Virtual PC / Virtual Server (for those who are unfamiliar with the details X.Org and XFree86 are two popular implementations of the X Window graphical display system, and are used by Linux, BSD and others for their graphical display. For more detail please see: https://www.x.org/ and https://www.xfree86.org/). There are two main problems that people hit when configuring X.Org / XFree86 under Virtual PC / Virtual Server:

  1. These display systems are usually defaulted to using 24-bit color depths, and our emulated S3 Trio 64 does not support 24-bit color. A physical S3 Trio 64 does support 24-bit color but we only support 1,2,4,8,16 and 32-bit color modes. This does not cause a problem on other platforms as we have removed the 24-bit entries from our ROM - which most operating systems probe to determine possible displays. However X does not check our ROM and attempts to use 24-bit color. This results in a corrupted (and very wide) display on the virtual machine. This problem can be easily avoided by selecting to use 16-bit color (or 'thousands of colors').
  2. X seems to have difficulty determining the acceptable resolutions to display on our 'virtual monitor'. This is rather odd as given that our monitor is virtual - it can display pretty much any resolution. The way to work around this problem is to tell X that you have a "Generic laptop monitor (1600x1200)" (even if you do not) then it should be able to display any resolution you want.

Cheers,
Ben