Wayland es un protocolo de comunicación que especifica la comunicación entre un servidor de pantalla 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 Wayland , porque además realiza la tarea de un administrador de ventanas de composición .
Autor (es) original (es) | Kristian Høgsberg |
---|---|
Desarrollador (es) | freedesktop.org y col. |
Versión inicial | 30 de septiembre de 2008 [1] |
Lanzamiento estable | |
Repositorio | |
Escrito en | C |
Sistema operativo | oficial: Linux no oficial: NetBSD , FreeBSD , DragonFly BSD [4] |
Tipo | |
Licencia | Licencia MIT [5] [6] [7] |
Sitio web | wayland |
Wayland es desarrollado por un grupo de voluntarios inicialmente dirigido por Kristian Høgsberg como un proyecto libre y de código abierto impulsado por la comunidad con el objetivo de reemplazar el sistema X Window por un sistema moderno y seguro [9] [10] [11] [12] sistema de ventanas más simple en 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 de software libre permisiva . [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]
Descripción general
A partir de 2010, los gráficos de escritorio de Linux han pasado 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 ofrecerá más flexibilidad y mejor rendimiento". [14]
Kristian Høgsberg podría haber agregado una extensión a X como lo han hecho muchos proyectos recientes, pero prefirió "[empujar] X fuera del hotpath 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 enorme cantidad de funciones que debe admitir para afirmar que habla el protocolo X, pero nadie lo usará nunca. ... Esto incluye tablas de códigos, rasterización y almacenamiento en caché de glifos , XLFD (en serio, XLFD) y toda la API de renderización central que le permite dibujar líneas punteadas, polígonos, arcos anchos y muchos más gráficos de estilo de los años ochenta. primitivas. Para 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.
Wayland consta de un protocolo y una implementación de referencia denominada Weston . El proyecto también está desarrollando versiones de GTK y Qt que se procesan en Wayland en lugar de en X. Se espera que la mayoría de las aplicaciones obtengan soporte para Wayland a través de una de estas bibliotecas sin modificar la aplicación.
Las versiones iniciales de Wayland no han proporcionado transparencia a la red , aunque Høgsberg señaló en 2010 que la transparencia de la red es posible. [15] Se intentó como un proyecto de Google Summer of Code en 2011, pero no tuvo éxito. [16] Adam Jackson ha previsto proporcionar acceso remoto a una aplicación Wayland ya sea mediante "raspado de píxeles" (como VNC ) o haciendo que envíe un "flujo de comandos de renderizado" a través de la red (como en RDP , SPICE o X11 ). [17] A principios de 2013, Høgsberg está experimentando con la transparencia de la red utilizando un servidor proxy Wayland que envía imágenes comprimidas al compositor real. [18] [19] En agosto de 2017, GNOME vio la primera implementación de servidor VNC con raspado de píxeles de este tipo en Wayland. [20]
Arquitectura de software
Arquitectura de protocolo
El protocolo Wayland sigue un modelo cliente-servidor en el que los clientes son las aplicaciones gráficas que solicitan la visualización de búferes de píxeles en la pantalla y el servidor (compositor) es el proveedor de servicios que controla la visualización de estos búferes.
La implementación de referencia de Wayland se ha diseñado como un protocolo de dos capas: [21]
- Una capa de bajo nivel o protocolo de cable que maneja la comunicación entre procesos entre los dos procesos involucrados (cliente y compositor) y la ordenación de los datos que intercambian. Esta capa está basada en mensajes y generalmente se implementa utilizando los servicios IPC del kernel, específicamente los sockets de dominio Unix en el caso de Linux y sistemas operativos similares a Unix. [22] : 9
- Una capa de alto nivel construida sobre ella, que maneja la información que el cliente y el compositor necesitan intercambiar para implementar las características básicas de un sistema de ventanas . Esta capa se implementa como "un protocolo orientado a objetos asincrónico". [22] : 9
Mientras que la capa de bajo nivel se escribió manualmente en C , la capa de alto nivel se genera automáticamente a partir de una descripción de los elementos del protocolo almacenados en formato XML . [23] Cada vez que cambia la descripción del protocolo de este archivo XML, el código fuente C que implementa dicho protocolo se puede regenerar para incluir los nuevos cambios, lo que permite un protocolo muy flexible, extensible y a prueba de errores.
La implementación de referencia del protocolo Wayland se divide en dos bibliotecas : una biblioteca para ser utilizada por los clientes de Wayland llamada libwayland-client
y una biblioteca para ser utilizada por los compositores de Wayland llamada libwayland-server
. [22] : 57
Descripción general del protocolo
El protocolo Wayland se describe como un " protocolo orientado a objetos asincrónico ". [22] : 9 Orientado a objetos significa que los servicios ofrecidos por el compositor se presentan como una serie de objetos que viven en el mismo compositor. Cada objeto implementa una interfaz que tiene un nombre, varios métodos (llamados solicitudes ) así como varios eventos asociados . Cada solicitud y evento tiene cero o más argumentos, cada uno con un nombre y un tipo de datos . El protocolo es asíncrono en el sentido de que las solicitudes no tienen que esperar respuestas sincronizadas o ACK , evitando el tiempo de retardo de ida y vuelta y logrando un mejor rendimiento.
Los clientes de Wayland pueden realizar una solicitud (una invocación de método) en algún objeto si la interfaz del objeto admite esa solicitud. El cliente también debe proporcionar los datos requeridos para los argumentos de dicha solicitud. Esta es la forma en que los clientes solicitan servicios al compositor. El compositor, a su vez, envía información al cliente haciendo que el objeto emita eventos (probablemente también con argumentos). El compositor puede emitir estos eventos como respuesta a una determinada solicitud, o de forma asincrónica, sujeto a la ocurrencia de eventos internos (como uno de un dispositivo de entrada) o cambios de estado. Las condiciones de error también son señaladas como eventos por el compositor. [22] : 9
Para que un cliente pueda realizar una solicitud a un objeto, primero debe indicarle al servidor el número de identificación que utilizará para identificar ese objeto. [22] : 9 Hay dos tipos de objetos en el compositor: objetos globales y objetos no globales. El compositor anuncia los objetos globales a los clientes cuando se crean (y también cuando se destruyen), mientras que los objetos no globales suelen ser creados por otros objetos que ya existen como parte de su funcionalidad. [24]
Las interfaces y sus solicitudes y eventos son los elementos centrales que definen el protocolo Wayland. Cada versión del protocolo incluye un conjunto de interfaces, junto con sus solicitudes y eventos, que se espera que estén en cualquier compositor de Wayland. Opcionalmente, un compositor de Wayland puede definir e implementar sus propias interfaces que admitan nuevas solicitudes y eventos, extendiendo así la funcionalidad más allá del protocolo central. [22] : 10 Para facilitar los cambios en el protocolo, cada interfaz contiene un atributo de "número de versión" además de su nombre; este atributo permite distinguir variantes de la misma interfaz. Cada compositor de Wayland expone no solo qué interfaces están disponibles, sino también las versiones compatibles de esas interfaces. [22] : 12
Interfaces centrales de Wayland
Las interfaces de la versión actual del protocolo Wayland se definen en el archivo protocol / wayland.xml del código fuente de Wayland. [23] Este es un archivo XML que enumera las interfaces existentes en la versión actual, junto con sus solicitudes, eventos y otros atributos. Este conjunto de interfaces es el mínimo requerido para ser implementado por cualquier compositor de Wayland.
Algunas de las interfaces más básicas del protocolo Wayland son: [22] : 10-12
- wl_display : el objeto global principal, un objeto especial para encapsular el protocolo Wayland en sí
- wl_registry : el objeto de registro global, en el que el compositor registra todos los objetos globales que desea que estén disponibles para todos los clientes.
- wl_compositor : un objeto que representa al compositor y se encarga de combinar las diferentes superficies en una sola salida
- wl_surface : un objeto que representa un área rectangular en la pantalla, definida por una ubicación, tamaño y contenido de píxeles
- wl_buffer : un objeto que, cuando se adjunta a un objeto wl_surface , proporciona su contenido visualizable
- wl_output : un objeto que representa el área visualizable de una pantalla
- wl_pointer , wl_keyboard , wl_touch : objetos que representan diferentes dispositivos de entrada como punteros o teclados
- wl_seat : un objeto que representa un asiento (un conjunto de dispositivos de entrada / salida) en configuraciones de múltiples asientos
Una sesión típica de cliente de Wayland comienza abriendo una conexión con el compositor utilizando el objeto wl_display . Este es un objeto local especial que representa la conexión y no vive dentro del servidor. Mediante el uso de su interfaz, el cliente puede solicitar el objeto global wl_registry del compositor, donde viven todos los nombres de objetos globales, y vincular aquellos que le interesan al cliente. Por lo general, el cliente vincula al menos un objeto wl_compositor desde donde solicitará uno o más objetos wl_surface para mostrar la salida de la aplicación en la pantalla. [24]
Interfaces de extensión de Wayland
Un compositor de Wayland puede definir y exportar sus propias interfaces adicionales. [22] : 10 Esta función se utiliza para extender el protocolo más allá de la funcionalidad básica proporcionada por las interfaces centrales, y se ha convertido en la forma estándar de implementar las extensiones del protocolo Wayland. Algunos compositores pueden optar por agregar interfaces personalizadas para proporcionar características especializadas o únicas. El compositor de referencia de Wayland, Weston, los usó para implementar nuevas interfaces experimentales como banco de pruebas para nuevos conceptos e ideas, algunas de las cuales luego se convirtieron en parte del protocolo central (como la interfaz wl_subsurface agregada en Wayland 1.4 [25] ).
Protocolos de extensión al protocolo central
Protocolo XDG-Shell
El protocolo XDG-Shell (consulte freedesktop.org para XDG) es una forma extendida de administrar superficies en los compositores Wayland (no solo Weston). La forma tradicional de manipular (maximizar, minimizar, pantalla completa, etc.) superficies es usar las funciones wl_shell _ * (), que son parte del protocolo central de Wayland y viven en libwayland-client . Por el contrario, se supone que el compositor Wayland proporciona una implementación del protocolo xdg-shell. Entonces encontrarás el Encabezado xdg-shell-client-protocol.h en el árbol de fuentes de Weston. Se supone que cada compositor de Wayland proporciona su propia implementación.
A junio de 2014[actualizar], El protocolo XDG-Shell no fue versionado y aún es propenso a cambios.
xdg_shell es un protocolo destinado a sustituir wl_shell a largo plazo, pero no formará parte del protocolo principal de Wayland. Comienza como una API no estable, destinada a ser utilizada como un lugar de desarrollo al principio, y una vez que las características se definen como lo requieren varios shells de escritorio, finalmente se puede estabilizar. Proporciona principalmente dos nuevas interfaces: xdg_surface y xdg_popup. La interfaz xdg_surface implementa una ventana estilo escritorio que se puede mover, cambiar de tamaño, maximizar, etc .; proporciona una solicitud para crear una relación padre / hijo. La interfaz xdg_popup implementa un menú emergente de estilo escritorio; un xdg_popup siempre es transitorio para otra superficie y también tiene un agarre implícito. [26]
Protocolo IVI-Shell
IVI-Shell es una extensión del protocolo principal de Wayland, dirigido a dispositivos de información y entretenimiento en el vehículo (IVI). [27]
Modelo de renderizado
El protocolo Wayland no incluye una API de renderizado. [22] : 7 [13] [28] [29] : 2 En cambio, Wayland sigue un modelo de renderizado directo , en el que el cliente debe convertir el contenido de la ventana en un búfer que se puede compartir con el compositor. [22] : 7 Para ese propósito, el cliente puede elegir hacer todo el renderizado por sí mismo, usar una biblioteca de renderizado como Cairo u OpenGL , o confiar en el motor de renderizado de bibliotecas de widgets de alto nivel con soporte de Wayland, como Qt o GTK . El cliente también puede utilizar opcionalmente otras bibliotecas especializadas para realizar tareas específicas, como Freetype para la representación de fuentes .
El búfer resultante con el contenido de la ventana renderizada se almacena en un objeto wl_buffer . El tipo interno de este objeto depende de la implementación. El único requisito es que los datos del contenido se puedan compartir entre el cliente y el compositor. Si el cliente usa un procesador de software (CPU) y el resultado se almacena en la memoria del sistema , el cliente y el compositor pueden usar la memoria compartida para implementar la comunicación del búfer sin copias adicionales. El protocolo Wayland ya proporciona de forma nativa este tipo de búfer de memoria compartida a través de las interfaces wl_shm y wl_shm_pool . [22] : 11, 20-21 El inconveniente de este método es que el compositor puede necesitar hacer un trabajo adicional (generalmente para copiar los datos compartidos a la GPU) para mostrarlos, lo que conduce a un rendimiento gráfico más lento.
El caso más típico es que el cliente procese directamente en un búfer de memoria de video utilizando una API acelerada por hardware (GPU) como OpenGL , OpenGL ES o Vulkan . El cliente y el compositor pueden compartir este búfer de espacio de GPU utilizando un controlador especial para hacer referencia a él. [30] Este método permite al compositor evitar la copia de datos adicionales a través de sí mismo del método cliente-a-compositor-a-GPU del búfer de memoria principal, lo que resulta en un rendimiento gráfico más rápido y, por lo tanto, es el preferido. El compositor puede optimizar aún más la composición de la escena final que se mostrará en la pantalla utilizando la misma API de aceleración de hardware que un cliente API.
Cuando se completa la renderización en un búfer compartido, el cliente de Wayland debe indicarle al compositor que presente el contenido renderizado del búfer en la pantalla. Para este propósito, el cliente vincula el objeto de búfer que almacena el contenido renderizado al objeto de superficie y envía una solicitud de "confirmación" a la superficie, transfiriendo el control efectivo del búfer al compositor. [21] Luego, el cliente espera a que el compositor libere el búfer (señalado por un evento) si quiere reutilizar el búfer para renderizar otro fotograma, o puede usar otro búfer para renderizar el nuevo fotograma y, cuando el renderizado es terminado, vincule este nuevo búfer a la superficie y confirme su contenido. [22] : 7 El procedimiento utilizado para la prestación, incluido el número de búferes involucrados y su gestión, está totalmente bajo el control del cliente. [22] : 7
Comparación con otros sistemas de ventanas
Diferencias entre Wayland y X
Hay varias diferencias entre Wayland y X en lo que respecta al rendimiento, la capacidad de mantenimiento del código y la seguridad: [31]
- Arquitectura
- El administrador de composición es una función adicional separada en X, mientras que Wayland fusiona el servidor de visualización y el compositor como una única función. [32] [28] Además, incorpora algunas de las tareas del administrador de ventanas , que en X es un proceso separado del lado del cliente. [33]
- Composición
- La composición es opcional en X, pero obligatoria en Wayland. La composición en X está "activa"; es decir, el compositor debe recuperar todos los datos de píxeles, lo que introduce latencia. En Wayland, la composición es "pasiva", lo que significa que el compositor recibe datos de píxeles directamente de los clientes. [34] : 8-11
- Representación
- El servidor X en sí mismo puede realizar renderizado, aunque también se le puede indicar que muestre una ventana renderizada enviada por un cliente. Por el contrario, Wayland no expone ninguna API para la renderización, sino que delega a los clientes dichas tareas (incluida la renderización de fuentes, widgets, etc.). [32] [28] Las decoraciones de las ventanas se pueden renderizar en el lado del cliente (por ejemplo, mediante un juego de herramientas de gráficos) o en el lado del servidor (por el compositor). [35]
- Seguridad
- Wayland aísla la entrada y salida de cada ventana, logrando confidencialidad, integridad y disponibilidad en ambos casos; el diseño X original carece de estas importantes características de seguridad, [10] [11] [12] aunque se han desarrollado algunas extensiones para intentar mitigarlo. [36] [37] [38] Además, con la gran mayoría del código ejecutándose en el cliente, se necesita ejecutar menos código con privilegios de root , lo que mejora la seguridad, [10] aunque varias distribuciones populares de Linux ahora permiten que X se ejecute sin privilegios de root. [39] [40] [41] [42]
- Comunicación entre procesos
- El servidor X proporciona un método de comunicación básico entre clientes X, ampliado posteriormente por las convenciones de ICCCM . Esta comunicación X cliente a cliente es utilizada por los administradores de ventanas y también para implementar sesiones X , selecciones y arrastrar y soltar , y otras características. El protocolo central de Wayland no admite la comunicación entre los clientes de wayland, y la funcionalidad correspondiente (si es necesario) debe ser implementada por los entornos de escritorio (como KDE o GNOME), o por un tercero (por ejemplo, mediante el uso de IPC nativo de el sistema operativo subyacente).
- Redes
- El sistema X Window es una arquitectura que fue diseñada en su núcleo para ejecutarse en una red. Wayland no ofrece transparencia de red por sí solo; [13] sin embargo, un compositor puede implementar cualquier protocolo de escritorio remoto para lograr una visualización remota. Además, hay investigaciones sobre la transmisión y compresión de imágenes de Wayland que proporcionarían acceso remoto al búfer de cuadros similar al de VNC . [19]
Compatibilidad con X
XWayland es un servidor X que se ejecuta como cliente Wayland y, por lo tanto, es capaz de mostrar aplicaciones cliente X11 nativas en un entorno de compositor Wayland. [43] Esto es similar a la forma en que XQuartz ejecuta aplicaciones X en el sistema de ventanas nativo de macOS . El objetivo de XWayland es facilitar la transición del sistema X Window a los entornos Wayland, proporcionando una forma de ejecutar aplicaciones no portadas mientras tanto. XWayland se incorporó a la versión 1.16 de X.Org Server . [44]
Los kits de herramientas de widgets como Qt 5 y GTK 3 pueden cambiar su back-end gráfico en tiempo de ejecución, [45] permitiendo a los usuarios elegir en tiempo de carga si quieren ejecutar la aplicación sobre X o sobre Wayland. Qt 5 proporciona la -platform
opción de línea de comandos [46] a tal efecto, mientras que GTK 3 permite a los usuarios seleccionar el back-end de GDK deseado configurando la GDK_BACKEND
variable de entorno Unix . [45] [47]
Compositores de Wayland
Los servidores de visualización que implementan el protocolo del servidor de visualización de Wayland también se denominan compositores de Wayland porque, además, realizan la tarea de un administrador de ventanas de composición .
- Weston : la implementación de referencia de un compositor de Wayland; Weston implementa decoraciones del lado del cliente
- Lápiz labial: marco de shell gráfico móvil que implementa el compositor Wayland; se utiliza en Sailfish OS , Nemo Mobile y AsteroidOS [48]
- Enlightenment reclamó el apoyo total de Wayland desde la versión 0.20 [49] pero actualmente se está trabajando para conseguir un compositor completo de Wayland [50]
- KWin tiene soporte casi completo de Wayland a partir de 2021 [51]
- Mutter mantiene una rama separada para la integración de Wayland para GNOME 3.9 (en septiembre de 2013) [52]
- Clayland : un simple ejemplo de un compositor de Wayland que usa Clutter
- Westeros : una biblioteca de compositores de Wayland que permite a las aplicaciones crear sus propias pantallas Wayland, lo que permite anidar e incrustar aplicaciones de terceros [53]
- wlroots : una implementación modular de Wayland que funciona como base para otros compositores, sobre todo Sway [54] [55]
- Sway : un compositor de Wayland en mosaico y un reemplazo directo del administrador de ventanas i3 para X11 [56]
Weston
Weston es la implementación de referencia de un compositor de Wayland [57] también desarrollado por el proyecto Wayland. Está escrito en C y publicado bajo la licencia MIT . Weston tiene soporte oficial solo para el sistema operativo Linux debido a la dependencia de Weston de ciertas características del kernel de Linux , como la configuración del modo del kernel , Graphics Execution Manager (GEM) y udev , que no se han implementado en otros sistemas operativos similares a Unix. sistemas. [58] Cuando se ejecuta en Linux, el manejo del hardware de entrada se basa en evdev , mientras que el manejo de búferes se basa en Generic Buffer Management (GBM). Sin embargo, en 2013 se anunció un puerto prototipo de Weston a FreeBSD . [59]
Weston admite la protección de contenido digital de alto ancho de banda (HDCP). [60]
Weston confía en GEM para compartir búferes de aplicaciones entre el compositor y las aplicaciones. Contiene un sistema de plug-in de "shells" para funciones comunes de escritorio como muelles y paneles. [19] Los clientes son responsables del dibujo de los bordes de sus ventanas y sus decoraciones. Para renderizar, Weston puede usar OpenGL ES [61] o la biblioteca pixman para hacer renderizado por software . [62] No se utiliza la implementación completa de OpenGL, porque en la mayoría de los sistemas actuales, la instalación de las bibliotecas completas de OpenGL también instalaría GLX y otras bibliotecas de soporte del sistema X Window como dependencias. [63]
En octubre de 2013, un empleado de RealVNC propuso una interfaz de acceso remoto para Weston . [64]
Maynard
Maynard es un shell gráfico y se ha escrito como un complemento para Weston, al igual que GNOME Shell se ha escrito como un complemento para Mutter . [sesenta y cinco]
La Raspberry Pi Foundation, en colaboración con Collabora, lanzó Maynard y trabaja para mejorar el rendimiento y el consumo de memoria. [66] [67]
libinput
El código de Weston para manejar dispositivos de entrada (teclados, punteros, pantallas táctiles, etc.) se dividió en su propia biblioteca separada, llamada libinput , para la cual el soporte se fusionó por primera vez en Weston 1.5. [68] [69]
Libinput maneja dispositivos de entrada para múltiples compositores de Wayland y también proporciona un controlador de entrada de servidor X.Org genérico . Su objetivo es proporcionar una implementación para múltiples compositores de Wayland con una forma común de manejar eventos de entrada mientras se minimiza la cantidad de código de entrada personalizado que los compositores deben incluir. libinput proporciona detección de dispositivos [ aclaración necesaria ] (a través de udev ), manejo de dispositivos, procesamiento de eventos de dispositivos de entrada y abstracción. [70] [71]
La versión 1.0 de libinput siguió a la versión 0.21 e incluía soporte para tabletas, conjuntos de botones y gestos del panel táctil. Esta versión mantendrá una API / ABI estable. [72]
Como GNOME / GTK y KDE Frameworks 5 [73] han simplificado los cambios necesarios, Fedora 22 reemplazará los controladores evdev y Synaptics de X.Org con libinput. [74]
Con la versión 1.16, el servidor X.Org obtuvo soporte para la biblioteca libinput en forma de un contenedor llamado xf86-input-libinput . [75] [76]
Módulo de seguridad Wayland
Wayland Security Module es una propuesta que se asemeja a la interfaz del módulo de seguridad de Linux que se encuentra en el kernel de Linux . [77]
Algunas aplicaciones (especialmente las relacionadas con la accesibilidad ) requieren capacidades privilegiadas que deberían funcionar en diferentes compositores de Wayland. Actualmente, [ ¿cuándo? ] las aplicaciones de Wayland generalmente no pueden realizar tareas delicadas, como tomar capturas de pantalla o inyectar eventos de entrada. Los desarrolladores de Wayland buscan activamente formas viables de manejar clientes privilegiados de forma segura y luego diseñan interfaces privilegiadas para ellos.
Wayland Security Module es una forma de delegar decisiones de seguridad dentro del compositor a un motor de decisiones de seguridad centralizado. [77]
Adopción
El protocolo Wayland está diseñado para ser simple, por lo que es necesario definir e implementar protocolos e interfaces adicionales para lograr un sistema de ventanas holístico. A julio de 2014[actualizar]se estaba trabajando en estas interfaces adicionales. Entonces, mientras que los kits de herramientas ya son totalmente compatibles con Wayland, los desarrolladores de los shells gráficos están cooperando con los desarrolladores de Wayland para crear las interfaces adicionales necesarias.
Distribuciones de Linux de escritorio
A partir de 2020[actualizar] la mayoría de las distribuciones de Linux son compatibles con Wayland, algunos ejemplos notables son:
- Fedora a partir de la versión 25 (lanzada el 22 de noviembre de 2016) usa Wayland para la sesión de escritorio GNOME 3.22 predeterminada, con X.Org como respaldo si el controlador de gráficos no es compatible con Wayland. [78] Fedora usa Wayland como predeterminado para la sesión de escritorio de KDE a partir de la versión 34 (lanzada el 27 de abril de 2021)
- Ubuntu incluye Wayland por defecto en Ubuntu 17.10 (Artful Aardvark). [79] Ubuntu volvió a X.Org para Ubuntu 18.04 LTS, ya que Wayland todavía tiene problemas con el uso compartido de pantalla y las aplicaciones de escritorio remoto, y no se recupera tan bien de los bloqueos del administrador de ventanas. [80] [81] Ubuntu ha anunciado que enviará Wayland por defecto en Ubuntu 21.04 (excluyendo gráficos NVIDIA ). [82]
- Red Hat Enterprise Linux envía Wayland como sesión predeterminada en la versión 8, lanzada el 7 de mayo de 2019. [83]
- Debian envía Wayland como la sesión predeterminada para GNOME desde la versión 10, lanzada el 6 de julio de 2019. [84]
- Slackware Linux incluyó Wayland el 20 de febrero de 2020 [85] para la versión de desarrollo, actual, que eventualmente se convertirá en la versión 15.0.
- Manjaro envía Wayland por defecto en la edición Gnome de Manjaro 20.2 (Nibia) (lanzada el 22 de noviembre de 2020). [86]
Adoptador pionero notable:
- RebeccaBlackOS es una distribución Linux en vivo basada en Debian [87] USB que permite una manera conveniente de probar un escritorio Wayland real sin tener que realizar ninguna modificación en el sistema operativo principal de la computadora. [88] Se ha utilizado desde 2012 para mostrar Wayland. [89] [90]
Soporte del kit de herramientas
Los kits de herramientas que respaldan a Wayland incluyen lo siguiente:
- Clutter tiene soporte completo de Wayland. [91] [92] [93]
- EFL tiene soporte completo de Wayland, excepto para la selección. [94]
- GTK 3.20 tiene soporte completo para Wayland. [95]
- Qt 5 tiene soporte completo de Wayland y se puede usar para escribir tanto compositores de Wayland como clientes de Wayland.
- El soporte de SDL para Wayland debutó con la versión 2.0.2 [96] y se habilitó de forma predeterminada desde la versión 2.0.4. [97]
- GLFW 3.2 tiene soporte para Wayland. [98]
- FreeGLUT tiene soporte inicial de Wayland. [99]
Entornos de escritorio
Los entornos de escritorio en proceso de ser trasladados de X a Wayland incluyen GNOME , [100] KDE Plasma 5 [101] e Enlightenment . [102]
En noviembre de 2015, se anunció Enlightenment e20 con el apoyo total de Wayland. [103] [49] [104] GNOME 3.20 fue la primera versión en tener una sesión completa de Wayland. [105] GNOME 3.22 incluyó un soporte Wayland muy mejorado en GTK, Mutter y GNOME Shell. [106] GNOME 3.24 envió soporte para los controladores propietarios de NVidia bajo Wayland. [107]
El soporte de Wayland para KDE Plasma se retrasó hasta el lanzamiento de Plasma 5, [108] aunque anteriormente KWin 4.11 obtuvo un soporte experimental de Wayland. [109] La versión 5.4 de Plasma fue la primera con una sesión de Wayland. [110] Durante 2020, Klipper se trasladó a Wayland y el próximo lanzamiento 5.20 en octubre de 2020 tiene el objetivo de mejorar la transmisión y grabación de pantalla. [111] Al menos una parte central de KDE: sddm aún no se ha portado a Wayland en septiembre de 2020. [112]
Otro software
Otro software compatible con Wayland incluye lo siguiente:
- Intelligent Input Bus está trabajando en el soporte de Wayland, podría estar listo para Fedora 22. [113]
- RealVNC publicó una vista previa para desarrolladores de Wayland en julio de 2014. [64] [114] [115]
- Maliit es un marco de método de entrada que se ejecuta en Wayland. [116] [117] [118]
- kmscon admite Wayland con wlterm. [119]
- Mesa tiene integrado el soporte de Wayland. [120]
- Eclipse se hizo para ejecutarse en Wayland durante un proyecto GSoC en 2014. [121]
- El WSI Vulkan (Interfaz Window System) es un conjunto de llamadas a la API tienen un propósito similar como lo hace EGL para OpenGL ES o GLX de OpenGL. Vulkan WSI incluye soporte para Wayland desde el primer día: VK_USE_PLATFORM_WAYLAND_KHR. Los clientes de Vulkan pueden ejecutarse en servidores Wayland sin modificar, incluidos Weston, GENIVI LayerManager, Mutter / GNOME Shell, Enlightenment y más. El WSI permite que las aplicaciones descubran las diferentes GPU en el sistema y muestren los resultados de la representación de la GPU en un sistema de ventanas. [122]
- SPURV , una capa de compatibilidad para que las aplicaciones de Android se ejecuten en distribuciones de Linux usando Wayland
Hardware móvil e integrado
El hardware móvil e integrado que admite Wayland incluye lo siguiente:
- postmarketOS
- Alianza GENIVI : el consorcio de la industria automotriz GENIVI para información y entretenimiento en vehículos (IVI) apoya a Wayland. [123]
- Raspberry Pi : La Fundación Raspberry Pi, en colaboración con Collabora, lanzó Maynard y trabaja para mejorar el rendimiento y el consumo de memoria. [66] [67]
- Jolla : Los teléfonos inteligentes de Jolla usan Wayland. También se usa como estándar cuando el sistema operativo Linux Sailfish se usa con hardware de otros proveedores o cuando los usuarios lo instalan en dispositivos Android. [124] [125] [126]
- Tizen : Tizen hasta 2.x es compatible con Wayland en configuraciones de información y entretenimiento en el vehículo (IVI) [127] y desde 3.0 en adelante, los valores predeterminados de Wayland. [128] [129]
Historia
Kristian Høgsberg, un Linux gráficos y X.Org desarrollador que ya había trabajado en AIGLX y DRI2 , Wayland comenzado como un proyecto de tiempo libre en 2008, mientras trabajaba para Red Hat . [130] [131] [132] [133] Su objetivo declarado era un sistema en el que "cada fotograma es perfecto, por lo que me refiero a que las aplicaciones podrán controlar el renderizado lo suficiente como para que nunca veamos desgarros, retrasos, redibujo o parpadeo ". Høgsberg conducía por la ciudad de Wayland, Massachusetts, cuando los conceptos subyacentes "cristalizaron", de ahí el nombre. [132] [134]
En octubre de 2010, Wayland se convirtió en un proyecto de freedesktop.org . [135] [136] Como parte de la migración, el Grupo Google anterior fue reemplazado por la lista de correo wayland-devel como el punto central de discusión y desarrollo del proyecto.
Las bibliotecas de cliente y servidor de Wayland se publicaron inicialmente bajo la licencia MIT , [137] mientras que el compositor de referencia Weston y algunos clientes de ejemplo utilizaron la versión 2 de la licencia pública general GNU . [138] Más tarde, todo el código GPL se volvió a otorgar bajo la licencia del MIT "para que sea más fácil mover el código entre la implementación de referencia y las bibliotecas reales". [139] En 2015 se descubrió que el texto de la licencia utilizado por Wayland era una versión ligeramente diferente y más antigua de la licencia del MIT, y el texto de la licencia se actualizó a la versión actual utilizada por el proyecto X.Org (conocido como MIT Expat License ). [5]
Wayland funciona con todos los controladores compatibles con Mesa con soporte DRI2 [120] , así como con los controladores de Android a través del proyecto Hybris . [140] [141] [142]
Lanzamientos
Versión | Fecha | Principales características | |
---|---|---|---|
Wayland | Weston | ||
0,85 | 9 de febrero de 2012 [144] | Primer lanzamiento. | |
0,95 | 24 de julio de 2012 [145] | Comenzó la estabilización de API. | |
1.0 | 22 de octubre de 2012 [146] [147] | API de cliente wayland estable. | |
1.1 | 15 de abril de 2013 [148] [149] | Renderizado de software. [62] FBDEV, backends de RDP. | |
1.2 | 12 de julio de 2013 [150] [151] | API estable de wayland-server. | Manejo del color. Subsuelos. Backend de Raspberry Pi . |
1.3 | 11 de octubre de 2013 [152] | Más formatos de píxeles. Soporte para enlaces de idiomas. | Compatibilidad con controladores de Android a través de libhybris . |
1.4 | 23 de enero de 2014 [25] | Nuevas interfaces wl_subcompositor y wl_subsurface. | Múltiples formatos de framebuffer. Soporte logind para Weston sin raíces. |
1,5 | 20 de mayo de 2014 [68] | libinput. Carcasa de pantalla completa. | |
1,6 | 19 de septiembre de 2014 [153] | libinput por defecto. | |
1,7 | 14 de febrero de 2015 [154] [155] | Soporte para la extensión de presentación de Wayland y para roles de superficie. Protocolo de shell IVI . | |
1.8 | 2 de junio de 2015 [156] [157] | Encabezados separados para núcleo y protocolo generado. | Repintar la programación. Salidas nombradas. Transformaciones de salida. API de disparo en superficie. |
1,9 | 21 de septiembre de 2015 [158] [159] | Licencia actualizada. | Licencia actualizada. Nuevo marco de prueba. Compositor DRM de triple cabezal. extensión linux_dmabuf. |
1,10 | 17 de febrero de 2016 [160] [161] | Funcionalidad de arrastrar y soltar, eventos de puntero agrupados. [162] | Video 4 Linux 2, entrada táctil, mejoras de depuración. [163] |
1,11 | 1 de junio de 2016 [164] [165] | Nueva rutina de carga de respaldo, nueva lógica de configuración. | Contenedores de proxy, cambios de memoria compartida, documentos HTML generados por Doxygen. |
1.12 | 21 de septiembre de 2016 [166] [167] | Se mejoró el soporte de depuración. | libweston y libweston-desktop. Bloqueo y confinamiento del puntero. Soporte de puntero relativo. |
1,13 | 24 de febrero de 2017 [168] [169] | La ABI de Weston se ha cambiado, por lo que la nueva versión se denominó 2.0.0 en lugar de 1.13.0. | |
1,14 | 8 de agosto de 2017 [170] [171] | Weston 3.0.0 se lanzó al mismo tiempo. | |
1,15 | 9 de abril de 2018 [172] [173] | Weston 4.0.0 se lanzó al mismo tiempo. | |
1,16 | 24 de agosto de 2018 [174] [175] | Weston 5.0.0 se lanzó al mismo tiempo. | |
1,17 | 20 de marzo de 2019 [176] [177] | Weston 6.0.0 se lanzó al mismo tiempo. | |
1,18 | 2 de agosto de 2019 [178] [179] | Weston 7.0.0 se lanzó un mes después. | |
1,19 | 27 de enero de 2021 [2] | ||
Weston 8 [180] | 24 de enero de 2020 | ||
Weston 9 [181] | 4 de septiembre de 2020 | ||
Versión antigua Versión anterior, aún mantenida Ultima versión Lanzamiento futuro |
Ver también
- Mir (software)
- Sistema de ventanas X
Referencias
- ^ Høgsberg, Kristian (30 de septiembre de 2008). "Confirmación inicial" . Consultado el 3 de enero de 2020 .
- ^ a b Ser, Simon (27 de enero de 2021). "[ANUNCIO] wayland 1.19.0" (lista de correo) . Consultado el 27 de enero de 2021 .
- ^ Ser, Simon (24 de enero de 2020). "[ANUNCIO] weston 8.0.0" (lista de correo) . Consultado el 12 de febrero de 2020 .
- ^ "Wayland & Weston Compositor adaptado a DragonFlyBSD - Phoronix" . www.phoronix.com .
- ^ a b c Harrington, Bryce (15 de septiembre de 2015). "[ANUNCIO] wayland 1.8.93" . freedesktop.org (lista de correo).
- ^ "wayland / wayland: root / COPIANDO" . freedesktop.org . Consultado el 14 de junio de 2015 .
- ^ Larabel, Michael (10 de junio de 2015). "Licencia MIT de Wayland para actualizarse / corregirse" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ a b c "Wayland" . Proyecto Wayland . Consultado el 9 de mayo de 2016 .
- ^ Sengar, Shivam Singh. "Wayland v / s Xorg: en qué se parecen y en qué se diferencian" . secjuice . Consultado el 10 de septiembre de 2020 .
- ^ a b c Kerrisk, Michael (25 de septiembre de 2012). "XDC2012: seguridad de la pila de gráficos" . LWN.net . Consultado el 13 de abril de 2016 .
- ^ a b Peres, Martin (21 de febrero de 2014). "Wayland Compositors - ¡Por qué y cómo manejar clientes privilegiados!" . Consultado el 17 de abril de 2016 .
- ^ a b Graesslin, Martin (23 de noviembre de 2015). "Mirando la seguridad de Plasma / Wayland" . Consultado el 18 de abril de 2016 .
- ^ a b c d e "Preguntas frecuentes de Wayland" . Proyecto Wayland . Consultado el 9 de mayo de 2016 .
- ^ Corbet, Jonathan (5 de noviembre de 2010). "LPC: Vida después de X" . LWN.net . Consultado el 17 de abril de 2016 .
- ^ Høgsberg, Kristian (9 de noviembre de 2010). "Argumento de transparencia de la red" .
Wayland no es una API de renderizado remoto como X, pero eso no excluye la transparencia de la red. Los clientes se procesan en un búfer compartido y luego tienen que decirle al compositor (...) lo que cambiaron. El compositor puede enviar los nuevos píxeles de esa región a través de la red. El protocolo Wayland ya es violentamente asincrónico, por lo que debería poder manejar un poco de retraso en la red con elegancia. La visualización remota de video en pantalla completa o los juegos no van a funcionar bien, [pero] no conozco ningún otro sistema de visualización que maneje eso bien y de manera transparente.
- ^ Larabel, Michael (18 de agosto de 2011). "Proyecto de servidor remoto Wayland: ¿Funciona todavía?" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Jackson, Adam (9 de noviembre de 2010). "[Re:] Ubuntu avanzando hacia Wayland" .
- ^ Stone, Daniel (28 de enero de 2013). La verdadera historia detrás de Wayland y X (Speech). linux.conf.au 2013. Canberra . Consultado el 13 de abril de 2016 .
- ^ a b c Willis, Nathan (13 de febrero de 2013). "LCA: Los caminos de Wayland" . LWN.net . Consultado el 19 de mayo de 2016 .
- ^ Daniel Aleksandersen. "Capacidades de escritorio remoto configuradas para hacer una reaparición en GNOME en Wayland" . Ctrl.blog . Consultado el 29 de agosto de 2017 .
- ^ a b "El tutorial de Hello Wayland" . 8 de julio de 2014 . Consultado el 25 de julio de 2014 .
- ^ a b c d e f g h i j k l m n o Høgsberg, Kristian. "Documentación Wayland 1.3" (PDF) . Consultado el 16 de marzo de 2016 .
- ^ a b Høgsberg, Kristian. "protocolo / wayland.xml" . FreeDesktop.org . Consultado el 25 de julio de 2014 .
- ^ a b Paalanen, Pekka (25 de julio de 2014). "Diseño del protocolo Wayland: vida útil del objeto" . Consultado el 6 de abril de 2016 .
- ^ a b Høgsberg, Kristian (24 de enero de 2014). "Wayland y Weston 1.4 está disponible" . lista de correo wayland-devel .
- ^ "xdg_shell: Añadiendo un nuevo protocolo de shell" . freedesktop.org . 3 de diciembre de 2013 . Consultado el 14 de junio de 2014 .
- ^ "GENIVI / wayland-ivi-extension" .
- ^ a b c Vervloesem, Koen (15 de febrero de 2012). "FOSDEM: El servidor de visualización de Wayland" . LWN.net . Consultado el 9 de mayo de 2016 .
- ^ Barnes, Jesse. "Introducción a Wayland" (PDF) . Centro de tecnología de código abierto de Intel . Consultado el 18 de abril de 2016 .
No incluye una API de renderizado: los clientes usan lo que quieren y envían identificadores de búfer al servidor
- ^ Paalanen, Pekka (21 de noviembre de 2012). "Sobre el apoyo a los clientes de Wayland GL y las plataformas integradas propietarias" . Consultado el 6 de abril de 2016 .
El uso compartido de búfer funciona creando un identificador para un búfer y pasando ese identificador a otro proceso que luego usa el identificador para que la GPU acceda nuevamente al mismo búfer.
- ^ Griffith, Eric (7 de junio de 2013). "La situación de Wayland: hechos sobre X vs. Wayland" . Phoronix.com . pag. 2 . Consultado el 17 de abril de 2016 .
- ^ a b "Arquitectura Wayland" . Proyecto Wayland . Consultado el 9 de mayo de 2016 .
- ^ Edge, Jake (11 de abril de 2012). "LFCS 2012: X y Wayland" . LWN.net . Consultado el 17 de abril de 2016 .
- ^ "Arquitectura de Wayland / X Compositor por ejemplo: Enlightenment DR19" (PDF) . Consultado el 18 de abril de 2016 .
- ^ a b Graesslin, Martin (7 de febrero de 2013). "Decoraciones de ventana lateral del cliente y Wayland" . Consultado el 17 de abril de 2016 .
- ^ "Seguridad de X.Org" . Fundación X.Org . Consultado el 2 de julio de 2017 .
El servidor X ha incluido durante mucho tiempo una extensión, SEGURIDAD, que brinda soporte para un modelo simple de conexión confiable / no confiable.
- ^ Wiggins, David P. (15 de noviembre de 1996). "Especificación de extensión de seguridad" . X Norma del Consorcio . Consultado el 2 de julio de 2017 .
- ^ Walsh, Eamon F. (2009). "X Especificación de extensión de control de acceso" . Consultado el 2 de julio de 2017 .
- ^ "Debian se mueve a un servidor X.Org no root de forma predeterminada - Phoronix" . www.phoronix.com .
- ^ "Xorg no root - Gentoo Wiki" . wiki.gentoo.org .
- ^ "X / Rootless - Ubuntu Wiki" . wiki.ubuntu.com .
- ^ "1078902 - Xorg sin derechos de root" . bugzilla.redhat.com .
- ^ "Clientes X bajo Wayland (XWayland)" . Proyecto Wayland . Consultado el 18 de julio de 2014 .
- ^ "ANUNCIO: xorg-server 1.16.0" . freedesktop.org . 17 de julio de 2014.
- ^ a b Høgsberg, Kristian (3 de enero de 2011). "Múltiples backends para GTK" . Consultado el 10 de marzo de 2016 .
- ^ "QtWayland" . Qt Wiki . Consultado el 9 de marzo de 2016 .
- ^ "Soporte completo de Wayland en GTK" . Wiki de GNOME . Consultado el 10 de marzo de 2016 .
- ^ Edge, Jake (31 de julio de 2013). "Jolla: Sailfish OS, Qt y código abierto" . LWN.net . Consultado el 17 de abril de 2016 .
- ^ a b Larabel, Michael (30 de noviembre de 2015). "Enlightenment 0.20 llega con soporte completo de Wayland y mejor soporte de FreeBSD" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ "Wayland" . www.enlightenment.org .
- ^ "Plasma 5.21" . Comunidad KDE . 16 de febrero de 2021 . Consultado el 9 de marzo de 2021 .
- ^ "Índice de / sources / mutter-wayland" . download.gnome.org .
- ^ "Espejo de Westeros Github" . Consultado el 19 de septiembre de 2016 .
- ^ "swaywm / wlroots" . GitHub . Consultado el 28 de octubre de 2018 .
- ^ "swaywm / sway" . GitHub . Consultado el 28 de octubre de 2018 .
- ^ "Sway" . swaywm.org . Consultado el 20 de diciembre de 2018 .
- ^ "README" . cgit.freedesktop.org .
- ^ "Archivo README del repositorio de código fuente de Wayland" . freedesktop.org .
- ^ Larabel, Michael (16 de febrero de 2013). "Wayland comienza el proceso de portabilidad a FreeBSD" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ "Adición de soporte de protección de contenido en drm-backend (! 48) · Solicitudes de combinación · wayland / weston" . GitLab . Consultado el 27 de octubre de 2019 .
- ^ Paalanen, Pekka (10 de marzo de 2012). "¿Qué hace EGL en la pila de Wayland" . Consultado el 19 de mayo de 2016 .
- ^ a b Larabel, Michael (6 de enero de 2013). "Un renderizador Pixman basado en software para Weston de Wayland" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Høgsberg, Kristian (9 de diciembre de 2010). "Blender3D y sujeción del cursor" .
- ^ a b "Módulo de interfaz de acceso remoto [RFC weston]" . freedesktop.org . 18 de octubre de 2013.
- ^ "Anuncio de Maynard" . 16 de abril de 2014 . Consultado el 16 de abril de 2014 .
- ^ a b "Estudio de caso de Raspberry Pi" . Colabora . Consultado el 9 de agosto de 2013 .
- ^ a b "Vista previa de Wayland" . Raspberry Pi . Consultado el 9 de agosto de 2013 .
- ^ a b Høgsberg, Kristian (20 de mayo de 2014). "Se lanza Wayland y Weston 1.5.0" . lista de correo wayland-devel .
- ^ Ådahl, Jonas (12 de noviembre de 2013). "[RFC] Biblioteca de dispositivos de entrada común" . Lista de correo de Wayland.
- ^ "libinput" . Freedesktop.org . Consultado el 21 de mayo de 2014 .
- ^ Hutterer, Peter (8 de octubre de 2014). Consolidar las pilas de entrada con libinput (Speech). La X.Org Developer Conference 2014. Burdeos . Consultado el 14 de enero de 2020 .
- ^ Hutterer, Peter (22 de febrero de 2015). "libinput: el camino a 1.0" .
- ^ "Se agregó soporte Libinput al Touchpad KCM" . 22 de febrero de 2015.
- ^ Goede, Hans de (23 de febrero de 2015). "Libinput ahora está habilitado como controlador xorg predeterminado para instalaciones de estaciones de trabajo F-22" .
- ^ Hutterer, Peter (24 de septiembre de 2014). "libinput - una pila de entrada común para compositores Wayland y controladores X.Org" . Consultado el 17 de abril de 2016 .
- ^ de Goede, Hans (1 de febrero de 2015). "Reemplazo de la entrada xorg - Controladores con libinput" (PDF) . Consultado el 18 de abril de 2016 .
- ^ a b Dodier-Lazaro, Steve; Peres, Martin (9 de octubre de 2014). Seguridad en entornos de escritorio basados en Wayland: clientes privilegiados, autorización, autenticación y espacio aislado. (Discurso). La X.Org Developer Conference 2014. Burdeos . Consultado el 18 de abril de 2016 .
- ^ "Cambios / WaylandByDefault - Wiki del Proyecto Fedora" . fedoraproject.org . Consultado el 9 de noviembre de 2020 .
- ^ "ReleaseNotes para Ubuntu 17.10" . Canónico.
- ^ "Ubuntu 18.04 se revertirá a Xorg de larga data" .
- ^ "Bionic Beaver 18.04 LTS para usar Xorg por defecto" . Canónico.
- ^ "Ubuntu 21.04 usará Wayland por defecto" . ¡Dios mío! Ubuntu . Consultado el 28 de enero de 2021 .
- ^ "Notas de la versión para Red Hat Enterprise Linux 8.0" . Portal del cliente de Red Hat . Consultado el 25 de diciembre de 2020 .
- ^ "NewInBuster - Debian Wiki" . wiki.debian.org . Consultado el 15 de julio de 2019 .
- ^ "Slackware ChangeLogs" . Slackware Linux . Consultado el 26 de febrero de 2020 .
- ^ "Manjaro 20.2 Nibia quedó en libertad" . Consultado el 3 de diciembre de 2020 .
- ^ "Wayland Live OS ahora se basa en las pruebas de Debian y funciona con el soporte de Wayland de KDE" . Phoronix.
- ^ "RebeccaBlackOS" . Sourceforge.
- ^ "Probar Wayland con Rebecca Black" . Phoronix.
- ^ "New Wayland Live CD tiene muchas características" . Phoronix.
- ^ Bassi, Emmanuele (31 de enero de 2011). "ANUNCIO: Clutter 1.6.0 (estable)" . desorden-anuncio (lista de correo).
- ^ Bradford, Rob (16 de diciembre de 2011). "Actualización de Clutter & Cogl Wayland" . Consultado el 9 de marzo de 2016 .
El soporte del lado del cliente de Clutter es básicamente completo
- ^ Bassi, Emmanuele (24 de septiembre de 2013). "ANUNCIO: Clutter 1.16.0 (estable)" . desorden-anuncio (lista de correo).
- ^ "Wayland - Ilustración" . Archivado desde el original el 29 de marzo de 2013 . Consultado el 6 de marzo de 2013 .
- ^ "Hoja de ruta GTK" . Consultado el 8 de marzo de 2016 .
- ^ Lantinga, Sam (8 de marzo de 2014). "¡SDL 2.0.2 LANZADO!" . Proyecto SDL . Consultado el 18 de marzo de 2014 .
- ^ Larabel, Michael (9 de enero de 2016). "SDL 2.0.4 se lanzó silenciosamente la semana pasada con Wayland & Mir de forma predeterminada" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Berglund, Camilla (8 de abril de 2014). "Implementación para Wayland · Edición # 106 · glfw / glfw · GitHub" . Consultado el 14 de agosto de 2014 .
- ^ "FreeGLUT: Implementar soporte inicial de Wayland" . GitHub .
- ^ "Iniciativas GNOME - Wayland" . Wiki de GNOME . Consultado el 8 de marzo de 2016 .
- ^ "KWin / Wayland" . Wiki de la comunidad de KDE . Consultado el 8 de marzo de 2016 .
- ^ "Iluminación - Wayland" . Enlightenment.org . Consultado el 8 de marzo de 2016 .
- ^ "Enlightenment DR 0.20.0 Release" . Enlightenment.org . Consultado el 8 de marzo de 2016 .
- ^ "La Ilustración de Wayland" . FOSDEM.org . Consultado el 8 de marzo de 2016 .
- ^ "ReleasePlanning / FeaturesPlans" . Proyecto GNOME . Consultado el 31 de mayo de 2015 .
- ^ "Una mirada a las emocionantes características / mejoras de GNOME 3.22" . Phoronix.
- ^ "GNOME aterriza en la línea principal de soporte de NVIDIA Wayland usando EGLStreams" . Phoronix.
- ^ "Camino de Plasma a Wayland" . 25 de julio de 2014.
- ^ Larabel, Michael (14 de junio de 2013). "KDE 4.11 Beta lanzado, funciona en Wayland" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Graesslin, Martin (29 de junio de 2015). "Cuatro años después" . Consultado el 17 de abril de 2016 .
- ^ Liam Dawe. "KDE Plasma 5.20 admitirá correctamente la grabación de pantalla en Wayland y más" . gamingonlinux.com . Consultado el 10 de septiembre de 2020 .
- ^ "sddm sin X" . fabricador . Consultado el 10 de septiembre de 2020 .
- ^ Schaller, Christian (3 de julio de 2014). "Actualización de Wayland en Fedora" . blogs.gnome.org . Consultado el 17 de abril de 2016 .
- ^ "Vista previa del desarrollador de VNC® Wayland" . 8 de julio de 2014. Archivado desde el original el 14 de julio de 2014.
- ^ "Correo electrónico de vista previa del desarrollador de RealVNC Wayland" . freedesktop.org . 9 de julio de 2014.
- ^ "Actualización de estado de Maliit" . Posterous. 2 de abril de 2013. Archivado desde el original el 17 de mayo de 2013 . Consultado el 14 de octubre de 2013 .
- ^ "Más mejoras del teclado Maliit: QtQuick2" . Blog de Murray. 2 de abril de 2013 . Consultado el 14 de octubre de 2013 .
- ^ "Maliit bajo Wayland" . Archivado desde el original el 11 de junio de 2013 . Consultado el 14 de septiembre de 2013 .
- ^ "wlterm" . Freedesktop.org . Consultado el 8 de julio de 2014 .
- ↑ a b Hillesley, pág. 3.
- ^ "Eclipse ahora se ejecuta en Wayland" . 18 de agosto de 2014.
- ^ Stone, Daniel (16 de febrero de 2016). "Se lanzó la especificación Vulkan 1.0 con soporte desde el primer día para Wayland" .
- ^ "Wayland Backend DRM | Gestión de capas IVI" . Alianza GENIVI. Archivado desde el original el 1 de febrero de 2014 . Consultado el 15 de julio de 2013 .
- ^ "El primer teléfono inteligente de Jolla funciona con Wayland" . LinuxG.net. 14 de julio de 2013 . Consultado el 8 de octubre de 2013 .
- ^ VDVsx [@VDVsx] (13 de julio de 2013). "Diagrama de componentes principales de #sailfishos. # Qt5 #Wayland #JollaHQ #Akademy" (Tweet) - vía Twitter .
- ^ Jolla [@JollaHQ] (13 de julio de 2013). "@faenil @PeppeLaKappa @VDVsx, nuestro primer Jolla se enviará con wayland, sí" (Tweet), a través de Twitter .
- ^ "Configuración IVI / IVI" . Wiki de Tizen . Consultado el 8 de abril de 2013 .
- ^ VanCutsem, Geoffroy (10 de julio de 2013). "[IVI] Tizen IVI 3.0-M1 lanzado" . IVI (lista de correo).
- ^ Amadeo, Ron. "El Samsung Z4 es el nuevo teléfono inteligente insignia de Tizen" . Ars Technica . Consultado el 13 de mayo de 2017 .
- ^ Høgsberg, Kristian (3 de noviembre de 2008). "La publicidad prematura es mejor que la falta de publicidad" . Consultado el 6 de abril de 2016 .
- ^ "Entrevista: Kristian Høgsberg" . Archivo FOSDEM . 29 de enero de 2012 . Consultado el 8 de marzo de 2016 .
- ^ a b Hillesley, Richard (13 de febrero de 2012). "Wayland - Más allá de X" . El H Open . Heise Media Reino Unido . Consultado el 8 de marzo de 2016 .
- ^ Høgsberg, Kristian. "Wayland: un nuevo servidor de visualización para Linux" . Linux Plumbers Conference, 2009. Archivado desde el original el 11 de agosto de 2017.
- ^ Jenkins, Evan (22 de marzo de 2011). "La pila de gráficos de Linux de X a Wayland" . Ars Technica . Consultado el 17 de abril de 2016 .
- ^ Larabel, Michael (29 de octubre de 2010). "Wayland se convierte en un proyecto de FreeDesktop.org" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Høgsberg, Kristian (29 de octubre de 2010). "Pasando a freedesktop.org" . Consultado el 31 de julio de 2013 .
- ^ Høgsberg, Kristian (3 de diciembre de 2008). "Wayland está ahora bajo licencia del MIT" . wayland-display-server (lista de correo).
- ^ Høgsberg, Kristian (22 de noviembre de 2010). "Aclaración de la licencia de Wayland" . wayland-devel (lista de correo).
- ^ Høgsberg, Kristian (19 de septiembre de 2011). "Actualización de licencia" . wayland-devel (lista de correo).
- ^ Munk, Carsten (11 de abril de 2013). "Wayland utilizando controladores de GPU de Android en sistemas basados en glibc, parte 1" . Proyecto Mer . Consultado el 3 de julio de 2013 .
- ^ Munk, Carsten (8 de junio de 2013). "Wayland utilizando controladores de GPU de Android en sistemas basados en glibc, Parte 2" . Proyecto Mer . Consultado el 3 de julio de 2013 .
- ^ Larabel, Michael (11 de abril de 2013). "Jolla trae Wayland encima de los controladores de GPU de Android" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ "Wayland" . Wayland.freedesktop.org . Consultado el 15 de julio de 2013 .
- ^ Høgsberg, Kristian (9 de febrero de 2012). "[ANUNCIO] Wayland y Weston 0.85.0 liberados" . lista de correo wayland-devel .
- ^ Høgsberg, Kristian (24 de julio de 2012). "Wayland y Weston 0.95.0 lanzado" . lista de correo wayland-devel .
- ^ Høgsberg, Kristian (22 de octubre de 2012). "Wayland y Weston 1.0" . lista de correo wayland-devel .
- ^ Scherschel, Fabian (23 de octubre de 2012). "El hito 1.0 de Wayland corrige el protocolo de gráficos" . El H Open . Heise Media Reino Unido . Consultado el 17 de abril de 2016 .
- ^ Larabel, Michael (16 de abril de 2013). "Wayland 1.1 lanzado oficialmente con Weston 1.1" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Høgsberg, Kristian (15 de abril de 2013). "1.1 Publicado" . lista de correo wayland-devel .
- ^ Larabel, Michael (13 de julio de 2013). "Wayland 1.2.0 lanzado, unido por Weston Compositor" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Høgsberg, Kristian (12 de julio de 2013). "Wayland y Weston 1.2.0 lanzado" . lista de correo wayland-devel .
- ^ Høgsberg, Kristian (11 de octubre de 2013). "Las versiones de Wayland y Weston 1.3 están disponibles" . lista de correo wayland-devel .
- ^ Paalanen, Pekka (19 de septiembre de 2014). "Wayland y Weston 1.6.0 lanzado" . lista de correo wayland-devel .
- ^ Harrington, Bryce (14 de febrero de 2015). "[ANUNCIO] wayland 1.7.0" . lista de correo wayland-devel .
- ^ Harrington, Bryce (14 de febrero de 2015). "[ANUNCIO] weston 1.7.0" . lista de correo wayland-devel .
- ^ Harrington, Bryce (2 de junio de 2015). "[ANUNCIO] wayland 1.8.0" . lista de correo wayland-devel .
- ^ Harrington, Bryce (2 de junio de 2015). "[ANUNCIO] weston 1.8.0" . lista de correo wayland-devel .
- ^ Harrington, Bryce (21 de septiembre de 2015). "[ANUNCIO] wayland 1.9.0" . wayland-devel (lista de correo).
- ^ Harrington, Bryce (21 de septiembre de 2015). "[ANUNCIO] weston 1.9.0" . wayland-devel (lista de correo).
- ^ Harrington, Bryce (17 de febrero de 2016). "[ANUNCIO] wayland 1.10.0" . wayland-devel (lista de correo).
- ^ Harrington, Bryce (17 de febrero de 2016). "[ANUNCIO] weston 1.10.0" . wayland-devel (lista de correo).
- ^ Nestor, Marius (18 de febrero de 2016). "Wayland 1.10 Display Server lanzado oficialmente, Wayland 1.11 llega en mayo de 2016" . Softpedia .
- ^ Larabel, Michael (16 de febrero de 2016). "Wayland 1.10 lanzado oficialmente" . Phoronix.com . Consultado el 17 de abril de 2016 .
- ^ Harrington, Bryce (1 de junio de 2016). "[ANUNCIO] wayland 1.11.0" . wayland-devel (lista de correo) . Consultado el 1 de junio de 2016 .
- ^ Harrington, Bryce (1 de junio de 2016). "[ANUNCIO] weston 1.11.0" . wayland-devel (lista de correo) . Consultado el 1 de junio de 2016 .
- ^ Harrington, Bryce (21 de septiembre de 2016). "[ANUNCIO] wayland 1.12.0" . wayland-devel (lista de correo) . Consultado el 21 de septiembre de 2016 .
- ^ Harrington, Bryce (21 de septiembre de 2016). "[ANUNCIO] weston 1.12.0" . wayland-devel (lista de correo) . Consultado el 21 de septiembre de 2016 .
- ^ Harrington, Bryce (21 de febrero de 2017). "[ANUNCIO] wayland 1.13.0" . wayland-devel (lista de correo) . Consultado el 30 de abril de 2017 .
- ^ Harrington, Bryce (25 de febrero de 2017). "[ANUNCIO] weston 2.0.0" . wayland-devel (lista de correo) . Consultado el 30 de abril de 2017 .
- ^ Harrington, Bryce (8 de agosto de 2017). "[ANUNCIO] wayland 1.14.0" . wayland-devel (lista de correo) . Consultado el 25 de marzo de 2018 .
- ^ Harrington, Bryce (8 de agosto de 2017). "[ANUNCIO] weston 3.0.0" . wayland-devel (lista de correo) . Consultado el 25 de marzo de 2018 .
- ^ Foreman, Derek (9 de abril de 2018). "[ANUNCIO] wayland 1.15.0" . wayland-devel (lista de correo) . Consultado el 15 de abril de 2018 .
- ^ Foreman, Derek (9 de abril de 2018). "[ANUNCIO] weston 4.0.0" . wayland-devel (lista de correo) . Consultado el 15 de abril de 2018 .
- ^ Foreman, Derek (24 de agosto de 2018). "[ANUNCIO] wayland 1.16.0" . wayland-devel (lista de correo) . Consultado el 30 de noviembre de 2018 .
- ^ Foreman, Derek (24 de agosto de 2018). "[ANUNCIO] weston 5.0.0" . wayland-devel (lista de correo) . Consultado el 30 de noviembre de 2018 .
- ^ Foreman, Derek (28 de marzo de 2019). "[ANUNCIO] wayland 1.17.0" (lista de correo) . Consultado el 17 de junio de 2019 .
- ^ Foreman, Derek (21 de marzo de 2019). "[ANUNCIO] weston 6.0.0" (lista de correo) . Consultado el 17 de junio de 2019 .
- ^ Ser, Simon (11 de febrero de 2020). "[ANUNCIO] wayland 1.18" (lista de correo) . Consultado el 12 de febrero de 2020 .
- ^ Ser, Simon (23 de agosto de 2019). "[ANUNCIO] weston 7.0.0" (lista de correo) . Consultado el 22 de octubre de 2019 .
- ^ https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
- ^ https://lists.freedesktop.org/archives/wayland-devel/2020-September/041595.html
enlaces externos
- Página web oficial