Como anunció recientemente Mark Shuttleworth, Ubuntu se moverá hacia el uso de Wayland como su administrador de pantalla.
¿Cuáles son las mayores diferencias entre X11 y Wayland? ¿Por qué Wayland mejorará Ubuntu?
Como anunció recientemente Mark Shuttleworth, Ubuntu se moverá hacia el uso de Wayland como su administrador de pantalla.
¿Cuáles son las mayores diferencias entre X11 y Wayland? ¿Por qué Wayland mejorará Ubuntu?
Respuestas:
Puede ver la página de arquitectura de Wayland para ver cómo difiere en diseño. Se supone que simplifica toda la pila de gráficos al forzar todo a través de una pila GEM / DRM estándar directamente en el núcleo y administrar la composición en sí.
Compare eso con la pila X donde tiene bits y bobs por todas partes. Parte del desastre X ha sido a través de un diseño flexible, algunos han sido dolores de crecimiento. Todos los compositores (Compiz / Metacity / Mutter / KWin / etc) se han agregado como una ocurrencia tardía. En esencia, son piratas informáticos para hacer lo que X probablemente debería estar haciendo por sí mismo. Si las cosas continúan expandiéndose hacia afuera como lo han sido, llegaremos a un punto en el que el proyecto se volverá insostenible.
En general, cuando el soporte de hardware está allí, debería hacer que toda la pila sea más eficiente y menos dolorosa de usar en configuraciones estándar.
Sin embargo, hay un par de problemas para los que no he visto remedios hasta ahora:
X es bastante consciente de la red. Puede enviar ventanas a otras computadoras, puede tener múltiples pantallas con inicios de sesión remotos y todo tipo de cosas funky como esa. Esto puede parecer bastante especializado, pero es una tecnología ampliamente utilizada. Wayland parece bastante local y estático en comparación.
También hay soporte para controladores. Los controladores de código cerrado aún no son compatibles con las tecnologías KMS / shared-GEM / shared-DRM en las que Wayland prospera. Un purista podría estar de acuerdo con Nouveau, pero alguien que paga £ 100-400 en una tarjeta gráfica 3D de alto rendimiento no estará contento con el escaso rendimiento 3D pobre que obtendrían con el controlador abierto actual.
Actualización: Nvidia está trabajando para admitir Wayland y Mir .
Actualización 2018 . 17.10 usó Wayland como el servidor de visualización predeterminado (a menos que tuviera un controlador cerrado, o un controlador que no lo admitiera, o necesitara X). 18.04 y 18.10 usan X como valor predeterminado global (aunque puede instalar Wayland).
No estoy a cargo de nada, pero desde esta posición, parece que todavía estamos a una Nvidia métrica lejos de obtener una tracción real . Hasta ese momento, no creo que veamos suficiente participación mental y poder de desarrollo detrás de Wayland. El mercado de juegos / rendimiento está utilizando X. El mercado de MCE está utilizando X (y framebuffers directos). No estoy seguro de que Wayland alguna vez tenga una oportunidad real.
Hay muchas diferencias entre X y Wayland. Probablemente el más grande desde el punto de vista gráfico es que Wayland no hace ningún dibujo .
X tiene dos API de dibujo. Uno de estos es parte del protocolo central X11, que es antiguo, inútil y que nadie usa. La otra es la extensión XRender que proporciona operaciones compuestas modernas, entre otras cosas, como los gradientes. Esto es lo que el Cairo, por ejemplo, usa. X también tiene API de dibujo de fuentes.
Wayland no tiene API de dibujo. Un cliente de Wayland obtiene un controlador de búfer DRM, que es básicamente un puntero a alguna memoria gráfica; Wayland no sabe ni le importa cómo el cliente se acerca a ese búfer. En términos X, esto significa que todas las aplicaciones obtienen representación directa : las solicitudes de dibujo no necesitan pasar por el servidor.
La única representación que Wayland hace es copiar los buffers del cliente en la pantalla.
En términos de beneficios, Wayland es mucho menos complejo que X lo que debería hacer más fácil mantener - aunque algunos de esta simplicidad viene de empujar la complejidad (por ejemplo: cómo realmente dibujar en ese búfer, la transparencia de red) a otras capas de la apilar. Al hacer que los clientes sean responsables de todas sus representaciones, los clientes pueden ser más inteligentes sobre cosas como el doble búfer.
Hay otros beneficios fuera de los gráficos. Es mucho más fácil usar aplicaciones de sandbox, por ejemplo.
La principal diferencia en mis ojos es que Wayland está más cerca del núcleo que X-Server. Con el movimiento de los controladores de gráficos de X al kernel (conocido como configuración del modo de kernel, KMS), Wayland planea usar esta nueva funcionalidad para reemplazar X. Puede esperar ver lo siguiente ...
Menos espacio que X - porque la pantalla es manejada por el kernel Wayland no tendrá que implementarse tanto para ser utilizable. Esto ocurre en ambos sentidos, ya que sospecho que el reenvío de X (mira una pantalla en otra PC) puede desaparecer con X.
Características de KMS: Poder cambiar la resolución de pantalla sin reiniciar el servidor X (aunque creo que esto se solucionó en X hace un tiempo, al menos para nvidia), depurar la consola en kernel panic para conjuntos de chips de Intel (mudarse a nouveau) si está interesado esa clase de cosas.
¿Alguien puede corregirme sobre esto si me equivoco?
Todas las otras publicaciones destacan los beneficios de Wayland, pero no todo es bueno solamente. La mayor ventaja de X sobre Wayland es que X funciona a través de la red. X es transparente de red, puede mostrar la ventana, o con XDMCP una sesión completa, en un terminal mientras el programa real se ejecuta en otra máquina, generalmente más potente. Con algo como Wayland, la idea de la transparencia de la red se ha ido. Tal vez no sea tan necesario en estos días con redes rápidas y otros protocolos como VNC y RDP, solo pensé en mencionarlo para completarlo.
Dos pequeñas cosas que cualquiera notará con bastante rapidez en el trabajo diario: