XFree86 is an implementation of the X Window System . It was originally written for Unix-like operating systems on IBM PC compatibles and is now available for many other operating systems and platforms. It is free and open source software under the XFree86 License version 1.1. It is developed by the XFree86 Project, Inc.; the lead developer is David Dawes. The current version is 4.6.0.
For most of the 1990s and early 2000s, the project was the source of most innovation in X and was the de facto steward of X development. Until early 2004, it was almost universal on Linux and the BSDs. In February 2004 with version 4.4.0 it adopted a license change that the Free Software Foundation considered GPL incompatible.
Most Linux distributions found the potential legal issues from linking GPL software with the new versions of the XFree86 libraries unacceptable and made plans to move to a fork from before the license change. At first there were multiple forks but the X.Org fork soon took over as the dominant one. Most of the developers who were already annoyed at other issues in the project also moved to X.org.
The XFree86 server communicates with the host operating system's 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.
Since version 4.0, XFree86 has supported (some) accelerated 3D graphics cards via the GLX and DRI extensions.
Because the server usually needs low level access to graphics hardware, on many configurations it needs to run as the superuser, or a user with UID 0. However, on some systems and configurations it is possible to run the server as a normal user.
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 used to include a configuration tool that was easier to use (such as Debian's debconf) or autodetected most (if not all) settings (Red Hat Linux and Fedora Core's Anaconda, SuSE's YaST and Mandrake Linux used to choose this path).
As Linux grew in popularity, XFree86 rose with it, as the main X project with drivers for PC video cards.
By the late 1990s, official X development was moribund Most technical advancement was happening in the XFree86 project. In 1999, XFree86 was sponsored onto X.Org (the official industry consortium) by various hardware companies [http://slashdot.org/article.pl?sid=99/12/01/1342251&tid=104 interested in its use with Linux and its status as the most popular version of X.
By 2003, while Linux's popularity, and hence the installed base of X, surged, X.Org was all but inactive and active development was largely carried out by XFree86. However, there was considerable dissent within XFree86. It was perceived as far too cathedral-like in its development model; developers were unable to get CVS commit access patches *." target="_blank" >In March, long-term contributor Keith Packard was ejected from the Core Team with considerable ill-feeling *" target="_blank" >[http://www.xfree86.org/pipermail/forum/2003-April/003016.html. The Core Team claimed 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 had been his aim.
Many projects relying on X found the new license unacceptable — the Free Software Foundation in particular as they held it to be incompatible with the GNU General Public License OpenBSD, forked XFree86 from version 4.4 RC2, the last version under the old license. (OpenBSD later adopted the X.Org Server [http://marc.theaimsgroup.com/?l=openbsd-tech&m=109945283014871&w=2" target="_blank" >*.)
Currently, NetBSD still uses XFree86 as its default X server, heavily customised for the operating system's wide cross-platform support, although it plans to migrate to the modular X.Org after the next release. FreeBSD uses the X.org server and provides XFree86 as an alternative X server. Debian Sarge (the current stable branch of that distribution) still uses a pre-split version of XFree86 but its successor Etch will come with Xorg. No other major operating system or Linux distribution currently ships with XFree86 by default.
Most of the open-source Unix-like operating systems have adopted the X.Org Server in place of XFree86, and most of the XFree86 developers moved to X.Org *.
| Version | Release date | Most important changes |
|---|---|---|
| X386 1.1 | 1990? | First version by Thomas Roell, ported from X11R4. |
| X386 1.2 | August 29, 1991 | Included with X11R5. |
| X386 1.2e 0.0 | May 7, 1992 | First pre-XFree86 code by eventual team members. |
| XFree86 1.0m | September 2, 1992 | First version named "XFree86". |
| XFree86 2.0 | October 1993 | |
| XFree86 2.1 | March 11, 1994 | |
| XFree86 2.1.1 | May 4, 1994 | Last version based on X11R5. |
| XFree86 3.0 | August 26, 1994 | Release for X11R6. |
| XFree86 3.1 | September 29, 1994 | |
| XFree86 3.2 | October 26, 1996 | |
| XFree86 3.2.1 | 1996 | |
| XFree86 3.3 | 30 May 1997 | XFree86 Acceleration Architecture (XAA) |
| XFree86 3.3.1 | 8 August 1997 | |
| XFree86 3.3.2 | 24 May 1998 | |
| XFree86 3.3.3 | 30 December 1998 | |
| XFree86 3.3.3.1 | 30 December 1998 | |
| XFree86 3.3.4 | 21 June 1999 | |
| XFree86 3.3.5 | 17 August 1999 | |
| XFree86 3.3.6 | December 31, 1999 | Last 3.x version. |
| XFree86 4.0 | March 8, 2000 | Complete new architecture. X11R6.4 included. |
| XFree86 4.0.1 | June 30, 2000 | XRender |
| XFree86 4.0.2 | December 18, 2000 | |
| XFree86 4.0.3 | March 16, 2001 | |
| XFree86 4.0.4 | 2001 | |
| XFree86 4.1.0 | June 2, 2001 | |
| XFree86 4.2.0 | January 18, 2002 | |
| XFree86 4.2.1 | September 3, 2002 | |
| XFree86 4.3.0 | February 26, 2003 | |
| XFree86 4.4.0 | February 29, 2004 | First version under XFree86 License 1.1. |
| XFree86 4.5.0 | March 16, 2005 | |
| XFree86 4.6.0 | May 10, 2006 | |
Free windowing systems | X servers
XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86 | XFree86