![](http://image.absoluteastronomy.com/images//topicimages/x/xf/xfree86.gif)
XFree86
Encyclopedia
XFree86 is an implementation of the X Window System
. It was originally written for Unix-like
operating system
s on IBM PC compatible
s 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.8.0, released December 2008.
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 BSD
s.
In February 2004, with version 4.4.0, The XFree86 Project adopted a license change that the Free Software Foundation
considered GPL
incompatible
. Most Linux distribution
s found the potential legal issues unacceptable and moved to a fork from before the license change. The first fork was the abortive Xouvert, but X.Org Server
soon became dominant. Most XFree86 developers, who were already annoyed at other issues in the project, also moved to X.Org. The last CVS commit was February 2009.
, which still ships some platforms with 4.5.0 by default (though Xorg can be installed from pkgsrc).
used to write X applications ("clients"), and an X server responsible for the display. Clients and servers communicate via the X protocol, which allows them to run on different computers.
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 certain 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
's Anaconda
, SuSE's YaST and Mandrake Linux used to choose this path).
, Jim Tsillas and David Wexelblat joined forces addressing bugs in the source code of the X386
X server (written by Thomas Roell), as publicly published X11R5. This version was initially called X386 1.2E. As newer versions of the "freeware" X386 were being sold under a proprietary software
license by SGCS (of which Roell was a partner), confusion existed between the projects. After discussion, the project was renamed XFree86, after group discussion with the "86" being appended to show the processors it supported.
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 interested in its use with Linux and its status as the most popular version of X.
XFree86 used to have a Core Team which was made up of experienced developers, selected by other Core Team members for their merits. Only the members of this Core Team were allowed to commit to CVS
. This was perceived as far too cathedral
-like in its development model: developers were unable to get commit rights quickly and vendors ended up maintaining extensive patch
es.
A key event was Keith Packard
losing his commit rights. Hours before the feature freeze window for XFree86 4.3.0 started, he committed the XFIXES
extension, without prior discussion or without review within the Core Team. The Core Team decided to remove Keith's commit access, but without removing him from the Core Team itself, and the XFIXES extension was backed out 6 weeks later.
A short time later, Keith Packard created xwin.org
, which mainly served as a meeting point for cultivating the XFree86 fork.. By the end of the year, because of the facetiousness of the Packard Fork, the XFree86 Core Team voted to disband itself so that member could work on their own versions of X without having to work within the Core or XFree86 umbrella.
, a permissive, non-copyleft
free software license. XFree86 4.4 was released in February 2004 with a change to the license: the addition of a credit clause, similar to that in the original BSD license, but broader in scope.
.
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 because of their employment have moved to corporate sponsored X.Org.
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
. It was originally written for Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s on IBM PC compatible
IBM PC compatible
IBM PC compatible computers are those generally similar to the original IBM PC, XT, and AT. Such computers used to be referred to as PC clones, or IBM clones since they almost exactly duplicated all the significant features of the PC architecture, facilitated by various manufacturers' ability to...
s and is now available for many other operating systems and platforms. It is free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
software under the XFree86 License version 1.1. It is developed by the XFree86 Project, Inc. The lead developer is David Dawes
David Dawes
David Dawes , is one of the founders of the XFree86 project. He was one of four people who started it in 1992 , and became the project president in 1994....
. The current version is 4.8.0, released December 2008.
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
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and the BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
s.
In February 2004, with version 4.4.0, The XFree86 Project adopted a license change that the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
considered GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
incompatible
License compatibility
License compatibility refers to the problem with licenses applied to works subject to copyright, particularly licenses of software packages, which can contain contradictory requirements, rendering it impossible to combine source code from such packages or content from such works in order to create...
. Most Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
s found the potential legal issues unacceptable and moved to a fork from before the license change. The first fork was the abortive Xouvert, but X.Org Server
X.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...
soon became dominant. Most XFree86 developers, who were already annoyed at other issues in the project, also moved to X.Org. The last CVS commit was February 2009.
Usage
XFree86 is used in almost no distributions. The last remaining distribution to use it is NetBSDNetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
, which still ships some platforms with 4.5.0 by default (though Xorg can be installed from pkgsrc).
Architecture
XFree86 consists of client librariesLibrary (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
used to write X applications ("clients"), and an X server responsible for the display. Clients and servers communicate via the X protocol, which allows them to run on different computers.
The XFree86 server communicates with the host operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer 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 certain accelerated 3D graphics cards via the GLX
GLX
GLX provides the interface connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System.-History:...
and DRI
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...
extensions.
Because the server usually needs low level access to graphics hardware, on many configurations it needs to run as the superuser
Superuser
On many computer operating systems, the superuser is a special user account used for system administration. Depending on the operating system, the actual name of this account might be: root, administrator or supervisor....
, 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
Linux framebuffer
The Linux framebuffer is a graphic hardware-independent abstraction layer to show graphics on a computer monitor, typically on the console...
, which in turn uses a kernel graphics card driver.
On a typical POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
-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
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...
(monitor), keyboard
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...
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
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
's debconf
Debconf (software package)
debconf is a software utility for performing system-wide configuration tasks on Unix-like operating systems. It is developed for the Debian GNU/Linux distribution, and is closely integrated with Debian's package management system, dpkg....
) or autodetected most (if not all) settings (Red Hat Linux
Red Hat Linux
Red Hat Linux, assembled by the company Red Hat, was a popular Linux based operating system until its discontinuation in 2004.Red Hat Linux 1.0 was released on November 3, 1994...
and Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
's Anaconda
Anaconda installer
Anaconda is the installer for Red Hat Enterprise Linux and Fedora.Anacondas are lizard-eating snakes , and the Caldera installation program was called “Lizard”, hence the name.- Functionality :...
, SuSE's YaST and Mandrake Linux used to choose this path).
Early history and naming
The project began in 1992 when Glenn Lai, David DawesDavid Dawes
David Dawes , is one of the founders of the XFree86 project. He was one of four people who started it in 1992 , and became the project president in 1994....
, Jim Tsillas and David Wexelblat joined forces addressing bugs in the source code of the X386
X386
X386 was the first implementation of the X Window System for IBM PC compatible computers. It ran on systems with Intel 386 or later processors, running Unix System V-based operating systems, and supported a variety of VGA-compatible graphics cards. X386 was created by Thomas Roell while at...
X server (written by Thomas Roell), as publicly published X11R5. This version was initially called X386 1.2E. As newer versions of the "freeware" X386 were being sold under a proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
license by SGCS (of which Roell was a partner), confusion existed between the projects. After discussion, the project was renamed XFree86, after group discussion with the "86" being appended to show the processors it supported.
Rise with Linux
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 interested in its use with Linux and its status as the most popular version of X.
2002: growing dissent within the project
By 2002, while Linux's popularity, and hence the installed base of X, surged, X.Org was all but inactive; active development was largely carried out by XFree86. However, there was considerable dissent within XFree86.XFree86 used to have a Core Team which was made up of experienced developers, selected by other Core Team members for their merits. Only the members of this Core Team were allowed to commit to CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
. This was perceived as far too cathedral
The Cathedral and the Bazaar
The Cathedral and the Bazaar is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. It examines the struggle between top-down and bottom-up design...
-like in its development model: developers were unable to get commit rights quickly and vendors ended up maintaining extensive patch
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...
es.
A key event was Keith Packard
Keith Packard
Keith Packard is a software developer, best known for his work on the X Window System.Packard is responsible for many X extensions and technical papers on X...
losing his commit rights. Hours before the feature freeze window for XFree86 4.3.0 started, he committed the XFIXES
XFixes
In computing, XFixes is an X Window System extension which makes useful additions to the X11 protocol. It was started in 2003 by Keith Packard. It first appeared in the KDrive X server and later in X.Org Server version 6.8.0....
extension, without prior discussion or without review within the Core Team. The Core Team decided to remove Keith's commit access, but without removing him from the Core Team itself, and the XFIXES extension was backed out 6 weeks later.
2003: The fork and the disbanding of the Core Team
In March, a major developer claimed that Keith Packard, also a Core Team member, had been trying to fork the XFree86 project by working inside the project while trying to attract core developers to a new X Server project that he was not sharing with the Core Team. Packard denied this had been his aim, but emails release showed otherwise.A short time later, Keith Packard created xwin.org
XWin
Keith Packard started the XWin project in 2003 in order to provide forums for collaborative and co-operative discussion between X developers, X end-users, and potential developers. Due to misleading media reports from news sites such as Slashdot and others, the public gained the incorrect...
, which mainly served as a meeting point for cultivating the XFree86 fork.. By the end of the year, because of the facetiousness of the Packard Fork, the XFree86 Core Team voted to disband itself so that member could work on their own versions of X without having to work within the Core or XFree86 umbrella.
2004: Licensing controversy
Versions of XFree86 up to and including some release candidates for 4.4.0 were under the MIT LicenseMIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...
, a permissive, non-copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...
free software license. XFree86 4.4 was released in February 2004 with a change to the license: the addition of a credit clause, similar to that in the original BSD license, but broader in scope.
Xwin
Shortly after he was expelled from the XFree86 Core Team, Keith Packard started setting up xwin.org. While this was claimed to be the fork of XFree86, Keith Packard later refined this to "a forum for community participation in X". Xwin saw a lot of activity in the first two months after the announcements, but most of the activity was happening behind the scenes, and Keith moved his own development to freedesktop.org.Xouvert
Xouvert was later also hailed as the first XFree86 fork in August 2003. Even though releases were announced for October 2003 and April 2004, no releases were made. The last status change was made in March 2004 and it was communicated that there were delays in setting up a revision control system.X.Org
The X.Org Server became the official reference implementation of X11. The first version, X11R6.7.0, was forked from XFree86 version 4.4 RC2 to avoid the XFree86 license changes, with X11R6.6 changes merged in. Version X11R6.8 added many new extensions, drivers and fixes. It is hosted by and works closely with corporate-sponsored freedesktop.orgFreedesktop.org
freedesktop.org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000.The organisation focuses on the user....
.
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 because of their employment have moved to corporate sponsored X.Org.
Release history
Version | Release date | Most important changes |
---|---|---|
X386 X386 X386 was the first implementation of the X Window System for IBM PC compatible computers. It ran on systems with Intel 386 or later processors, running Unix System V-based operating systems, and supported a variety of VGA-compatible graphics cards. X386 was created by Thomas Roell while at... 1.1 |
February 11, 1991 | First version by Thomas Roell, based on 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 | May 30, 1997 | XFree86 Acceleration Architecture XFree86 Acceleration Architecture In the X Window System, XFree86 Acceleration Architecture is a driver architecture to make a video card's 2D hardware acceleration available to the X server. It was written by Harm Hanemaayer in 1996 and first released in XFree86 version 3.3. It was completely rewritten for XFree86 4.0.Most... (XAA) |
XFree86 3.3.1 | August 8, 1997 | |
XFree86 3.3.2 | May 24, 1998 | |
XFree86 3.3.3 | December 30, 1998 | |
XFree86 3.3.3.1 | December 30, 1998 | |
XFree86 3.3.4 | June 21, 1999 | |
XFree86 3.3.5 | August 17, 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 XRender The X Rendering Extension is an X Window System extension to implement Porter-Duff image compositing in the X server, to allow efficient display of transparent images.- History :... |
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 RC2 | ? | Forked to X.Org Server X.Org Server X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants... |
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 | |
XFree86 4.7.0 | August 12, 2007 | |
XFree86 4.8.0 | December 15, 2008 | |
See also
- DirectFBDirectFBDirectFB stands for Direct Frame Buffer. It is a software library for GNU/Linux/Unix-based operating systems with a small memory footprint that provides graphics acceleration, input device handling and abstraction layer, and integrated windowing system with support for translucent windows and...
- XFree86 logfileXFree86 logfileThe XFree86 logfile is a text file, written by the XFree86 program, and designed to be useful for people who are trying to diagnose problems they are having with getting XFree86 to work....
- XFree86 ModelineXFree86 ModelineA modeline is a configuration line in xorg.conf or the XFree86 configuration file that provides information to the X server about a connected computer monitor or television and how to drive it at a specified display resolution...
- XF86ConfigXF86ConfigThe configuration file XF86Config of the XFree86 project is used by the X server to set necessary configuration parameters.It is a plain text file ordered into sections and subsections....