# X.Org

X.Org est un serveur X libre issu d'un fork de XFree86 en janvier 2004 à la suite d'un désaccord sur le changement de licence de XFree86. Il fonctionne avec la plupart des systèmes d'exploitation de type UNIX (GNU/Linux, dérivés de BSD, Solaris, etc.), mais aussi avec Microsoft Windows via Cygwin. Du fait de sa licence, il connaît une grande popularité au sein de la communauté du logiciel libre où il a remplacé XFree86.
La gouvernance du projet est assurée par la fondation X.Org, laquelle réalise à la fois les développements en conjonction avec la communauté Freedesktop.org tout en veillant à la cohérence de l'ensemble de ses projets.

## Changement de licence et dérivés
### Changement de licence de XFree86

XFree86 était à l'origine sous licence MIT. En janvier 2004, XFree86 4.4 voit sa licence changer pour une licence proche des premières licences BSD (avec une clause de citation d'auteur) en moins permissive. La Free Software Foundation considère que cette licence est incompatible avec la Licence publique générale GNU version 2 mais compatible avec la version 3, si bien que beaucoup de projets et de développeurs ont suivi le fork X.Org.

### Dérivés Xenocara, Xgl et AIGLX

Xenocara, apparu en 2006 sur OpenBSD, est un serveur X basé sur X.Org 7.1.
Xgl, apparu également en 2006, est un serveur X basé sur X.Org et recourant à OpenGL.
AIGLX a été développé en réaction à Xgl. Il s'appuie sur X.Org pour proposer une accélération matérielle via OpenGL. AIGLX a été fusionné avec le projet X.Org à partir de la version 7.1 de ce dernier.

## Historique des versions

La première version est sortie le 6 avril 2004 sous le nom X11R6.7.0. Elle est basée sur XFree86 4.4RC2 juste avant le changement de licence. Un bon nombre de développeurs de XFree86 se sont joints au projet. Vient ensuite la version X11R6.8 qui ajoute le support de la transparence et de l'ombrage.
X11R6.9 et X11R7 sortent simultanément le 21 décembre 2005. Les deux versions offrent les mêmes fonctionnalités, mais la version 7.0 apporte un système de compilation modulaire (avec GNU Autotools). Parmi les nouveautés, citons la gestion du « multisiège », permettant de faire fonctionner plusieurs postes de travail complets (clavier, écran, souris) sur un même ordinateur, et l'implémentation du procédé d'accélération EXA (désactivé par défaut cependant).
La version 7.1 arrive le 22 mai 2006, quatre mois après la version 7.0 et intègre notamment AIGLX. Depuis la sortie de cette version, la branche 6.* n'est maintenue que pour des mises à jour de sécurité.
La version 7.2, sortie le 15 février 2007, apporte l'autoconfiguration, et une meilleure intégration des gestionnaires de fenêtres utilisant openGL comme Compiz et Beryl.
La version 7.3, sortie le 6 septembre 2007, intègre Xserver 1.4 et ajoute, entre autres, le support du Input hotplug, permettant ainsi de se passer dans la majorité des cas de fichier de configuration.
La version 7.4, sortie le 23 septembre 2008, intègre Xserver 1.5.1 qui inclut de nombreuses améliorations dans le support de EXA.
Dans l'intervalle, Xserver 1.6 sortie le 25 février 2009 intègre DRI2 dans le cadre de l'effort réalisé pour mettre à jour l'architecture de rendu de Xserver qui avait fini par être dépassée.
La version 7.5 de X.Org est sortie le 26 octobre 2009 et intègre Xserver 1.7 ainsi que MPX pour la gestion des pointeurs multiples.
La version 7.6 de X.org est sortie le 20 décembre 2010. Les répertoires configuration de Xorg sont utilisés pour permettre des fragments de la configuration du serveur X pour être livrés dans des fichiers individuels. Les fichiers IDE sont maintenant fournis dans les sections InputClass. udev est maintenant utilisé par le serveur X sur les systèmes GNU/Linux pour la découverte de périphérique d'entrée et de hot-plug notification. D'autres plateformes continuent à utiliser le cadre de HAL pour ces tâches pour le moment. le protocole X en langage C de reliure (XCB) est maintenant inclus dans le katamari, et est tenu par plusieurs modules côté client, y compris libX11, xlsatoms, xlsclients et xwininfo. XCB est un remplacement de la Xlib avec un faible encombrement, se cachant de latence, accès direct au protocole, amélioration du support des threads et l'extensibilité.
Le serveur X.org ne dépend plus de HAL (sur les systèmes GNU/Linux, X Server s'appuie donc directement sur la bibliothèque libudev).
Xserver 1.15 sortie le 27 décembre 2013 intègre DRI3.
| Version | Date de sortie | Principaux changements |
| X11R6.7.0 | 6 avril 2004 | |
| X11R6.8.0 | 8 septembre 2004 | Transparence et ombrage |
| X11R6.8.1 | 17 septembre 2004 | |
| X11R6.8.2 | 18 février 2005 | |
| X11R6.9 X11R7 | 21 décembre 2005 | Gestion du « multisiège », intégration de EXA. Compilation modulaire pour la version 7.0 |
| X11R7.1 | 22 mai 2006 | Intégration de AIGLX et de KDrive, amélioration de EXA |
| X11R7.2 | 15 février 2007 | Intégration de XCB… |
| X11R7.3 | 6 septembre 2007 | Input hotplug et RandR 1.2 |
| X11R7.4 | 23 septembre 2008 | |
| X11R7.5 | 26 octobre 2009 | XServer 1.7, DRI2, MPX… |
| X11R7.6 | 20 décembre 2010 | Remplacement de HAL par uDev, intégration du XCB dans le Katamari... |
| X11R7.7 | 6 juin 2012 | Sync extension 3.1, Xi 2.2 prise en charge des clics simultanés, XFixes 5.0 |

## Transition avec Wayland

Wayland, autre système de fenêtrage, tend à être livré conjointement avec X.Org sur certains projets de l'environnement UNIX dès la seconde moitié des années 2010 :
* En 2016, l'environnement de bureau GNOME fait de Wayland sa session par défaut.
* En novembre 2016 la version 26 de Fedora est publiée, elle fait elle aussi de Wayland sa session par défaut.
* La version 17.10 du système d'exploitation Ubuntu intègre pour la première fois à X.Org une session Wayland qui devient la session par défaut du système à partir de la version 21.04. X.Org est toujours accessible aux utilisateurs d'Ubuntu qui peuvent démarrer une session X.Org via le gestionnaire de connexion.
* En juillet 2019, la version 10 de Debian fait de Wayland la session par défaut du système.
* Le 9 octobre 2023, une requête publiée sur le dépôt GitLab de GNOME propose de franchir une première étape vers la fin du support de X.Org$^,$, ce que prévoit déjà de faire la Fedora KDE pour sa version 40 prévue pour février 2024.
Certains utilisateurs ou certains projets préfèrent en effet à l'utilisation de X.Org celle de Wayland qu'ils jugent "moderne, sécurisé et plus simple" comme l'indique la documentation de Debian, tandis que d'autres jugent que Wayland n'est pas encore assez mûr et lui préfèrent la stabilité et l'ancienneté de X.Org$^,$$^,$.
L'on peut néanmoins constater une tendance chez un nombre croissant de projets de l'environnement UNIX à délaisser progressivement leur support de X.Org.

## Pilotes propriétaires

Les pilotes propriétaires posent des problèmes :
* les spécifications des cartes ne sont pas disponibles, ainsi il est impossible de développer des pilotes libres rapidement et efficacement (depuis fin 2007 AMD/ATI publie les spécifications de ses cartes graphiques) ;
* le développement des pilotes libres se fait par tâtonnements et parfois rétro-ingénierie, ce qui est une grande perte de temps et de ressources qui pourraient être réutilisées sur d'autres projets ;
* les pilotes propriétaires ne sont pas redistribuables avec les distributions libres, ne sont pas intégrés au système, et nécessitent une installation et une configuration séparée et spécifique ;
* l'installation d'un simple pilote graphique propriétaire fait perdre tout le bénéfice d'un système entièrement libre.
Les pilotes propriétaires des cartes graphiques ATI (à partir de la version 8.8.25) et Nvidia pour Linux supportent X.Org (ainsi que XFree86).
Intel a annoncé en août 2006 que ses pilotes pour les chipsets i965 seraient développés sous licence GNU GPL avec la communauté freedesktop.org.

## Fondation X.Org

La fondation X.Org est le représentant légal du projet et en assure la gouvernance.

### XDC, la conférence des développeurs du projet

Une fois par an, les développeurs du projet sont invités à se réunir pour un tour de conférences : la X.Org Developer's Conference (en abrégé : XDC).
Ils ont également l'occasion de s'exprimer lors d'événements tiers, comme la linux.conf (organisée autour du noyau Linux) ou le FOSDEM.

### Autres projets de la fondation

La fondation distribue également de nombreux projets sur le modèle de la fondation Apache, parmi lesquels xev, un utilitaire en ligne de commande créant une fenêtre listant tous les évènements déclenchés par le clavier. Le programme permet notamment de déterminer le keycode (en) associé à la touche du clavier tapée par l'utilisateur, voire des touches spéciales comme la touche de composition ; ceci permet in fine de définir ses propres raccourcis clavier pour ses applications graphiques préférées par exemple.