Visuals are a very important concept that is often overlooked. Roughly, a visual defines the memory representation that a piece of hardware uses to store the contents of an image. X supports different kinds of visuals to suit the different kinds of hardware out there.
Some of this information comes from Federico Mena's excellent "X Concepts" document from http://www.nuclecu.unam.mx/~federico/docs/x-concepts.
|StaticGray||Static gray visuals are those in which you cannot change the gray intensities of the hardware.|
|Grayscale||Grayscale visuals are used for displays that use a single channel of color information.|
|StaticColor||An indexed color visual, where colors can not be changed.|
|PseudoColor||An indexed color visual, where colors can change.|
|TrueColor||True color visuals use the exact RGB values you specified for a pixel|
|DirectColor||DirectColor visuals use RGB encoding, with a correction palette.|