Loading AI tools
servidor gráfico de ventanas para sistemas operativos tipo Unix De Wikipedia, la enciclopedia libre
Wayland es un protocolo de comunicaciones de servidor gráfico y una biblioteca para Linux que implementa este protocolo.[1]
Wayland | ||
---|---|---|
Parte de Freedesktop.org | ||
Captura de pantalla de Maynard, un complemento para Weston, la implementación de referencia de Wayland | ||
Información general | ||
Tipo de programa | Servidor gráfico | |
Autor | Kristian Høgsberg | |
Desarrollador | freedesktop.org | |
Modelo de desarrollo | Software libre | |
Lanzamiento inicial | 30 de septiembre de 2008 | |
Licencia | Licencia MIT | |
Estado actual | Activo | |
Información técnica | ||
Programado en | C | |
Plataformas admitidas | Multiplataforma | |
Versiones | ||
Última versión estable | 1.23.124 de agosto de 2024 | |
Enlaces | ||
Wayland proporciona un método para que los gestores de composición de ventanas se comuniquen directamente con las aplicaciones y el hardware de vídeo. Se espera que también sea posible la comunicación con hardware de entrada usando otras bibliotecas. Las aplicaciones renderizan los gráficos en sus propios buffers y el gestor de ventanas se convierte en el servidor gráfico, haciendo una composición con esos buffers para formar la visualización en pantalla de las ventanas de las aplicaciones. Este es un enfoque más simple y más eficiente que usar un gestor de composición de ventanas con el X Window System.[2]
Como parte de sus esfuerzos, el proyecto Wayland también desarrolla una implementación de referencia de un compositor de Wayland llamado Weston.
Kristian Høgsberg (krh), un ingeniero de software que trabaja en la pila de gráficos de Linux, comenzó Wayland en su tiempo libre en 2008 mientras trabajaba para Red Hat,[3] en este momento trabaja para Intel.[4] Anteriormente había trabajado en AIGLX,[5] que permitía la aceleración por hardware en los gestores de composición de ventanas, y en DRI2.[6][7][8] El nombre "Wayland" viene del pueblo de Wayland, Massachusetts. Høgsberg estaba conduciendo a través de este pueblo cuando los conceptos detrás de Wayland "se cristalizaron".[9]
Su principal objetivo era un sistema en el que "cada frame es perfecto, me refiero a que las aplicaciones serán capaces de controlar el renderizado lo suficiente como para que nunca veamos tearing, retraso, redibujado o parpadeo".
Wayland es software libre. Las bibliotecas libwayland-server y libwayland-client fueron liberadas bajo la licencia MIT y el compositor de demostración originalmente bajo los términos de la LGPLv2. Se planificó cambiar todo el proyecto a la licencia LGPLv2, pero esto no ocurrió y actualmente todo el proyecto utiliza licencia MIT.[10][11]
En noviembre de 2010, Wayland solo funciona con controladores libres y de código abierto para Intel, AMD (anteriormente conocido como ATI) y Nvidia (controlador nouveau).[12] En noviembre de 2010, Nvidia declaró que no tiene planes de dar soporte a Wayland en sus controladores cautivos.[13]
Los desarrolladores de Wayland son, en su gran mayoría, desarrolladores de X.Org Server.
En marzo de 2021, Nvidia finalmente adopta los estándares de Wayland, y comienza a darle soporte en sus drivers privativos[14]
Versión | Fecha | Principales características | |
---|---|---|---|
Wayland | Weston | ||
0.85 | 9 de febrero de 2012 | Primer lanzamiento | |
0.95 | 24 de julio de 2012 | Began API stabilization. | |
1.0 | 22 de octubre de 2012 | Stable wayland-client API. | |
1.1 | 15 de abril de 2013 | Software rendering.[15] FBDEV, RDP backends. | |
1.2 | 12 de julio de 2013[16][17] | Stable wayland-server API. | Color management. Subsurfaces. Raspberry Pi backend. |
1.3 | 11 de octubre de 2013[18] | More pixel formats. Support for language bindings. | Android driver support via libhybris. |
1.4 | 23 de enero de 2014[19] | New wl_subcompositor and wl_subsurface interfaces. | Multiple framebuffer formats. logind support for rootless Weston. |
1.5 | 20 de mayo de 2014[20] | libinput. Fullscreen shell. | |
1.6 | 19 de septiembre de 2014[21] | libinput por defecto | |
1.7 | 2015 de febrero de 14[22][23] | Support for the Wayland presentation extension and for surface roles. IVI shell protocol. | |
1.8 | 02 de junio de 2015[24][25] | Separated headers for core and generated protocol. | Repaint scheduling. Named outputs. Output transformations. Surface-shooting API. |
1.9 | 21 de septiembre de 2015[26][27] | Updated license. | Updated license. New test framework. Triple-head DRM compositor. linux_dmabuf extension. |
1.10 | 17 de febrero de 2016[28][29] | Drag-and-drop functionality, grouped pointer events.[30] | Video 4 Linux 2, touch input, debugging improvements.[31] |
1.11 | 01 de junio de 2016[32][33] | New backup loading routine, new setup logic. | Proxy wrappers, shared memory changes, Doxygen-generated HTML docs. |
1.12 | 21 de septiembre de 2016[34][35] | Debugging support improved. | libweston and libweston-desktop. Pointer locking and confinement. Relative pointer support. |
1.13 | 24 de febrero de 2017[36][37] | The ABI of Weston has been changed, thus the new version was named 2.0.0 rather than 1.13.0. | |
1.14 | 08 de agosto de 2017[38][39] | Lanzamiento de Weston 3.0.0 . | |
1.15 | 09 de abril de 2018[40][41] | Weston 4.0.0 was released at the same time. | |
1.16 | 24 de agosto de 2018[42][43] | Weston 5.0.0 was released at the same time. | |
1.17 | 20 de marzo de 2019[44][45] | Weston 6.0.0 was released at the same time. | |
1.18 | 02 de agosto de 2019[46][47] | Weston 7.0.0 fue lanzado un mes después. Weston 8.0.0[48] released at 2020-01-24. Weston 9.0.0[49] released at 2020-09-04. | |
1.19 | 27 de enero de 2021[50] | ||
1.20 | 09 de diciembre de 2021[51] | Weston 10.0.0 es lanzado el 1 de febrero del 2022.[52] | |
Versión antigua Versión antigua, con soporte técnico Última versión Lanzamiento futuro |
Para julio de 2022:
En los últimos años, los gráficos de escritorio en GNU/Linux han pasado de tener "una pila de interfaces de renderizado... todos hablando con el servidor X, el cual es el centro del universo" a poner el núcleo Linux "en el centro", con "sistemas de ventanas como X y Wayland... en un rincón". Esto será "un sistema de gráficos muy simplificado que ofrece más flexibilidad y mejor rendimiento".[70]
Høgsberg podía haber añadido una extensión a X como han hecho otros proyectos recientes, pero prefirió "empujar a X fuera del camino entre los clientes y el hardware" por las razones explicadas en las preguntas frecuentes del proyecto:[71]
Lo que es diferente ahora es que mucha de la infraestructura se ha movido desde el servidor X al núcleo (gestión de memoria, planificación de órdenes, ajuste de los modos) o bibliotecas (cairo, pixman, freetype, fontconfig, pango, etc), y es muy poco lo que tiene que llevarse a cabo en un proceso servidor central. ... [Un servidor X tiene] una enorme cantidad de funcionalidades que tienes que soportar para poder afirmar que hablas el protocolo X, sin embargo, nadie las va a utilizar. ... Esto incluye tablas de códigos, rasterización glifo y almacenamiento en caché, XLFDs (en serio, XLFDs!), y todo el núcleo de la API de renderizado que permite dibujar líneas punteadas, polígonos, arcos amplios y muchas más primitivas gráficas del estilo de la década de 1980. Hemos sido capaces de mantener el servidor X.org moderno mediante extensiones, como XRandR, XRender y COMPOSITE ... Con Wayland podemos mover el servidor X y toda su tecnología heredada a un código opcional. Llegar a un punto en el que el servidor X es una opción de compatibilidad en lugar del centro de renderizado del sistema tardará un tiempo, pero no vamos a llegar nunca si [nosotros] no lo planeamos.
Wayland consiste en un protocolo (en gran parte completo) y una implementación de referencia llamada Weston. Para el renderizado, Weston puede usar OpenGL ES o software (la biblioteca pixman).[72] En la actualidad, los clientes se limitan a OpenGL ES en lugar de OpenGL completo porque "libGL utiliza GLX y todas las dependencias de X".[73] El proyecto también está desarrollando versiones de GTK+ y Qt que renderizan hacia Wayland en vez de a X. Se espera la mayoría de las aplicaciones obtengan soporte para Wayland a través de una de estas bibliotecas sin modificar la aplicación.
Wayland actualmente no proporciona transparencia en red, pero es posible que lo haga en el futuro.[74] Se intentó como un proyecto de Google Summer of Code en 2011, pero no tuvo éxito.[75] La lista de tareas por hacer de Wayland 1.0 incluye "tal vez tratar de hacer que Wayland remoto tenga lugar, a ver si hay algo en el protocolo/arquitectura que lo haga más difícil de lo que debería ser".[76] Adam Jackson ha previsto proporcionar acceso remoto a una aplicación Wayland a través de cualquier 'pixel-scraping" (como VNC) o enviando un "flujo de comandos de renderizado" a través de la red (como en RDP, SPICE o X11).[77] A principios de 2013, Høgsberg experimentó con la transparencia de red utilizando un servidor proxy Wayland que envía imágenes comprimidas al compositor real.[78]
Weston, el compositor Wayland de referencia, solo trabaja con el núcleo Linux debido a su dependencia de las características específicas de Linux como udev.[79]
xwayland[80] fue escrito para permitir ejecutar aplicaciones X11 a través de un servidor X, opcionalmente sin privilegios de root, corriendo como un cliente Wayland.[81] Esto es similar a la forma en la que las aplicaciones X se ejecutan en el entorno gráfico nativo de Mac OS X.
Las aplicaciones escritas con la biblioteca Qt pueden cambiar entre X y Wayland en tiempo de carga con la opción -platform
en la línea de comandos.[82] En enero de 2011, el soporte de Wayland fue movido a la rama Lighthouse del repositorio Qt.[83] Qt Lighthouse se incluye en la versión 4.8 de Qt.[84]
En diciembre de 2010, GTK+ añadió soporte preliminar para cambiar el backend en tiempo de ejecución, diciendo "X11+Wayland o XQuartz+X11 son combinaciones interesantes".[85][86] En enero de 2011, el backend Wayland de GTK+ fue actualizado para soportar la característica de multiples-backends y fue movido a la rama gdk-wayland-backend del repositorio Git de GTK+.[87] En abril de 2011, la rama gdk-wayland-backend fue juntada con la rama principal de GTK+.
Los gestores de composición de ventanas existentes, como KWin y Mutter, se espera que implementen soporte para Wayland de forma directa, para convertirse en compositores Wayland/servidores gráficos.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.