Part i

necessary and sufficient for a development workstation. For more information, visit http://www.xfree86.org/. For drivers for certain new devices, check out XFcom (formerly XSuSE) at http://www.suse.de/XSuSE/.

SVGAlib is a library for displaying full screen graphics on the console. It is primarily used for a few games and image viewing applications, most of which have X Windowing System versions or equivalents. Unfortunately, SVGAlib applications need root privileges to access the video hardware so they are normally installed suid, which creates security problems.

GGI, which stands for Generic Graphics Interface, tries to solve the problems of needing root access, resolve conflicts between concurrent SVGAlib and X servers, and provide a common API for writing applications to run under both X and SVGAlib. A part of GGI, called KGI, provides low-level access to the framebuffer. GGI has also been ported to a variety of other platforms so it provides a way of writing portable graphics applications, although these applications are apparently limited to a single window paradigm. Documentation is very sparse. This package shows future promise as the common low-level interface for X servers and SVGAlib and a programming interface for real-time action games.

OpenGL (and its predecessor GL) has long been the de facto standard for 3D modeling. OpenGL provides an open API but not an open reference implementation. Mesa provides an open source (GPL) implementation of an API very similar to OpenGL that runs under Linux and many other platforms. Hardware acceleration is available for 3Dfx Voodoo-based cards. For more information on Mesa, visit http://www.mesa3d.org/. Metrolink provides a licensed OpenGL implementation as a commercial product; visit http://www.metrolink.com/opengl/ for more information. Frame buffer devices provide an abstraction for access to the video buffer across different processor architectures. The Framebuffer HOWTO, at http://www.tahallah.demon.co.uk/programming/ HOWTO-framebuffer-1.0pre3.html, provides more information. Vesafb provides frame buffer device support for VESA 2.0 video cards on Intel platforms. Unfortunately, the VESA specification appears to be a broken specification that only works when the CPU is in real mode instead of protected mode, so switching video modes requires switching the CPU out of protected mode to run the real mode VESA VGA BIOS code. Such shenanigans may be common in the MS Windows world and may contribute to the instability for which that operating system is famous. KGIcon allows the use of KGI supported devices as framebuffer devices.

Chapter 2

Some companies offer commercial X servers for Linux and other UNIX-compatible operating systems. Among them are Accelerated-X (http://www.xigraphics.com/) and Metro-X (http://www.metrolink.com/).

AGP (Accelerated Graphics Port) provides the processor with a connection to video memory that is about four times the speed of the PCI bus and provides the video accelerator with faster access to texture maps stored in system memory. Some AGP graphics cards are supported under Linux.

To determine which video cards and monitors are supported under Red Hat run

/usr/X11/bin/Xconfigurator --help as root on an existing system.

You will probably want at least 4MB of video memory to support 1280x1024 at 16bpp (2.6MB). You will need 8MB to support 1600x1200 at 32bpp. Some 3D games might benefit from extra memory for texture maps or other features if they are able to use the extra memory. The X server will use some extra memory for a font cache and to expand bitmap. If you want to configure a virtual screen that is larger than the physical screen (the physical screen can scroll around the virtual screen when you move the cursor to the edge) be sure to get enough memory to support the desired virtual screen size. The FVWM window manager will create a virtual desktop that is by default four times the virtual screen size, and will switch screens if you move the cursor to the edge of the screen and leave it there momentarily; instead of using extra video memory, this feature is implemented by redrawing the whole screen. The X server may use system memory (not video memory) for "backing store" to allow it to redraw partially hidden windows faster when they are revealed. If you use high resolution or pixel depth (16bpp or 32bpp) screens, be aware that backing store will place additional demands on system memory.

There are some distinct advantages to installing a video card that supports large resolution and pixel depth in your Linux system. If you intend to make good use of the X server, this can be invaluable. Since Linux can easily handle many different processes at

Was this article helpful?

0 0

Post a comment