XFree86 is a free and Open Source implementation of the X Window System which runs under Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X, Windows NT (normally as part of the Cygwin environment) and several other minor flavors of Unix.

As of 1 October 2001, XFree86 supported the X11R6.5.1 spec, including the GLX and Render extensions.

The project began in 1991 when David Wexelblat, Glenn Lai, David Dawes and Jim Tsillas joined forces addressing bugs in the X11 X386 source code (written by Thomas Roell). This version was initially called X386 1.2e. As newer versions of the original X386 was being sold commercially by Roell under the name Accelerated-X, the project was renamed XFree86 as a pun.

In 2003 Keith Packard, a noted X Window System developer, created XWin, a forum for the betterment of X and specifically XFree86. The XWin forum no longer exists and users are now directed to freedesktop.org. Keith Packard began a totally new development project based on the X Window System under the name Xserver in cooperation with Freedesktop. Xserver uses the Kdrive API driver model. The authors like to think of this as the next generation of X server which is following a different direction then that of XFree86.

An experimental branch of the XFree86 server code, Xouvert, has also come into existence.

On December 30 2003, the XFree86 Core Team voted to disband itself, effective December 31st.

Architecture

The XFree86 server communicate with the host operating systems kernel (most typically the Linux kernel) to drive input- and output devices, with the exception of graphics cards. These are used directly by XFree86, so it includes it's own drivers for all graphic cards a user might have. Some cards are supported by vendors themselves via binary-only drivers.

It is also possible to use XFree86 in a framebuffer device, which in turn use a kernel graphics card driver.

On a typical POSIX-system, /etc/X11 includes the configuration files. The basic configuration file is /etc/x11/XF86Config (or XF86Config-4) that includes variables about the screen (monitor), keyboard and graphics card. The program xf86config is often used, although xf86cfg also comes with the XFree86 server and is certainly friendlier. Many Linux distributions include a configuration tool that is easier to use (such as Debian's debconf) or autodetects most (if not all) settings (Red Hat Linux/Fedora Linux:s Anaconda, SuSE:s YaST and Mandrake Linux chose this path).

External Links