| Développé par | Fondation X.Org |
|---|---|
| Première version | le 9 avril 2004 |
| Dernière version | 21.1.25 () |
| Dépôt | gitlab.freedesktop.org/xorg/xserver |
| Écrit en | C |
| Système d'exploitation | GNU/Linux et BSD |
| Environnement | UNIX |
| Type | Système de fenêtrage |
| Licence | X11 |
| Site web | x.org |

X.Org est un serveur X libre issu d'un fork de XFree86 en à 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.
XFree86 était à l'origine sous licence MIT. En , 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.
La première version est sortie le 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 . 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 , 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 , 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 , 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 , 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 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 et intègre Xserver 1.7 ainsi que MPX pour la gestion des pointeurs multiples. Le serveur X.org ne dépend plus de HAL (sur les systèmes GNU/Linux, Xserver s'appuie donc directement sur la bibliothèque libudev).
La version 7.6 de X.Org est sortie le . Les répertoires de configuration de X.Org sont utilisés pour permettre à la configuration du serveur X d'être scindée en plusieurs fichiers individuels. La configuration des périphériques d'entrée est maintenant fournie dans des sections InputClass séparées. udev est maintenant utilisé par le serveur X sur les systèmes GNU/Linux pour la découverte des périphériques d'entrée et les notifications de branchement à chaud. D'autres plateformes continuent à utiliser la HAL pour ces tâches pour le moment. La bibliothèque en langage C contenant les fonctions du protocole X (XCB) est maintenant incluse dans ce que les développeurs appellent le « katamari » (fusion du code source des différents modules en un seul ensemble), et est requise par plusieurs modules côté client, dont libX11, xlsatoms, xlsclients et xwininfo. XCB est un remplacement de la Xlib avec un faible encombrement, une latence réduite, un accès direct au protocole X11, une amélioration du support des threads et une extensibilité plus simple à implémenter.
La version 7.7 de X.Org est sortie le avec initialement Xserver 1.10. Elle apporte le support des évènements multi-touches (sur touchpads et écrans tactiles), une extension de Xinput pour améliorer la fluidité des défilements, une modernisation de la documentation (conversion vers DocBook XML depuis plusieurs formats différents), le support préliminaire de GLX et XKB dans la bibliothèque XCB.
| Version | Date de sortie | Version X11 | Principaux changements |
|---|---|---|---|
| X11R6.7.0 | |||
| X11R6.8.0 | Transparence et ombrage | ||
| X11R6.8.1 | |||
| X11R6.8.2 | |||
| 1.0 | X11R6.9 X11R7 | Gestion du « multisiège », intégration de EXA. Compilation modulaire pour la version 7.0 | |
| 1.1 | X11R7.1 | Intégration de AIGLX et de KDrive, amélioration de EXA | |
| 1.2 | X11R7.2 | Intégration de XCB… | |
| 1.3 | RandR 1.2 | ||
| 1.4 | X11R7.3 | Support du branchement à chaud des périphériques | |
| 1.5 | X11R7.4 | MPX | |
| 1.6 | RandR 1.3, DRI2, XInput 1.5 | ||
| 1.7 | X11R7.5 | XInput 2.0, MPX… | |
| 1.8 | Répertoires xorg.conf.d, gestion des entrées avec udev… | ||
| 1.9 | X11R7.6 | Remplacement de HAL par uDev, intégration du XCB dans le Katamari... | |
| 1.10 | X Synchronisation Fences… | ||
| 1.11 | |||
| 1.12 | X11R7.7 | XInput 2.2 avec support multi-touches | |
| 1.13 | Nouvelle API de pilotes DDX, RandR 1.4, suppression de XAA… | ||
| 1.14 | XInput 2.3 | ||
| 1.15 | DRI3 | ||
| 1.16 | XWayland DDX, accélération GLAMOR, support de périphériques non PCI, support de systemd-logind… | ||
| 1.17 | Intégration de l'ancien pilote DRM/KMS générique xf86-video-modesetting, ajout du support DRI2 pour GLAMOR… | ||
| 1.18 | RandR 1.5 | ||
| 1.19 | Synchronisation PRIME, confinement du pointeur XWayland… | ||
| 1.20 | Amélioration du système de construction Meson, support de pilotes OpenGL distincts pour chaque écran X grâce à GLXVND, amélioration du support Steam VR avec RandR… | ||
| 21.1 | Système de construction Meson pris en charge par les Autotools, support du taux de rafraîchissement variable, XInput 2.4 |
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 :
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.
Les pilotes propriétaires posent des problèmes :
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 que ses pilotes pour les chipsets i965 seraient développés sous licence GNU GPL avec la communauté freedesktop.org.
La fondation X.Org est le représentant légal du projet et en assure la gouvernance.
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.
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.