Wayland es un protocolo de comunicación que especifica la comunicación entre un servidor de visualización y sus clientes, así como una implementación de biblioteca C de ese protocolo. [8] Un servidor de visualización que utiliza el protocolo Wayland se denomina compositor de Wayland porque, además, realiza la tarea de un administrador de ventanas de composición .
Wayland es desarrollado por un grupo de voluntarios liderado inicialmente por Kristian Høgsberg como un proyecto impulsado por la comunidad libre y de código abierto con el objetivo de reemplazar el sistema X Window con un moderno, seguro, [9] [10] [11] [12 ] y un sistema de ventanas más simple para Linux y otros sistemas operativos similares a Unix . [8] [13] El código fuente del proyecto se publica bajo los términos de la Licencia MIT , una licencia permisiva de software libre . [13] [5]
Como parte de sus esfuerzos, el proyecto Wayland también desarrolla una implementación de referencia de un compositor de Wayland llamado Weston . [8]
A partir de 2010, los gráficos de escritorio de Linux pasaron de tener "un montón de interfaces de renderizado ... todas hablando con el servidor X , que está en el centro del universo" a poner el kernel de Linux y sus componentes (es decir, la infraestructura de renderizado directo ( DRI) , Direct Rendering Manager (DRM) ) "en el medio", con "sistemas de ventanas como X y Wayland... en la esquina". Este será "un sistema de gráficos mucho más simplificado que ofrece más flexibilidad y mejor rendimiento". [15]
Høgsberg podría haber agregado una extensión a X como lo han hecho muchos proyectos recientes, pero prefirió "[empujar] X fuera del camino entre los clientes y el hardware" por las razones explicadas en las preguntas frecuentes del proyecto: [13 ]
Lo que es diferente ahora es que mucha infraestructura se ha movido del servidor X al kernel (administración de memoria, programación de comandos, configuración de modo ) o bibliotecas ( cairo , pixman, freetype , fontconfig , pango , etc.), y hay muy poca izquierda que tiene que suceder en un proceso de servidor central. ... [Un servidor X tiene] una gran cantidad de funciones que debe admitir para afirmar que habla el protocolo X, pero nadie lo usará jamás. ... Esto incluye tablas de códigos, rasterización y almacenamiento en caché de glifos, XLFD(¡en serio, XLFD!), y toda la API de representación central que le permite dibujar líneas punteadas, polígonos, arcos anchos y muchas más primitivas gráficas de estilo de los años 80. Por muchas cosas hemos podido mantener el servidor X.org moderno agregando extensiones como XRandR , XRender y COMPOSITE ... Con Wayland podemos mover el servidor X y toda su tecnología heredada a una ruta de código opcional. Llegar a un punto en el que el servidor X sea una opción de compatibilidad en lugar del sistema de renderizado central llevará un tiempo, pero nunca llegaremos allí si no lo planeamos.