XFree86 is a free and Open Source windowing system for bitmap displays implementation. It is based on the X Window System which runs under many Unix-like operating systems, and on Windows NT as part of the Cygwin environment. Until early 2004, it was almost universal on Linux and the BSDs.
XFree86 consists of client libraries used to write X applications ("clients"), and an X server responsible for the display. Client and server communicate via the X protocol, which allows to run clients and server on different computers.
The XFree86 server communicates 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 generally managed directly by XFree86, so it includes its own drivers for all graphic cards a user might have. Some cards are supported by vendors themselves via binary-only drivers.
Because the server usually needs low level access to graphics hardware, on many configurations it needs to run as the root user, or a user with UID 0. However, on some systems and configurations it is possible to run the server as a normal user—this is called 'rootless X'.
It is also possible to use XFree86 in a framebuffer device, which in turn uses a kernel graphics card driver.
On a typical POSIX-system, the directory /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 and Fedora Core's Anaconda, SuSE's YaST and Mandrake Linux chose this path).
Early history and naming
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. (Compare X-three-eighty-six to X-free-eighty-six.)
Disbanding of the Core Team
XFree86 used to have a Core Team which was made up of experienced developers, selected for their merits. Due to limited innovation capacity the XFree86 Core Team voted to disband itself, on December 30, 2003, effective the following day.
Earlier in 2003 Keith Packard, a noted X Window System developer, was removed from the XFree86 Core Team. The Core Team claim this was for conspiracy: Keith had been trying to fork the XFree86 project, working inside the project, while trying to attract core developers to a new X Server project of his own making. Packard denied this, but the Core Team produced mail conversations he had had with other developers on the subject.
XFree86 4.4 was released in February 2004 with a change to the license: the addition of an advertising clause, similar to that in the old version of the BSD license. This has led to a great deal of controversy, and XFree86 4.4 being excluded from many Linux distributions and from OpenBSD. Some projects, such as OpenBSD, are forking XFree86 from version 4.4 RC2, the last version under the old license.
Forks of XFree86
Keith Packard 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, hosted by freedesktop.org. Xserver uses the Kdrive API driver model. The authors intend it to be the next generation of X server, following a different direction to XFree86.
The XOrg Foundation Open Source Public Implementation of X11
The XOrg Foundation Open Source Public Implementation of X11 is the official reference implementation of X11, produced by X.Org. The first version, X11R6.7.0, is a fork from XFree86 version 4.4 RC2, with X11R6.6 changes merged in. Now it's at version X11R6.8.1, which adds plenty of new extensions, drivers and fixes. It is not encumbered by the license changes mentioned earlier. It is also hosted by freedesktop.org. The XOrg Server has been adopted by Fedora Core, Slackware, Mandrake Linux, Gentoo Linux, and FreeBSD 5.
An experimental branch of the XFree86 server code, Xouvert, has also been announced, although this has shown no recent activity.
- Project home page
- Sample XFree86 configuration files
- The means to an X for Linux: an interview with David Dawes from XFree86.org (Matthew Arnison, June 1999)
- X Marks the Spot: Looking back at X11 Developments of Past Year (Oscar Boykin, OSNews 25 Feb 2004) — the licensing controversy and forks
- Keith Packard's Xserver project at freedesktop.org
- The XOrg Foundation Open Source Public Implementation of X11
- Some perspective from the cheap seats ... (David Wexelblat, 20 March 2003) — on why Keith Packard was sacked from the core team]
- A Call For Open Governance Of X Development (Keith Packard, 21 March 2003)
- XFree86 dust-up questions X11 model (Andrew Orlowski, The Register, 21 March 2003)