You can find an up-to-date list of supported cards and chipset types at the 4.0 status page.
The documentation included with your video adaptor should specify the chipset used. If you are in the market for a new video card, or are buying a new machine that comes with a video card, have the vendor find out exactly what the make, model, and chipset of the video card is. This may require the vendor to call technical support on your behalf; in general vendors will be happy to do this. Many PC hardware vendors will state that the video card is a ``standard SVGA card'' which ``should work'' on your system. Explain that your software (mention Linux and XFree86!) does not support all video chipsets and that you must have detailed information.
You can also determine your videocard chipset by running the SuperProbe program included with the XFree86 distribution. This is covered in more detail below.
Supported video cards will work with all bus types, including ISA and VLB and PCI.
One problem faced by the XFree86 developers is that some video card manufacturers use non-standard mechanisms for determining clock frequencies used to drive the card. Some of these manufacturers either don't release specifications describing how to program the card, or they require developers to sign a non-disclosure statement to obtain the information. This would obviously restrict the free distribution of the XFree86 software, something that the XFree86 development team is not willing to do. For a long time, this has been a problem with certain video cards manufactured by Diamond, but as of release 3.1 of XFree86, Diamond has started to work with the development team to release free drivers for these cards.
The suggested setup for XFree86 under Linux is a 486 or better with at least 8 megabytes of RAM, and a video card with a chipset listed above. For optimal performance, we suggest using an accelerated card, such as an S3-chipset card. You should check the documentation for XFree86 and verify that your particular card is supported before taking the plunge and purchasing expensive hardware.
As a side note, the personal Linux system of Matt Welsh (this FAQ's originator) was a 486DX2-66, 20 megabytes of RAM, equipped with a VLB S3-864 chipset card with 2 megabytes of DRAM. He ran X benchmarks on this machine as well as on Sun Sparc IPX workstations. The Linux system was roughly 7 times faster than the Sparc IPX (for the curious, XFree86-3.1 under Linux, with this video card, runs at around 171,000 xstones; the Sparc IPX at around 24,000). In general, XFree86 on a Linux system with an accelerated SVGA card will give you much greater performance than that found on commercial UNIX workstations (which usually employ simple framebuffers for graphics).
Your machine will need at least 4 megabytes of physical RAM, and 16 megabytes of virtual RAM (for example, 8 megs physical and 8 megs swap). Remember that the more physical RAM that you have, the less that the system will swap to and from disk when memory is low. Because swapping is inherently slow (disks are very slow compared to memory), having 8 megabytes of RAM or more is necessary to run XFree86 comfortably. 16 is better. A system with 4 megabytes of physical RAM could run much (up to 10 times) more slowly than one with 8 megs or more.