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: http://www.x.org/ and http://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 (1600×1200)” (even if you do not) then it should be able to display any resolution you want.

Cheers,
Ben