stringtranslate.com

Wayland (protocolo)

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 Wayland , porque además realiza la tarea de un administrador de ventanas de composición .

Wayland es desarrollado por un grupo de voluntarios liderados inicialmente por Kristian Høgsberg como un proyecto comunitario gratuito y de código abierto con el objetivo de reemplazar el sistema X Window con un sistema seguro [9] [10] [11] [12] y más simple. Sistema de ventanas 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]

Descripción general

  1. El módulo evdev del kernel de Linux obtiene un evento y lo envía al compositor Wayland .
  2. El compositor de Wayland mira su escena para determinar qué ventana debe recibir el evento. El escenógrafo corresponde a lo que está en pantalla y el compositor de Wayland comprende las transformaciones que puede haber aplicado a los elementos del escenógrafo. Por lo tanto, el compositor de Wayland puede elegir la ventana correcta y transformar las coordenadas de la pantalla en coordenadas locales de la ventana, aplicando las transformaciones inversas. Los tipos de transformación que se pueden aplicar a una ventana solo se restringen a lo que puede hacer el compositor, siempre que pueda calcular la transformación inversa para los eventos de entrada.
  3. Como en el caso X, cuando el cliente recibe el evento, actualiza la interfaz de usuario en respuesta. Pero en el caso de Wayland, la representación la realiza el cliente a través de EGL , y el cliente simplemente envía una solicitud al compositor para indicar la región que se actualizó.
  4. El compositor Wayland recopila solicitudes de daños de sus clientes y luego recompone la pantalla. Luego, el compositor puede emitir directamente un ioctl para programar un cambio de página con KMS .

El proyecto Wayland Display Server fue iniciado por el desarrollador de Red Hat Kristian Høgsberg en 2008. [14]

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 colocar 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". Será "un sistema gráfico muy simplificado que ofrecerá 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ó "[sacar] X 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 gran parte de la infraestructura se ha trasladado 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 Queda que eso tiene que suceder en un proceso del servidor central. ... [Un servidor X tiene] una enorme cantidad de funcionalidades que debes admitir para afirmar que hablas 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 renderizado principal que le permite dibujar líneas punteadas, polígonos, arcos anchos y muchos más gráficos con el estilo de la década de 1980. primitivos. 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 planificamos.

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 renderizan en Wayland en lugar de 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 proporcionaron transparencia de la red , aunque Høgsberg señaló en 2010 que la transparencia de la red es posible. [16] Se intentó como proyecto Google Summer of Code en 2011, pero no tuvo éxito. [17] Adam Jackson ha previsto proporcionar acceso remoto a una aplicación Wayland ya sea "raspando 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 ). [18] A principios de 2013, Høgsberg estaba experimentando con la transparencia de la red utilizando un servidor proxy Wayland que envía imágenes comprimidas al compositor real. [19] [20] En agosto de 2017, GNOME vio la primera implementación de un servidor VNC de raspado de píxeles en Wayland. [21] En los compositores Wayland modernos, la transparencia de la red se maneja en una implementación xdg-desktop-portal que implementa el portal RemoteDesktop.

Muchos compositores de Wayland también incluyen una implementación de xdg-desktop-portal para tareas comunes, como un selector de archivos nativo para aplicaciones nativas y entornos sandbox como Flatpak (xdg-desktop-portal-gtk se usa comúnmente como selector de archivos alternativo), grabación de pantalla, red. transparencia, capturas de pantalla, selección de colores y otras tareas que podrían considerarse que necesitan la intervención del usuario y, de lo contrario, constituyen riesgos para la seguridad. Tenga en cuenta que xdg-desktop-portal no es específico de Flatpak o Wayland, y puede usarse con sistemas de empaquetado y sistemas de ventanas alternativos.

Arquitectura de software

Arquitectura de protocolo

En la arquitectura del protocolo Wayland, un cliente y un compositor se comunican a través del protocolo Wayland utilizando las bibliotecas de implementación de referencia.

El protocolo Wayland sigue un modelo cliente-servidor en el que los clientes son las aplicaciones gráficas que solicitan la visualización de buffers de píxeles en la pantalla, y el servidor (compositor) es el proveedor de servicios que controla la visualización de estos buffers.

La implementación de referencia de Wayland ha sido diseñada como un protocolo de dos capas: [22]

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 . [24] 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, permitiendo 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-clienty una biblioteca para ser utilizada por los compositores de Wayland llamada libwayland-server. [23] : 57 

Descripción general del protocolo

El protocolo Wayland se describe como un " protocolo asíncrono orientado a objetos ". [23] : 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, una serie de 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 tiempos de retraso de ida y vuelta y logrando un rendimiento mejorado.

Los clientes de Wayland pueden realizar una solicitud (una invocación de método) sobre algún objeto si la interfaz del objeto admite esa solicitud. El cliente también deberá suministrar los datos requeridos para los argumentos de dicha solicitud. Esta es la forma en que los clientes solicitan los servicios del compositor. El compositor, a su vez, envía información al cliente haciendo que el objeto emita eventos (probablemente también con argumentos). Estos eventos pueden ser emitidos por el compositor 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. El compositor también señala las condiciones de error como eventos. [23] : 9 

Para que un cliente pueda realizar una solicitud a un objeto, primero debe decirle al servidor el número de identificación que utilizará para identificar ese objeto. [23] : 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 generalmente son creados por otros objetos que ya existen como parte de su funcionalidad. [25]

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. [23] : 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. [23] : 12 

Interfaces principales de Wayland

Las interfaces de la versión actual del protocolo Wayland se definen en el archivo protocolo/wayland.xml del código fuente de Wayland. [24] 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: [23] : 10–12 

Una sesión típica de cliente 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 reside dentro del servidor. Al usar su interfaz, el cliente puede solicitar el objeto global wl_registry del compositor, donde se encuentran 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. [25]

Interfaces de extensión Wayland

Un compositor Wayland puede definir y exportar sus propias interfaces adicionales. [23] : 10  Esta característica se utiliza para extender el protocolo más allá de la funcionalidad básica proporcionada por las interfaces principales y se ha convertido en la forma estándar de implementar extensiones del protocolo Wayland. Ciertos compositores pueden optar por agregar interfaces personalizadas para proporcionar funciones especializadas o únicas. El compositor de referencia de Wayland, Weston, los utilizó para implementar nuevas interfaces experimentales como banco de pruebas para nuevos conceptos e ideas, algunos de los cuales luego se convirtieron en parte del protocolo central (como la interfaz wl_subsurface agregada en Wayland 1.4 [26] ).

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 utilizar las funciones wl_shell_*(), que forman parte del protocolo central de Wayland y se encuentran en libwayland-client . Por el contrario, se supone que el compositor Wayland proporciona una implementación del protocolo xdg-shell. Entonces encontrará el encabezado xdg-shell-client-protocol.h en el árbol de fuentes de Weston.

xdg_shell es un protocolo destinado a sustituir a wl_shell a largo plazo, pero no formará parte del protocolo central de Wayland. Comienza como una API no estable, destinada a ser utilizada como lugar de desarrollo al principio, y una vez que se definen las características requeridas por varios shells de escritorio, finalmente se puede estabilizar. Proporciona principalmente dos interfaces nuevas: 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 hijo/padre. La interfaz xdg_popup implementa un menú emergente/menú estilo escritorio; un xdg_popup siempre es transitorio para otra superficie y también tiene agarre implícito. [27]

Protocolo IVI-Shell

IVI-Shell es una extensión del protocolo central de Wayland, dirigida a dispositivos de información y entretenimiento en vehículos (IVI). [28]

modelo de renderizado

Wayland compositor y sus clientes utilizan EGL para dibujar directamente en el framebuffer ; Servidor X.Org con XWayland y Glamour .

El protocolo Wayland no incluye una API de renderizado. [23] : 7  [13] [29] [30] : 2  En cambio, Wayland sigue un modelo de renderizado directo , en el que el cliente debe renderizar el contenido de la ventana en un búfer que se puede compartir con el compositor. [23] : 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 Wayland, como Qt o GTK . Opcionalmente, el cliente también puede utilizar 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 , entonces 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 memoria intermedia compartida a través de las interfaces wl_shm y wl_shm_pool . [23] : 11, 20-21  El inconveniente de este método es que es posible que el compositor necesite realizar 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 renderice 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. [31] Este método permite al compositor evitar la copia de datos adicionales a través del método de cliente a compositor a GPU del búfer de memoria principal, lo que resulta en un rendimiento de gráficos 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 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. [22] 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 finaliza. terminado, vincule este nuevo búfer a la superficie y confirme su contenido. [23] : 7  El procedimiento utilizado para la renderización, incluido el número de buffers involucrados y su gestión, está completamente bajo el control del cliente. [23] : 7 

Comparación con otros sistemas de ventanas.

Diferencias entre Wayland y X

Existen varias diferencias entre Wayland y X con respecto al rendimiento, la capacidad de mantenimiento del código y la seguridad: [32]

Arquitectura
El administrador de composición es una característica adicional separada en X, mientras que Wayland fusiona el servidor de visualización y el compositor como una sola función. [33] [29] Además, incorpora algunas de las tareas del administrador de ventanas , que en X es un proceso separado del lado del cliente. [34]
composición
La composición es opcional en X, pero obligatoria en Wayland. La composición en X es "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. [35] : 8-11 
Representación
El servidor X en sí es capaz de 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.). [33] [29] Las decoraciones de ventanas deben representarse en el lado del cliente (por ejemplo, mediante un kit de herramientas gráficas) o en el lado del servidor (por el compositor) con el protocolo de decoración xdg opcional, si el compositor elige implementar dicha funcionalidad. [36]
Seguridad
Wayland aísla la entrada y salida de cada ventana, logrando confidencialidad, integridad y disponibilidad para ambas. El diseño original de X carecía de estas importantes características de seguridad, [10] [11] [12] aunque se han desarrollado algunas extensiones tratando de mitigarlo. [37] [38] [39] Además, como la gran mayoría del código se ejecuta en el cliente, es necesario ejecutar menos código con privilegios de root , lo que mejora la seguridad, [10] aunque varias distribuciones populares de Linux ahora permiten que el servidor X sea ejecutar sin privilegios de root. [40] [41] [42] [43]
Comunicación entre procesos
El servidor X proporciona un método de comunicación básico entre clientes X, ampliado posteriormente por las convenciones ICCCM . Esta comunicación X de 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 en absoluto, ya que la comunidad de Wayland considera que la funcionalidad correspondiente (si es necesaria) es algo que debe ser implementado por los entornos de escritorio (como KDE o GNOME) o por un tercero ( por ejemplo, utilizando IPC nativo del sistema operativo subyacente).
Redes
El sistema X Window es una arquitectura que fue diseñada en esencia 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 Wayland que proporcionarían acceso remoto al búfer de cuadros similar al de VNC . [20]

Compatibilidad con X

XWayland es un servidor X que se ejecuta como un cliente Wayland y, por lo tanto, es capaz de mostrar aplicaciones cliente X11 nativas en un entorno de compositor Wayland. [44] 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 mientras tanto una manera de ejecutar aplicaciones no portadas. XWayland se incorporó a la versión 1.16 del servidor X.Org . [45]

Los kits de herramientas de widgets como Qt 5 y GTK 3 pueden cambiar su back-end gráfico en tiempo de ejecución, [46] permitiendo a los usuarios elegir en el momento de la carga si desean ejecutar la aplicación en X o en Wayland. Qt 5 proporciona la -platformopción de línea de comandos [47] 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 . [46] [48]

Compositores de Wayland

Elementos típicos de una ventana . El protocolo Wayland no especifica qué software es responsable de representar la decoración de la ventana . [36]
Plasma 5.24.0 (febrero de 2022) en Wayland ( kwin_waylandcompositor) en Arch Linux

Los servidores de visualización que implementan el protocolo del servidor de visualización Wayland también se denominan compositores Wayland porque además realizan la tarea de un administrador de ventanas de composición .

Weston

Weston es la implementación de referencia de un compositor Wayland [59] 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. [60] Cuando se ejecuta en Linux, el manejo del hardware de entrada depende de evdev , mientras que el manejo de los buffers se basa en Generic Buffer Management (GBM). Sin embargo, en 2013 se anunció un prototipo de adaptación de Weston a FreeBSD . [61]

Weston admite la protección de contenido digital de alto ancho de banda (HDCP). [62]

Weston confía en GEM para compartir buffers de aplicaciones entre el compositor y las aplicaciones. Contiene un sistema de complementos de "shells" para funciones comunes de escritorio, como bases y paneles. [20] Los clientes son responsables del dibujo de los marcos de sus ventanas y de sus decoraciones. Para el renderizado, Weston puede usar OpenGL ES [63] o la biblioteca pixman para realizar el renderizado por software . [64] No se utiliza la implementación completa de OpenGL, porque en la mayoría de los sistemas actuales, la instalación de las bibliotecas OpenGL completas también instalaría GLX y otras bibliotecas de soporte del sistema X Window como dependencias. [sesenta y cinco]

En octubre de 2013, un empleado de RealVNC propuso una interfaz de acceso remoto para Weston . [66]

maynard

Maynard (en enero de 2017)

Maynard es un shell gráfico y ha sido escrito como un complemento para Weston, al igual que GNOME Shell ha sido escrito como un complemento para Mutter . [67]

La Fundación Raspberry Pi, en colaboración con Collabora, lanzó Maynard y trabaja para mejorar el rendimiento y el consumo de memoria. [68] [69]

libinput

libinput se creó para consolidar la pila de entrada en múltiples compositores de Wayland.

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 , cuyo soporte se fusionó por primera vez en Weston 1.5. [70] [71]

Libinput maneja dispositivos de entrada para múltiples compositores Wayland y también proporciona un controlador de entrada genérico para el servidor X.Org . Su objetivo es proporcionar una implementación para múltiples compositores de Wayland con una forma común de manejar eventos de entrada y al mismo tiempo minimizar la cantidad de códigos de entrada personalizados que los compositores deben incluir. libinput proporciona detección de dispositivos [ se necesita aclaración ] (a través de udev ), manejo de dispositivos, procesamiento de eventos de dispositivos de entrada y abstracción. [72] [73]

La versión 1.0 de libinput siguió a la versión 0.21 e incluyó soporte para tabletas, conjuntos de botones y gestos del panel táctil. Esta versión mantendrá API/ABI estable. [74]

Como GNOME/GTK y KDE Frameworks 5 [75] han incorporado los cambios necesarios, Fedora 22 reemplazará los controladores evdev y Synaptics de X.Org con libinput. [76]

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 . [77] [78]

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 . [79]

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 confidenciales, como tomar capturas de pantalla o inyectar eventos de entrada, sin pasar por xdg-desktop-portal u obtener acceso privilegiado al sistema.

Wayland Security Module es una forma de delegar decisiones de seguridad dentro del compositor a un motor de decisiones de seguridad centralizado. [79]

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. En julio de 2014 se estaba trabajando en estas interfaces adicionales. Entonces, si bien los kits de herramientas ya son totalmente compatibles con Wayland, los desarrolladores de 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, la mayoría de las distribuciones de Linux son compatibles con Wayland de fábrica. Algunos ejemplos notables son:

Uno de los primeros usuarios notables:

Soporte del kit de herramientas

Los kits de herramientas que respaldan a Wayland incluyen lo siguiente:

Entornos de escritorio

Los entornos de escritorio en proceso de migración de X a Wayland incluyen GNOME , [102] KDE Plasma 5 [103] y Enlightenment . [104]

En noviembre de 2015, se anunció Enlightenment e20 con soporte total para Wayland. [105] [51] [106] GNOME 3.20 fue la primera versión que tuvo una sesión completa de Wayland. [107] GNOME 3.22 incluyó soporte Wayland muy mejorado en GTK, Mutter y GNOME Shell. [108] GNOME 3.24 proporcionó soporte para los controladores propietarios de NVidia en Wayland. [109]

El soporte de Wayland para KDE Plasma se retrasó hasta el lanzamiento de Plasma 5, [110] aunque anteriormente KWin 4.11 obtuvo un soporte experimental para Wayland. [111] La versión 5.4 de Plasma fue la primera con una sesión de Wayland. [112] Durante 2020, Klipper se transfirió a Wayland y la próxima versión 5.20 en octubre de 2020 tiene el objetivo de mejorar la transmisión y grabación de pantalla. [113]

Otro software

Otro software compatible con Wayland incluye lo siguiente:

Hardware móvil e integrado

Weston ejecutándose en postmarketOS

El hardware móvil e integrado que admite Wayland incluye lo siguiente:

Historia

Wayland utiliza renderizado directo sobre EGL .

Kristian Høgsberg, un desarrollador de gráficos Linux y X.Org que anteriormente trabajó en AIGLX y DRI2 , inició Wayland como un proyecto de tiempo libre en 2008 mientras trabajaba para Red Hat . [131] [132] [133] [134] Su objetivo declarado era un sistema en el que "cada fotograma sea perfecto, con lo que quiero decir que las aplicaciones podrán controlar el renderizado lo suficiente como para que nunca veamos desgarros, retrasos, redibujando o parpadeando." Høgsberg conducía por la ciudad de Wayland, Massachusetts , cuando los conceptos subyacentes "cristalizaron", de ahí el nombre ( Weston y Maynard también son pueblos cercanos en la misma zona, continuando con la referencia). [133] [135]

En octubre de 2010, Wayland se convirtió en un proyecto de freedesktop.org . [136] [137] Como parte de la migración, el grupo de Google anterior fue reemplazado por la lista de correo wayland-devel como punto central de discusión y desarrollo del proyecto.

Las bibliotecas de cliente y servidor Wayland se publicaron inicialmente bajo la licencia MIT , [138] mientras que el compositor de referencia Weston y algunos clientes de ejemplo utilizaron la licencia pública general GNU versión 2 . [139] Posteriormente, se volvió a otorgar la licencia de todo el código GPL bajo la licencia MIT "para facilitar el movimiento de código entre la implementación de referencia y las bibliotecas reales". [140] En 2015, se descubrió que el texto de la licencia utilizado por Wayland era una versión ligeramente diferente y anterior de la licencia MIT, y el texto de la licencia se actualizó a la versión actual utilizada por el proyecto X.Org (conocido como Licencia MIT Expat). ). [5]

Wayland funciona con todos los controladores compatibles con Mesa con soporte DRI2 [121] , así como con controladores de Android a través del proyecto Hybris . [141] [142] [143]

Lanzamientos

Ver también

Referencias

  1. ^ Høgsberg, Kristian (30 de septiembre de 2008). "Compromiso inicial". Archivado desde el original el 1 de abril de 2020 . Consultado el 3 de enero de 2020 .
  2. ^ ab Ser, Simon (4 de abril de 2023). "[ANUNCIO] wayland 1.22.0" (Lista de correo) . Consultado el 9 de abril de 2023 .
  3. ^ ab "[ANUNCIO] weston 13.0.0". 28 de noviembre de 2023.
  4. ^ "Wayland & Weston Compositor portado a DragonFlyBSD - Phoronix". www.phoronix.com . Archivado desde el original el 16 de agosto de 2016 . Consultado el 20 de julio de 2016 .
  5. ^ abc Harrington, Bryce (15 de septiembre de 2015). "[ANUNCIO] wayland 1.8.93". freedesktop.org (lista de correo). Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  6. ^ "wayland/wayland: raíz/COPIANDO". freedesktop.org . Archivado desde el original el 11 de noviembre de 2013 . Consultado el 14 de junio de 2015 .
  7. ^ Larabel, Michael (10 de junio de 2015). "La licencia MIT de Wayland se actualizará/corregirá". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  8. ^ a b C "Wayland". Proyecto Wayland . Archivado desde el original el 2 de marzo de 2011 . Consultado el 9 de mayo de 2016 .
  9. ^ Sengar, Shivam Singh (16 de junio de 2018). "Wayland v/s Xorg: en qué se parecen y en qué se diferencian". jugo secundario . Archivado desde el original el 23 de septiembre de 2020 . Consultado el 10 de septiembre de 2020 .
  10. ^ abc Kerrisk, Michael (25 de septiembre de 2012). "XDC2012: seguridad de la pila de gráficos". LWN.net . Archivado desde el original el 28 de marzo de 2016 . Consultado el 13 de abril de 2016 .
  11. ^ ab Peres, Martín (21 de febrero de 2014). "Wayland Compositors: ¡por qué y cómo gestionar clientes privilegiados!". Archivado desde el original el 10 de marzo de 2016 . Consultado el 17 de abril de 2016 .
  12. ^ ab Graesslin, Martin (23 de noviembre de 2015). "Observando la seguridad de Plasma/Wayland". Archivado desde el original el 27 de agosto de 2022 . Consultado el 18 de abril de 2016 .
  13. ^ abcde "Preguntas frecuentes sobre Wayland". Proyecto Wayland . Archivado desde el original el 2 de abril de 2016 . Consultado el 9 de mayo de 2016 .
  14. ^ Michael Larabel (20 de mayo de 2009). "El estado del servidor de visualización Wayland". Forónix . Archivado desde el original el 17 de octubre de 2021 . Consultado el 17 de octubre de 2021 .
  15. ^ Corbet, Jonathan (5 de noviembre de 2010). "LPC: La vida después de X". LWN.net . Archivado desde el original el 28 de abril de 2016 . Consultado el 17 de abril de 2016 .
  16. ^ Høgsberg, Kristian (9 de noviembre de 2010). "Argumento de transparencia de la red". Archivado desde el original el 15 de agosto de 2020 . Consultado el 14 de enero de 2020 . Wayland no es una API de renderizado remoto como X, pero eso no excluye la transparencia de la red. Los clientes renderizan en un búfer compartido y luego tienen que decirle al compositor (...) qué cambiaron. Luego, el compositor puede enviar los nuevos píxeles de esa región a través de la red. El protocolo Wayland ya es violentamente asíncrono, por lo que debería poder manejar un poco de retraso en la red con elegancia. La visualización remota de videos en pantalla completa o los juegos no funcionarán bien, [pero] no conozco ningún otro sistema de visualización que lo maneje tan bien y de manera transparente.
  17. ^ Larabel, Michael (18 de agosto de 2011). "Proyecto de servidor remoto Wayland: ¿ya funciona?". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  18. ^ Jackson, Adam (9 de noviembre de 2010). "[Re:] Ubuntu avanza hacia Wayland". Archivado desde el original el 8 de marzo de 2021 . Consultado el 14 de enero de 2020 .
  19. ^ Stone, Daniel (28 de enero de 2013). La verdadera historia detrás de Wayland y X (Discurso). linux.conf.au 2013. Canberra. Archivado desde el original el 10 de agosto de 2017 . Consultado el 13 de abril de 2016 .
  20. ^ abc Willis, Nathan (13 de febrero de 2013). "LCA: Los caminos de Wayland". LWN.net . Archivado desde el original el 24 de junio de 2016 . Consultado el 19 de mayo de 2016 .
  21. ^ Aleksandersen, Daniel (28 de agosto de 2017). "Las capacidades de escritorio remoto están listas para regresar en GNOME en Wayland". Ctrl.blog . Archivado desde el original el 28 de agosto de 2017 . Consultado el 29 de agosto de 2017 .
  22. ^ ab "El tutorial de Hello Wayland". 8 de julio de 2014. Archivado desde el original el 13 de julio de 2014 . Consultado el 25 de julio de 2014 .
  23. ^ abcdefghijklmno Høgsberg, Kristian. "Documentación de Wayland 1.3" (PDF) . Archivado (PDF) desde el original el 10 de septiembre de 2015 . Consultado el 16 de marzo de 2016 .
  24. ^ ab Høgsberg, Kristian. "protocolo/wayland.xml". FreeDesktop.org . Archivado desde el original el 18 de julio de 2014 . Consultado el 25 de julio de 2014 .
  25. ^ ab Paalanen, Pekka (25 de julio de 2014). "Diseño del protocolo Wayland: vida útil del objeto". Archivado desde el original el 29 de mayo de 2016 . Consultado el 6 de abril de 2016 .
  26. ^ ab Høgsberg, Kristian (24 de enero de 2014). "Wayland and Weston 1.4 ya está disponible". Lista de correo de wayland-devel . Archivado desde el original el 5 de abril de 2020 . Consultado el 14 de enero de 2020 .
  27. ^ "xdg_shell: agregar un nuevo protocolo de shell". freedesktop.org . 3 de diciembre de 2013. Archivado desde el original el 14 de julio de 2014 . Consultado el 14 de junio de 2014 .
  28. ^ "GENIVI/wayland-ivi-extensión". GitHub . 17 de noviembre de 2021. Archivado desde el original el 24 de marzo de 2017 . Consultado el 17 de agosto de 2016 .
  29. ^ abc Vervloesem, Koen (15 de febrero de 2012). "FOSDEM: el servidor de visualización de Wayland". LWN.net . Archivado desde el original el 5 de junio de 2016 . Consultado el 9 de mayo de 2016 .
  30. ^ Barnes, Jesse. "Introducción a Wayland" (PDF) . Centro de tecnología de código abierto Intel. Archivado (PDF) desde el original el 6 de abril de 2016 . 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.
  31. ^ Paalanen, Pekka (21 de noviembre de 2012). "Sobre el soporte a los clientes de Wayland GL y las plataformas integradas patentadas". Archivado desde el original el 6 de abril de 2016 . 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 hacer que la GPU acceda nuevamente al mismo búfer.
  32. ^ Griffith, Eric (7 de junio de 2013). "La situación de Wayland: hechos sobre X vs. Wayland". Phoronix.com . pag. 2. Archivado desde el original el 24 de septiembre de 2015 . Consultado el 17 de abril de 2016 .
  33. ^ ab "Arquitectura Wayland". Proyecto Wayland . Archivado desde el original el 13 de marzo de 2016 . Consultado el 9 de mayo de 2016 .
  34. ^ Edge, Jake (11 de abril de 2012). "LFCS 2012: X y Wayland". LWN.net . Archivado desde el original el 30 de abril de 2016 . Consultado el 17 de abril de 2016 .
  35. ^ "Arquitectura de Wayland/X Compositor por ejemplo: Enlightenment DR19" (PDF) . Archivado (PDF) desde el original el 13 de octubre de 2017 . Consultado el 18 de abril de 2016 .
  36. ^ ab Graesslin, Martin (7 de febrero de 2013). "Decoraciones de ventanas laterales del cliente y Wayland". Archivado desde el original el 13 de abril de 2016 . Consultado el 17 de abril de 2016 .
  37. ^ "Seguridad de X.Org". Fundación X.Org . Archivado desde el original el 22 de diciembre de 2017 . Consultado el 2 de julio de 2017 . El servidor X ha incluido durante mucho tiempo una extensión, SECURITY, que brinda soporte para un modelo simple de conexión confiable/no confiable.
  38. ^ Wiggins, David P. (15 de noviembre de 1996). "Especificación de extensión de seguridad". X Estándar del Consorcio . Archivado desde el original el 8 de diciembre de 2018 . Consultado el 2 de julio de 2017 .
  39. ^ Walsh, Eamon F. (2009). "Especificación de extensión de control de acceso X". Archivado desde el original el 9 de enero de 2016 . Consultado el 2 de julio de 2017 .
  40. ^ "Debian se traslada a un servidor X.Org no raíz de forma predeterminada: Phoronix". www.phoronix.com . Archivado desde el original el 2 de abril de 2018 . Consultado el 2 de abril de 2018 .
  41. ^ "Xorg no root - Gentoo Wiki". wiki.gentoo.org . Archivado desde el original el 2 de abril de 2018 . Consultado el 2 de abril de 2018 .
  42. ^ "X/Rootless - Wiki de Ubuntu". wiki.ubuntu.com . Archivado desde el original el 2 de abril de 2018 . Consultado el 2 de abril de 2018 .
  43. ^ "1078902 - Xorg sin derechos de root". bugzilla.redhat.com . Archivado desde el original el 2 de abril de 2018 . Consultado el 2 de abril de 2018 .
  44. ^ "Clientes X bajo Wayland (XWayland)". Proyecto Wayland. Archivado desde el original el 27 de agosto de 2022 . Consultado el 18 de julio de 2014 .
  45. ^ "ANUNCIO: servidor xorg 1.16.0". freedesktop.org . 17 de julio de 2014. Archivado desde el original el 8 de marzo de 2021 . Consultado el 14 de enero de 2020 .
  46. ^ ab Høgsberg, Kristian (3 de enero de 2011). "Múltiples backends para GTK". Archivado desde el original el 27 de agosto de 2022 . Consultado el 10 de marzo de 2016 .
  47. ^ "QtWayland". QtWiki . Archivado desde el original el 10 de marzo de 2016 . Consultado el 9 de marzo de 2016 .
  48. ^ "Compatibilidad total con Wayland en GTK". Wiki de Gnomo . Archivado desde el original el 7 de septiembre de 2015 . Consultado el 10 de marzo de 2016 .
  49. ^ "Hyprland - ArchWiki". wiki.archlinux.org . Consultado el 28 de enero de 2024 .
  50. ^ "Hyprland: compositor dinámico de ventanas en mosaico con apariencia". hyprland.org . Consultado el 28 de enero de 2024 .
  51. ^ ab Larabel, Michael (30 de noviembre de 2015). "Enlightenment 0.20 llega con soporte completo para Wayland y mejor soporte para FreeBSD". Phoronix.com . Archivado desde el original el 15 de marzo de 2016 . Consultado el 17 de abril de 2016 .
  52. ^ "Wayland". www.enlightenment.org . Archivado desde el original el 9 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  53. ^ "Plasma 5.21". Comunidad KDE . 16 de febrero de 2021. Archivado desde el original el 8 de marzo de 2021 . Consultado el 9 de marzo de 2021 .
  54. ^ "Índice de /fuentes/mutter-wayland". descargar.gnome.org . Archivado desde el original el 21 de mayo de 2014 . Consultado el 27 de mayo de 2014 .
  55. ^ "Mejorar la versión a 3.13.1". 30 de abril de 2014.
  56. ^ "Balanceo". swaywm.org . Archivado desde el original el 20 de diciembre de 2018 . Consultado el 20 de diciembre de 2018 .
  57. ^ "swaywm/wlroots". GitHub . Archivado desde el original el 19 de diciembre de 2018 . Consultado el 28 de octubre de 2018 .
  58. ^ "influir/influir". GitHub . Archivado desde el original el 28 de agosto de 2019 . Consultado el 28 de octubre de 2018 .
  59. ^ "LÉAME". cgit.freedesktop.org . Archivado desde el original el 8 de marzo de 2021 . Consultado el 9 de noviembre de 2019 .
  60. ^ "Archivo LÉAME del repositorio de código fuente de Wayland". freedesktop.org . Archivado desde el original el 14 de enero de 2020 . Consultado el 14 de enero de 2020 .
  61. ^ Larabel, Michael (16 de febrero de 2013). "Wayland comienza el proceso de migración a FreeBSD". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  62. ^ "Agregar soporte de protección de contenido en drm-backend (!48) · Solicitudes de fusión · wayland / weston". GitLab . 6 de noviembre de 2018. Archivado desde el original el 27 de agosto de 2022 . Consultado el 27 de octubre de 2019 .
  63. ^ Paalanen, Pekka (10 de marzo de 2012). "¿Qué hace EGL en la pila de Wayland?". Archivado desde el original el 12 de octubre de 2016 . Consultado el 19 de mayo de 2016 .
  64. ^ ab Larabel, Michael (6 de enero de 2013). "Un renderizador Pixman basado en software para Weston de Wayland". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  65. ^ Høgsberg, Kristian (9 de diciembre de 2010). "Blender3D y sujeción del cursor". Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  66. ^ ab "Módulo de interfaz de acceso remoto [RFC weston]". freedesktop.org . 18 de octubre de 2013. Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  67. ^ "Anuncio de Maynard". 16 de abril de 2014. Archivado desde el original el 8 de marzo de 2017 . Consultado el 16 de abril de 2014 .
  68. ^ ab "Estudio de caso de Raspberry Pi". Colabora. Archivado desde el original el 1 de septiembre de 2013 . Consultado el 9 de agosto de 2013 .
  69. ^ ab "Vista previa de Wayland". Frambuesa Pi. Archivado desde el original el 9 de febrero de 2014 . Consultado el 9 de agosto de 2013 .
  70. ^ ab Høgsberg, Kristian (20 de mayo de 2014). "Se lanza Wayland and Weston 1.5.0". Lista de correo de wayland-devel . Archivado desde el original el 19 de octubre de 2019 . Consultado el 14 de enero de 2020 .
  71. ^ Ådahl, Jonas (12 de noviembre de 2013). "[RFC] Biblioteca de dispositivos de entrada comunes". Lista de correo de Wayland. Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  72. ^ "libinentrada". Freedesktop.org. Archivado desde el original el 19 de abril de 2014 . Consultado el 21 de mayo de 2014 .
  73. ^ Hutterer, Peter (8 de octubre de 2014). Consolidando las pilas de entrada con libinput (Voz). Conferencia de desarrolladores de X.Org 2014. Burdeos. Archivado desde el original el 1 de noviembre de 2020 . Consultado el 14 de enero de 2020 .
  74. ^ Hutterer, Peter (22 de febrero de 2015). "libinput: el camino hacia 1.0". Archivado desde el original el 25 de octubre de 2020 . Consultado el 9 de noviembre de 2019 .
  75. ^ "Se agregó soporte para Libinput al panel táctil KCM". 22 de febrero de 2015. Archivado desde el original el 24 de febrero de 2015 . Consultado el 24 de febrero de 2015 .
  76. ^ Goede, Hans de (23 de febrero de 2015). "Libinput ahora está habilitado como controlador xorg predeterminado para instalaciones de estaciones de trabajo F-22". Archivado desde el original el 24 de febrero de 2015 . Consultado el 24 de febrero de 2015 .
  77. ^ Hutterer, Peter (24 de septiembre de 2014). "libinput: una pila de entrada común para compositores Wayland y controladores X.Org". Archivado desde el original el 7 de abril de 2016 . Consultado el 17 de abril de 2016 .
  78. ^ de Goede, Hans (1 de febrero de 2015). "Reemplazo de la entrada xorg: controladores con libinput" (PDF) . Archivado (PDF) desde el original el 22 de noviembre de 2021 . Consultado el 18 de abril de 2016 .
  79. ^ ab Dodier-Lazaro, Steve; Peres, Martín (9 de octubre de 2014). Seguridad en entornos de escritorio basados ​​en Wayland: clientes privilegiados, autorización, autenticación y sandboxing. (Discurso). Conferencia de desarrolladores de X.Org 2014. Burdeos. Archivado desde el original el 9 de abril de 2016 . Consultado el 18 de abril de 2016 .
  80. ^ "Cambios/WaylandByDefault - Wiki del Proyecto Fedora". fedoraproject.org . Archivado desde el original el 27 de diciembre de 2015 . Consultado el 9 de noviembre de 2020 .
  81. ^ "Notas de la versión para Ubuntu 17.10". Canónico. Archivado desde el original el 24 de noviembre de 2017 . Consultado el 10 de noviembre de 2017 .
  82. ^ "Ubuntu 18.04 volverá al antiguo Xorg" . Consultado el 16 de diciembre de 2023 .
  83. ^ "Bionic Beaver 18.04 LTS para usar Xorg de forma predeterminada". Canónico. Archivado desde el original el 18 de febrero de 2018 . Consultado el 18 de febrero de 2018 .
  84. ^ "Ubuntu 21.04 ya está aquí". Blog canónico de Ubuntu . Archivado desde el original el 22 de abril de 2021 . Consultado el 14 de junio de 2021 .
  85. ^ "Notas de la versión de Red Hat Enterprise Linux 8.0". Portal del cliente de Red Hat . Archivado desde el original el 25 de noviembre de 2020 . Consultado el 25 de diciembre de 2020 .
  86. ^ "NewInBuster - Wiki Debian". wiki.debian.org . Archivado desde el original el 25 de septiembre de 2019 . Consultado el 15 de julio de 2019 .
  87. ^ "Registros de cambios de Slackware". Slackware Linux. Archivado desde el original el 30 de enero de 2020 . Consultado el 26 de febrero de 2020 .
  88. ^ "Se lanzó Manjaro 20.2 Nibia". 3 de diciembre de 2020. Archivado desde el original el 4 de diciembre de 2020 . Consultado el 3 de diciembre de 2020 .
  89. ^ "Wayland Live OS ahora se basa en pruebas de Debian y funciona con soporte KDE Wayland". Forónix. Archivado desde el original el 11 de agosto de 2019 . Consultado el 14 de enero de 2020 .
  90. ^ "RebeccaBlackOS". Fuenteforja. Archivado desde el original el 25 de noviembre de 2016 . Consultado el 11 de octubre de 2016 .
  91. ^ "Probando Wayland con Rebecca Black". Forónix. Archivado desde el original el 18 de mayo de 2020 . Consultado el 14 de enero de 2020 .
  92. ^ "New Wayland Live CD tiene muchas funciones". Forónix. Archivado desde el original el 18 de mayo de 2020 . Consultado el 14 de enero de 2020 .
  93. ^ Bassi, Emmanuele (31 de enero de 2011). "ANUNCIO: Clutter 1.6.0 (estable)". anuncio de desorden (lista de correo). Archivado desde el original el 10 de marzo de 2016 . Consultado el 9 de marzo de 2016 .
  94. ^ 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 está básicamente completo[ enlace muerto permanente ]
  95. ^ Bassi, Emmanuele (24 de septiembre de 2013). "ANUNCIO: Desorden 1.16.0 (estable)". anuncio de desorden (lista de correo). Archivado desde el original el 10 de marzo de 2016 . Consultado el 9 de marzo de 2016 .
  96. ^ "Wayland - Ilustración". Archivado desde el original el 29 de marzo de 2013 . Consultado el 6 de marzo de 2013 .
  97. ^ "Hoja de ruta GTK". Archivado desde el original el 13 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  98. ^ Lantinga, Sam (8 de marzo de 2014). "¡SDL 2.0.2 LANZADO!". Proyecto SDL. Archivado desde el original el 15 de marzo de 2014 . Consultado el 18 de marzo de 2014 .
  99. ^ Larabel, Michael (9 de enero de 2016). "SDL 2.0.4 se lanzó silenciosamente la semana pasada con Wayland y Mir de forma predeterminada". Phoronix.com . Archivado desde el original el 16 de marzo de 2016 . Consultado el 17 de abril de 2016 .
  100. ^ Berglund, Camilla (8 de abril de 2014). "Implementación para Wayland · Número 106 · glfw/glfw · GitHub". GitHub . Archivado desde el original el 27 de agosto de 2022 . Consultado el 14 de agosto de 2014 .
  101. ^ "FreeGLUT: implementar soporte inicial para Wayland". GitHub . Archivado desde el original el 10 de noviembre de 2020 . Consultado el 7 de abril de 2015 .
  102. ^ "Iniciativas GNOME - Wayland". Wiki Gnomo . Archivado desde el original el 7 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  103. ^ "KWin/Wayland". Wiki de la comunidad KDE . Archivado desde el original el 10 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  104. ^ "Ilustración - Wayland". Ilustración.org . Archivado desde el original el 9 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  105. ^ "Lanzamiento de Enlightenment DR 0.20.0". Ilustración.org . Archivado desde el original el 21 de junio de 2018 . Consultado el 8 de marzo de 2016 .
  106. ^ "La Ilustración de Wayland". FOSDEM.org . Archivado desde el original el 9 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  107. ^ "Planificación de lanzamientos/Planes de funciones". Proyecto GNOME. Archivado desde el original el 31 de mayo de 2015 . Consultado el 31 de mayo de 2015 .
  108. ^ "Una mirada a las interesantes funciones y mejoras de GNOME 3.22". Forónix. Archivado desde el original el 12 de agosto de 2020 . Consultado el 14 de enero de 2020 .
  109. ^ "GNOME consigue soporte principal para NVIDIA Wayland mediante EGLStreams". Forónix. Archivado desde el original el 8 de agosto de 2019 . Consultado el 14 de enero de 2020 .
  110. ^ "El camino del plasma hacia Wayland". 25 de julio de 2014. Archivado desde el original el 27 de julio de 2014 . Consultado el 25 de julio de 2014 .
  111. ^ Larabel, Michael (14 de junio de 2013). "Lanzamiento de KDE 4.11 Beta, funciona en Wayland". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  112. ^ Graesslin, Martin (29 de junio de 2015). "Cuatro años después". Archivado desde el original el 31 de marzo de 2016 . Consultado el 17 de abril de 2016 .
  113. ^ Dawe, Liam (28 de julio de 2020). "KDE Plasma 5.20 admitirá correctamente la grabación de pantalla en Wayland y más". gamingonlinux.com . Archivado desde el original el 27 de agosto de 2022 . Consultado el 10 de septiembre de 2020 .
  114. ^ Schaller, Christian (3 de julio de 2014). "Actualización de Wayland en Fedora". blogs.gnome.org . Archivado desde el original el 1 de mayo de 2016 . Consultado el 17 de abril de 2016 .
  115. ^ "Vista previa para desarrolladores de VNC® Wayland". 8 de julio de 2014. Archivado desde el original el 14 de julio de 2014.
  116. ^ "Correo electrónico de vista previa del desarrollador de RealVNC Wayland". freedesktop.org . 9 de julio de 2014. Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  117. ^ "Actualización del estado de Maliit". Posteroso. 2 de abril de 2013. Archivado desde el original el 17 de mayo de 2013 . Consultado el 14 de octubre de 2013 .
  118. ^ "Más mejoras en el teclado Maliit: QtQuick2". Blog de Murray. 2 de abril de 2013. Archivado desde el original el 13 de octubre de 2013 . Consultado el 14 de octubre de 2013 .
  119. ^ "Maliit bajo Wayland". Archivado desde el original el 11 de junio de 2013 . Consultado el 14 de septiembre de 2013 .
  120. ^ "wterm". Freedesktop.org. Archivado desde el original el 14 de julio de 2014 . Consultado el 8 de julio de 2014 .
  121. ^ ab Hillesley, pág. 3.
  122. ^ "Eclipse ahora se ejecuta en Wayland". 18 de agosto de 2014. Archivado desde el original el 23 de agosto de 2014 . Consultado el 17 de septiembre de 2014 .
  123. ^ Stone, Daniel (16 de febrero de 2016). "Se lanzó la especificación Vulkan 1.0 con soporte desde el primer día para Wayland". Archivado desde el original el 24 de junio de 2016 . Consultado el 27 de febrero de 2016 .
  124. ^ "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 .
  125. ^ "El primer teléfono inteligente Jolla funciona con Wayland". LinuxG.net. 14 de julio de 2013. Archivado desde el original el 28 de junio de 2014 . Consultado el 8 de octubre de 2013 .
  126. ^ VDVsx [@VDVsx] (13 de julio de 2013). "Diagrama de componentes principales de #sailfishos. #Qt5 #Wayland #JollaHQ #Akademy" ( Tweet ) - vía Twitter .
  127. ^ Jolla [@JollaHQ] (13 de julio de 2013). "@faenil @PeppeLaKappa @VDVsx nuestro primer Jolla se enviará con wayland, sí" ( Tweet ) - vía Twitter .
  128. ^ "Configuración IVI/IVI". Wiki Tizen. Archivado desde el original el 10 de febrero de 2017 . Consultado el 8 de abril de 2013 .
  129. ^ VanCutsem, Geoffroy (10 de julio de 2013). "[IVI] Lanzamiento de Tizen IVI 3.0-M1". IVI (Lista de correo). Archivado desde el original el 2 de octubre de 2013 . Consultado el 13 de julio de 2013 .
  130. ^ Amadeo, Ron (12 de mayo de 2017). "El Samsung Z4 es el nuevo teléfono inteligente insignia de Tizen". Ars Técnica . Archivado desde el original el 13 de mayo de 2017 . Consultado el 13 de mayo de 2017 .
  131. ^ Høgsberg, Kristian (3 de noviembre de 2008). "La publicidad prematura es mejor que ninguna publicidad". Archivado desde el original el 28 de marzo de 2016 . Consultado el 6 de abril de 2016 .
  132. ^ "Entrevista: Kristian Høgsberg". Archivo FOSDEM . 29 de enero de 2012. Archivado desde el original el 4 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  133. ^ ab Hillesley, Richard (13 de febrero de 2012). "Wayland - Más allá de X". El H Abierto . Heise Media Reino Unido. Archivado desde el original el 6 de diciembre de 2013 . Consultado el 8 de marzo de 2016 .
  134. ^ Høgsberg, Kristian. "Wayland: un nuevo servidor de visualización para Linux". Conferencia de fontaneros de Linux, 2009. Archivado desde el original el 11 de agosto de 2017.
  135. ^ Jenkins, Evan (22 de marzo de 2011). "La pila de gráficos de Linux de X a Wayland". Ars Técnica . Archivado desde el original el 10 de abril de 2016 . Consultado el 17 de abril de 2016 .
  136. ^ Larabel, Michael (29 de octubre de 2010). "Wayland se convierte en un proyecto de FreeDesktop.org". Phoronix.com . Archivado desde el original el 14 de abril de 2016 . Consultado el 17 de abril de 2016 .
  137. ^ Høgsberg, Kristian (29 de octubre de 2010). "Pasar a freedesktop.org". Archivado desde el original el 9 de noviembre de 2012 . Consultado el 31 de julio de 2013 .
  138. ^ Høgsberg, Kristian (3 de diciembre de 2008). "Wayland ahora tiene licencia del MIT". wayland-display-server (lista de correo). Archivado desde el original el 9 de noviembre de 2012 . Consultado el 8 de marzo de 2016 .
  139. ^ Høgsberg, Kristian (22 de noviembre de 2010). "Aclaración sobre la licencia de Wayland". wayland-devel (lista de correo). Archivado desde el original el 9 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
  140. ^ Høgsberg, Kristian (19 de septiembre de 2011). "Actualización de licencia". wayland-devel (lista de correo). Archivado desde el original el 29 de abril de 2016 . Consultado el 8 de marzo de 2016 .
  141. ^ Munk, Carsten (11 de abril de 2013). "Wayland utiliza controladores de GPU de Android en sistemas basados ​​en glibc, Parte 1". Proyecto Mer. Archivado desde el original el 19 de abril de 2013 . Consultado el 3 de julio de 2013 .
  142. ^ Munk, Carsten (8 de junio de 2013). "Wayland utiliza controladores de GPU de Android en sistemas basados ​​en glibc, parte 2". Proyecto Mer. Archivado desde el original el 24 de octubre de 2013 . Consultado el 3 de julio de 2013 .
  143. ^ Larabel, Michael (11 de abril de 2013). "Jolla lleva a Wayland a la cima de los controladores de GPU de Android". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  144. ^ "Wayland". Wayland.freedesktop.org. Archivado desde el original el 7 de julio de 2013 . Consultado el 15 de julio de 2013 .
  145. ^ Høgsberg, Kristian (9 de febrero de 2012). "[ANUNCIO] Lanzamiento de Wayland y Weston 0.85.0". Lista de correo de wayland-devel . Archivado desde el original el 14 de enero de 2020 . Consultado el 14 de enero de 2020 .
  146. ^ Høgsberg, Kristian (24 de julio de 2012). "Lanzamiento de Wayland y Weston 0.95.0". Lista de correo de wayland-devel . Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  147. ^ Høgsberg, Kristian (22 de octubre de 2012). "Wayland y Weston 1.0". Lista de correo de wayland-devel . Archivado desde el original el 23 de agosto de 2019 . Consultado el 14 de enero de 2020 .
  148. ^ Scherschel, Fabián (23 de octubre de 2012). "El hito 1.0 de Wayland corrige el protocolo de gráficos". El H Abierto . Heise Media Reino Unido. Archivado desde el original el 7 de diciembre de 2013 . Consultado el 17 de abril de 2016 .
  149. ^ Larabel, Michael (16 de abril de 2013). "Wayland 1.1 lanzado oficialmente con Weston 1.1". Phoronix.com . Archivado desde el original el 25 de abril de 2016 . Consultado el 17 de abril de 2016 .
  150. ^ Høgsberg, Kristian (15 de abril de 2013). "1.1 Publicado". Lista de correo de wayland-devel . Archivado desde el original el 27 de mayo de 2019 . Consultado el 14 de enero de 2020 .
  151. ^ Larabel, Michael (13 de julio de 2013). "Lanzamiento de Wayland 1.2.0, acompañado por Weston Compositor". Phoronix.com . Archivado desde el original el 14 de abril de 2016 . Consultado el 17 de abril de 2016 .
  152. ^ Høgsberg, Kristian (12 de julio de 2013). "Lanzamiento de Wayland y Weston 1.2.0". Lista de correo de wayland-devel . Archivado desde el original el 25 de junio de 2019 . Consultado el 14 de enero de 2020 .
  153. ^ Høgsberg, Kristian (11 de octubre de 2013). "Los lanzamientos de Wayland y Weston 1.3 ya están disponibles". Lista de correo de wayland-devel . Archivado desde el original el 8 de agosto de 2020 . Consultado el 11 de abril de 2020 .
  154. ^ Paalanen, Pekka (19 de septiembre de 2014). "Lanzamiento de Wayland y Weston 1.6.0". Lista de correo de wayland-devel . Archivado desde el original el 27 de mayo de 2019 . Consultado el 14 de enero de 2020 .
  155. ^ Harrington, Bryce (14 de febrero de 2015). "[ANUNCIO] wayland 1.7.0". Lista de correo de wayland-devel . Archivado desde el original el 5 de abril de 2020 . Consultado el 14 de enero de 2020 .
  156. ^ Harrington, Bryce (14 de febrero de 2015). "[ANUNCIO] weston 1.7.0". Lista de correo de wayland-devel . Archivado desde el original el 5 de abril de 2020 . Consultado el 14 de enero de 2020 .
  157. ^ Harrington, Bryce (2 de junio de 2015). "[ANUNCIO] wayland 1.8.0". Lista de correo de wayland-devel . Archivado desde el original el 15 de agosto de 2020 . Consultado el 14 de enero de 2020 .
  158. ^ Harrington, Bryce (2 de junio de 2015). "[ANUNCIO] weston 1.8.0". Lista de correo de wayland-devel . Archivado desde el original el 15 de agosto de 2020 . Consultado el 14 de enero de 2020 .
  159. ^ Harrington, Bryce (21 de septiembre de 2015). "[ANUNCIO] wayland 1.9.0". wayland-devel (lista de correo). Archivado desde el original el 25 de octubre de 2020 . Consultado el 14 de enero de 2020 .
  160. ^ Harrington, Bryce (21 de septiembre de 2015). "[ANUNCIO] weston 1.9.0". wayland-devel (lista de correo). Archivado desde el original el 21 de septiembre de 2020 . Consultado el 14 de enero de 2020 .
  161. ^ "[ANUNCIO] protocolos wayland 1.0". 25 de noviembre de 2015.
  162. ^ Harrington, Bryce (17 de febrero de 2016). "[ANUNCIO] wayland 1.10.0". wayland-devel (lista de correo). Archivado desde el original el 17 de febrero de 2016 . Consultado el 17 de febrero de 2016 .
  163. ^ Harrington, Bryce (17 de febrero de 2016). "[ANUNCIO] weston 1.10.0". wayland-devel (lista de correo). Archivado desde el original el 24 de febrero de 2016 . Consultado el 17 de febrero de 2016 .
  164. ^ Nestor, Marius (18 de febrero de 2016). "Lanzamiento oficial del servidor de visualización Wayland 1.10; Wayland 1.11 llegará en mayo de 2016". Softpedia . Archivado desde el original el 14 de enero de 2020 . Consultado el 14 de enero de 2020 .
  165. ^ Larabel, Michael (16 de febrero de 2016). "Lanzamiento oficial de Wayland 1.10". Phoronix.com . Archivado desde el original el 21 de junio de 2017 . Consultado el 17 de abril de 2016 .
  166. ^ "[ANUNCIO] protocolos wayland 1.1". 16 de febrero de 2016.
  167. ^ "[ANUNCIO] protocolos wayland 1.4". 23 de mayo de 2016.
  168. ^ Harrington, Bryce (1 de junio de 2016). "[ANUNCIO] wayland 1.11.0". wayland-devel (lista de correo). Archivado desde el original el 1 de junio de 2016 . Consultado el 1 de junio de 2016 .
  169. ^ Harrington, Bryce (1 de junio de 2016). "[ANUNCIO] weston 1.11.0". wayland-devel (lista de correo). Archivado desde el original el 8 de octubre de 2016 . Consultado el 1 de junio de 2016 .
  170. ^ "[ANUNCIO] protocolos wayland 1.5". 22 de julio de 2016.
  171. ^ "[ANUNCIO] protocolos wayland 1.7". 15 de agosto de 2016.
  172. ^ Harrington, Bryce (21 de septiembre de 2016). "[ANUNCIO] wayland 1.12.0". wayland-devel (lista de correo). Archivado desde el original el 2 de abril de 2017 . Consultado el 21 de septiembre de 2016 .
  173. ^ Harrington, Bryce (21 de septiembre de 2016). "[ANUNCIO] weston 1.12.0". wayland-devel (lista de correo). Archivado desde el original el 8 de octubre de 2016 . Consultado el 21 de septiembre de 2016 .
  174. ^ Harrington, Bryce (21 de febrero de 2017). "[ANUNCIO] wayland 1.13.0". wayland-devel (lista de correo). Archivado desde el original el 24 de febrero de 2017 . Consultado el 30 de abril de 2017 .
  175. ^ Harrington, Bryce (25 de febrero de 2017). "[ANUNCIO] weston 2.0.0". wayland-devel (lista de correo). Archivado desde el original el 2 de marzo de 2017 . Consultado el 30 de abril de 2017 .
  176. ^ "[ANUNCIO] protocolos wayland 1.10". 31 de julio de 2017.
  177. ^ Harrington, Bryce (8 de agosto de 2017). "[ANUNCIO] wayland 1.14.0". wayland-devel (lista de correo). Archivado desde el original el 20 de octubre de 2018 . Consultado el 25 de marzo de 2018 .
  178. ^ Harrington, Bryce (8 de agosto de 2017). "[ANUNCIO] weston 3.0.0". wayland-devel (lista de correo). Archivado desde el original el 20 de octubre de 2018 . Consultado el 25 de marzo de 2018 .
  179. ^ "[ANUNCIO] protocolos wayland 1.11". 11 de octubre de 2017.
  180. ^ "[ANUNCIO] protocolos wayland 1.13". 14 de febrero de 2018.
  181. ^ Capataz, Derek (9 de abril de 2018). "[ANUNCIO] wayland 1.15.0". wayland-devel (lista de correo). Archivado desde el original el 10 de abril de 2018 . Consultado el 15 de abril de 2018 .
  182. ^ Capataz, Derek (9 de abril de 2018). "[ANUNCIO] weston 4.0.0". wayland-devel (lista de correo). Archivado desde el original el 10 de abril de 2018 . Consultado el 15 de abril de 2018 .
  183. ^ "[ANUNCIO] protocolos wayland 1.14". 7 de mayo de 2018.
  184. ^ "[ANUNCIO] protocolos wayland 1.16". 30 de julio de 2018.
  185. ^ Capataz, Derek (24 de agosto de 2018). "[ANUNCIO] wayland 1.16.0". wayland-devel (lista de correo). Archivado desde el original el 28 de agosto de 2018 . Consultado el 30 de noviembre de 2018 .
  186. ^ Capataz, Derek (24 de agosto de 2018). "[ANUNCIO] weston 5.0.0". wayland-devel (lista de correo). Archivado desde el original el 25 de agosto de 2018 . Consultado el 30 de noviembre de 2018 .
  187. ^ "[ANUNCIO] protocolos wayland 1.17". 12 de noviembre de 2018.
  188. ^ Capataz, Derek (28 de marzo de 2019). "[ANUNCIO] wayland 1.17.0" (Lista de correo). Archivado desde el original el 25 de marzo de 2019 . Consultado el 17 de junio de 2019 .
  189. ^ Capataz, Derek (21 de marzo de 2019). "[ANUNCIO] weston 6.0.0" (Lista de correo). Archivado desde el original el 31 de marzo de 2019 . Consultado el 17 de junio de 2019 .
  190. ^ "[ANUNCIO] protocolos wayland 1.18". 25 de julio de 2019.
  191. ^ Ser, Simon (11 de febrero de 2020). "[ANUNCIO] wayland 1.18" (Lista de correo). Archivado desde el original el 1 de abril de 2021 . Consultado el 12 de febrero de 2020 .
  192. ^ Ser, Simon (23 de agosto de 2019). "[ANUNCIO] weston 7.0.0" (Lista de correo). Archivado desde el original el 25 de agosto de 2019 . Consultado el 22 de octubre de 2019 .
  193. ^ Ser, Simon (24 de enero de 2020). "[ANUNCIO] weston 8.0.0" (Lista de correo) . Consultado el 12 de febrero de 2020 .
  194. ^ "[ANUNCIO] weston 9.0.0". 4 de septiembre de 2020. Archivado desde el original el 29 de septiembre de 2020 . Consultado el 30 de octubre de 2020 .
  195. ^ "[ANUNCIO] protocolos wayland 1.19". 29 de febrero de 2020.
  196. ^ "[ANUNCIO] protocolos wayland 1.20". 29 de febrero de 2020.
  197. ^ Ser, Simon (27 de enero de 2021). "[ANUNCIO] wayland 1.19.0" (Lista de correo). Archivado desde el original el 1 de febrero de 2021 . Consultado el 27 de enero de 2021 .
  198. ^ "[ANUNCIO] protocolos wayland 1.21". 30 de abril de 2021.
  199. ^ "[ANUNCIO] protocolos wayland 1.24". 23 de noviembre de 2021.
  200. ^ Ser, Simon (27 de enero de 2021). "[ANUNCIO] wayland 1.20.0" (Lista de correo). Archivado desde el original el 11 de diciembre de 2021 . Consultado el 27 de enero de 2021 .
  201. ^ Ser, Simon (1 de febrero de 2022). "[ANUNCIO] weston 10.0.0" (Lista de correo). Archivado desde el original el 4 de febrero de 2022 . Consultado el 12 de febrero de 2022 .
  202. ^ "[ANUNCIO] weston 10.0.5". 2 de agosto de 2023.
  203. ^ "[ANUNCIO] protocolos wayland 1.25". 28 de enero de 2022.
  204. ^ "[ANUNCIO] wayland 1.21.0". 30 de junio de 2022.
  205. ^ "[ANUNCIO] weston 11.0.0". 22 de septiembre de 2022.
  206. ^ "[ANUNCIO] weston 11.0.3". 2 de agosto de 2023.
  207. ^ "[ANUNCIO] protocolos wayland 1.26". 7 de julio de 2022.
  208. ^ "[ANUNCIO] protocolos wayland 1.31". 29 de noviembre de 2022.
  209. ^ "[ANUNCIO] weston 12.0.0". 17 de mayo de 2023.
  210. ^ "[ANUNCIO] weston 12.0.3". 28 de noviembre de 2023.
  211. ^ "[ANUNCIO] protocolos wayland 1.32". 3 de julio de 2023.
  212. ^ https://lists.freedesktop.org/archives/wayland-devel/2024-January/043400.html

enlaces externos