XFree86
Encyclopedia
XFree86 is an implementation of the X Window System
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 NetBSD
NetBSD
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 libraries
Library (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 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....

, 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 License
MIT 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.org
Freedesktop.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

  • DirectFB
    DirectFB
    DirectFB 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 logfile
    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
    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
    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

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK