XFree86 is an implementation of the
X Window SystemThe X Window System is a computer software system and network protocol that provides a graphical user interface for networked computers, and was initially developed as part of Project Athena...
. It was originally written for
Unix-likeA 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 systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
s on
IBM PC compatibleIBM 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
freeFree 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 minimal restrictions only to ensure that further recipients can also...
and
open sourceOpen source is an approach to the design, development, and distribution of software, offering practical accessibility to a software's source code. Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations...
software under the XFree86 License version 1.1. It is developed by the XFree86 Project, Inc. The lead developer is
David DawesDavid 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.
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.
XFree86 is an implementation of the
X Window SystemThe X Window System is a computer software system and network protocol that provides a graphical user interface for networked computers, and was initially developed as part of Project Athena...
. It was originally written for
Unix-likeA 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 systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
s on
IBM PC compatibleIBM 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
freeFree 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 minimal restrictions only to ensure that further recipients can also...
and
open sourceOpen source is an approach to the design, development, and distribution of software, offering practical accessibility to a software's source code. Some consider open source as one of various possible design approaches, while others consider it a critical strategic element of their operations...
software under the XFree86 License version 1.1. It is developed by the XFree86 Project, Inc. The lead developer is
David DawesDavid 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.
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
LinuxLinux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed,...
and the
BSDBerkeley Software Distribution is the 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 FoundationThe 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 distribute and modify computer software...
considered
GPLThe GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project....
incompatible. Most
Linux distributionA Linux distribution is a member of the family of Unix-like software distributions built on top of the Linux kernel. Such distributions consist of a large collection of software applications such as word processors, spreadsheets, media players and database applications...
s found the potential legal issues unacceptable and made plans to move to a fork from before the license change. The first fork was the abortive Xouvert, but
X.Org ServerThe X.Org Server is the X server in the official reference implementation of the X Window System. The current stable release is 1.7, which is part of X11R7.5, and was released on 2 October 2009...
soon became dominant. Most XFree86 developers, who were already annoyed at other issues in the project, also moved to X.Org.
Architecture
XFree86 consists of client
librariesIn computer science, a library is a collection of subroutines or classes used to develop software. Libraries contain code and data that provide services to independent programs. This allows the sharing and changing of code and data in a modular fashion. Some executables are both standalone programs...
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 systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
'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
GLXGLX provides the binding 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
DRIIn 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
superuserOn many computer operating systems, the superuser, or root, is a special user account used for system administration.Many older operating systems on computers intended for personal and home use, including MS-DOS and Windows 9x, do not have the concept of multiple accounts and thus have no separate...
, or a user with
UIDUID may refer to:* Unique identifier for a specific User of a computer system* Universal Instructional Design, an educational method that tries to deliver teaching to meet the needs of wide variety of learners....
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 deviceThe Linux framebuffer is a graphic hardware-independent abstraction layer to show graphics on a console without relying on system-specific libraries such as SVGALib or the heavy overhead of the X Window System...
, which in turn uses a kernel graphics card driver.
On a typical
POSIXPOSIX or "Portable Operating System Interface [for Unix"] is the name of a family of related standards specified by the IEEE to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, although the...
-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
screenA monitor or display is a piece of electrical equipment which displays images generated by devices such as computers, without producing a permanent record. The monitor comprises the display device, circuitry, and an enclosure...
(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
DebianDebian is a computer operating system composed of software packages released as free and open source software especially under the GNU General Public License and other open source licenses. The primary form, Debian GNU/Linux, which uses the Linux kernel and GNU OS tools, is a popular and...
's
debconfdebconf 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 LinuxRed 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
FedoraFedora is an RPM-based, general purpose operating system built on top of the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
's
AnacondaAnaconda is the installer for Red Hat Linux and Fedora. It is written in Python and C, with a graphical frontend using PyGTK and a text frontend using python-newt...
,
SuSE's
YaST and Mandrake Linux used to choose this path).
Early history and naming
The project began in 1992 when David Wexelblat, Glenn Lai,
David DawesDavid 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....
and Jim Tsillas joined forces addressing bugs in the source code of the
X386X386 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 contributed to X11R5. This version was initially called
X386 1.2E. As newer versions of the (originally freeware) X386 were being sold under a
proprietary softwareProprietary software is any computer software with restrictions on use or private modification, or with restrictions judged to be excessive on copying or publishing of modified or unmodified versions. The term proprietary software is thus the opposite of free software, generally speaking...
license by SGCS (of which Roell was a partner), confusion existed between the projects. After discussion, the project was renamed X
Free86, as a pun (compare X-three-eighty-six to X-free-eighty-six). Roell has continued to sell proprietary X servers, most recently under the name
Accelerated-XAccelerated-X is a proprietary port of the X Window System to Intel x86 machines.-History:The Accelerated-X server is built on top of the X386 X server that was created by Thomas Roell for X11 Release 5...
.
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.
2003: dissent within the project
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
cathedralThe 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...
-like in its development model: developers were unable to get
CVSThe Concurrent Versions System , also known as the Concurrent Versioning System, is a 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 to collaborate...
commit access and vendors had to maintain extensive
patchA 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 . In March, long-term contributor
Keith PackardKeith 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...
was ejected from the Core Team with considerable ill-feeling .
The Core Team claimed that Keith 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 of his own making. Packard denied this had been his aim.
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 on December 30, 2003 to disband itself, effective the following day.
2004: Licensing controversy
Versions of XFree86 up to and including some release candidates for 4.4.0 were under the
MIT LicenseThe MIT License is a free software license originating at the Massachusetts Institute of Technology , used by the MIT X Consortium.It is a permissive license, meaning that it permits reuse within proprietary software on the condition that the license is distributed with that software...
, a permissive, non-
copyleftCopyleft is a play on the word copyright to describe the practice of using copyright law to remove restrictions on distributing copies and modified versions of a work for others and requiring that the same freedoms be preserved in modified versions....
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.
Many projects relying on XFree86 found the new license unacceptable, and the
Free Software FoundationThe 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 distribute and modify computer software...
considers it incompatible with the version 2 of the
GNU General Public LicenseThe GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project....
, but compatible with version 3. The XFree86 Project states that the license is "as GPL compatible as any and all previous versions were", but does not mention which version or versions of the GPL this is valid for.
Some projects made releases (notably
OpenBSDOpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
3.5 and 3.6, and
DebianDebian is a computer operating system composed of software packages released as free and open source software especially under the GNU General Public License and other open source licenses. The primary form, Debian GNU/Linux, which uses the Linux kernel and GNU OS tools, is a popular and...
3.1 "Sarge") based on XFree86 version 4.4 RC2, the last version under the old license. Most operating systems incorporating XFree86 (including later versions of OpenBSD and Debian) migrated to the X.Org Server.
Xouvert
The first announced fork was Xouvert, in August 2003. This did not go far beyond the announcement, but provoked the XFree86 licence change.
X.Org
The
X.Org Server became the official
reference implementationIn computing, a reference implementation is a software example of a specification. These are intended to help others implement their own version of the specification or find problems during the creation of a specification...
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
freedesktop.orgfreedesktop.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 moved to X.Org .
Release history
| Version |
Release date |
Most important changes |
| 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 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 The X Rendering Extension is an X Window System extension to implement Porter-Duff image compositing in the X server.- History :It was written by Keith Packard in 2000 and was first released with XFree86 version 4.0.1....
|
| 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 |
|
| XFree86 4.7.0 |
August 12, 2007 |
|
| XFree86 4.8.0 |
December 15, 2008 |
|
See also
- DirectFB
DirectFB stands for Direct Frame Buffer. It is a software library for the GNU/Linux operating system that provides "hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux...
- XFree86 logfile
The 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 Modeline
A 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...
- XF86Config
The 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....
External links