UMA - Unified Memory Architecture

Usual question: what can be made cheaper on your computer? Well, we can build a graphics controller without RAM. Let's just use main memory. We cut off a piece (some 1 to 64 MB, you can pre-select that via BIOS) and use it for the graphics controller (which is now called a "Chipset Graphics Controller", or CGC for short). Of course, main memory bandwith may be a bit slower then, compared to regular systems...

But how to really use it now? If you reserve a lot of RAM (by choosing a large amount somewhere in the BIOS), you also loose a lot of RAM, which is possibly never ever used for actually displaying graphics. If you reserve too little RAM, you can't use high-resolution displays with 16, 24 or eve 32 bpp colour depth. There's a simple way out: Let the operating system do the job. Just configure an UMA-capable graphic driver for XFree86 (eg. "i810" for for Intel 8xx CGCs) and load the kernel agpgart driver. (This driver actually supports different chipsets, which are all compile-time options. So better make sure it actually contains support code for your chipset!) In this combination, XFree86 will ask the agpgart kernel driver to provide a piece of RAM large enough to hold all the image data for your configured display resolution.