¿Qué es Wayland y qué significa para los usuarios de Linux?
Desde que Fedora 25 introdujo audazmente la pila de gráficos Wayland de forma predeterminada en 2016, se ha instalado como la opción principal en varias distribuciones de Linux. Incluso puede estar usándolo ahora si está leyendo esto desde una máquina Linux. A pesar de que Wayland ha existido por un tiempo, sigue siendo un tema de intriga entre las personas que se han acostumbrado a usar el antiguo y ubicuo protocolo X11 a través de Xorg.
¡Esta guía repasa brevemente qué es Wayland, qué hace y por qué los desarrolladores acuden a él en masa!
¿Qué es Wayland?
Para mostrar las ventanas en su pantalla y dibujar correctamente cada uno de sus elementos, Linux necesita una forma de comunicarse con su hardware de gráficos y pantallas. Desde 1984 hasta 2016, la mayoría de las distribuciones utilizaron un protocolo de visualización llamado «protocolo central del sistema de ventanas X» (o simplemente X). Wayland apareció al final de este período, presentando una alternativa que es más liviana, tiene más seguridad y está más optimizada para trabajar en tecnologías de visualización modernas.
Sin embargo, los protocolos de visualización no pueden funcionar por sí solos para dibujar cosas en la pantalla. Deben implementarse en piezas de software conocidas como servidores de visualización. Para X, el campeón reinante durante mucho tiempo ha sido Xorg.
En Wayland, el servidor de visualización a menudo será solo el administrador de ventanas que usa su entorno de escritorio. Para GNOME, es Mutter. En KDE Plasma, es KWin. En lugar de tener un proceso independiente separado que ejecute el servidor, el administrador de ventanas realiza llamadas a una biblioteca dentro del sistema para comunicarse con el hardware de gráficos. En la mayoría de los casos, eso sería wlroots
.
Esto permite que Mutter de GNOME, por ejemplo, escriba datos en el framebuffer directamente, en lugar de usar un intermediario (muy parecido a cómo se usa Xorg), mejorando el rendimiento de manera tangible.
¿Cómo funciona Wayland?
Los servidores de pantalla brindan información al kernel y al hardware de gráficos para que puedan pasar cosas rápidamente a la pantalla. Reciben esta información a través de aplicaciones que se comunican con ellos utilizando sus respectivos protocolos. Una aplicación diseñada para trabajar con X, por ejemplo, no puede comunicarse con un servidor Wayland.
Wayland resuelve esto a través de algo llamado XWayland, que actúa como una capa de compatibilidad que permite que la interacción cliente-servidor de X se traduzca en algo que Wayland pueda «entender».
En Wayland, el servidor y el compositor son lo mismo. Todos los entornos de escritorio que utilizan Wayland realizan llamadas a una biblioteca que implementa el protocolo Wayland para dibujar efectos, como transparencia, desenfoque de ventanas, animaciones de transición y sombras paralelas, que dan a las ventanas una sensación de dimensión.
Wayland acerca todas estas funciones al kernel y, a menudo, lo sentirá por la «suavidad» que experimenta en el entorno gráfico.
En lugar de dibujar mediante el uso de un software de terceros, Wayland llama a lo que se conoce como el búfer Direct Rendering Manager (DRM) en el kernel para dibujar cosas.
Puede notar que en Wayland, los pasos son mucho más simples y el proceso directo. Esto conduce a un mayor rendimiento en situaciones gráficamente intensas y facilita a los desarrolladores la creación de aplicaciones que se ejecutan bajo este protocolo.
Cómo probar Wayland
La mayoría de las distribuciones de Linux han decidido usar Wayland como una opción predeterminada, ¡así que es posible que incluso lo estés usando ahora mismo! Puede verificar esto fácilmente abriendo una terminal y escribiendo echo $XDG_SESSION_TYPE
.
Hay algunos obstáculos, como Linux Mint, debido al lento ciclo de desarrollo de sus entornos de escritorio y al debate sobre si Wayland es realmente lo suficientemente maduro para ejecutarse en la distribución.
Por el momento, instalar Ubuntu 22.04 o posterior, o cualquier versión de Fedora compatible actualmente, ofrece la forma más sencilla de experimentar Wayland.
En cualquier otra distribución, si usa una versión actual de GNOME o KDE Plasma, tiene la opción de usar Wayland.
Si está utilizando Arch Linux , es posible que deba seguir estos pasos:
- Si está ejecutando GNOME, no hay nada que hacer, ya que su administrador de pantalla (GDM) lo admite de manera predeterminada. Si está ejecutando KDE Plasma con su administrador de pantalla predeterminado, debe obtener la versión «git» de AUR :
yay -S sddm-git
o
paru -S sddm-git
- Si hizo algo en el paso 1, verifique que el servicio systemd no se haya deshabilitado o algo así:
sudo systemctl enable sddm
- Instalar XWayland:
sudo pacman -S xorg-xwayland
¡Eso es todo! La próxima vez que inicie su sistema, tendrá la opción de seleccionar Wayland como el protocolo de visualización para su entorno de escritorio en su pantalla de inicio de sesión.
Si desea depurar eventos para ver por qué algo no funciona correctamente, ejecute:
qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
Preguntas frecuentes
¿Qué controladores son compatibles actualmente con Wayland?
Desde que Nvidia lanzó la versión 495.44 el 26 de octubre de 2021, todos los principales fabricantes de tarjetas gráficas (AMD, Nvidia e Intel) han implementado soporte completo para Wayland en sus controladores con Generic Buffer Management (GBM), que actualmente es el estándar de oro para implementaciones de el protocolo de visualización.
¿Wayland detendrá los keyloggers?
Se sabe desde hace mucho tiempo que X11 es vulnerable a algo conocido como «ataque de acceso no autorizado» ( CVE-1999-0526 ), que permite que las aplicaciones tomen capturas de pantalla no autorizadas, accedan a eventos del teclado y el mouse, etc., para obtener acceso a nombres de usuario y contraseñas Aunque Wayland cuenta con medidas de seguridad para evitar este tipo de ataques, esta protección solo está dentro del ámbito de mostrar gráficos a su pantalla. Una aplicación aún puede, en la práctica, escuchar otros tipos de mensajes enviados al núcleo a través del teclado.
En resumen, evite el exceso de confianza en su máquina, ¡ya que Wayland mejora su seguridad de manera específica!
¿Cómo se desempeña Wayland con los juegos?
En algunos casos específicos, notarás algunas mejoras cuando juegues con Wayland, pero los juegos que se procesan a través de Xorg pueden tener pequeños problemas gráficos. Algunas aplicaciones de superposición (como WTRTI, que proporciona una superposición para War Thunder, por ejemplo) pueden no funcionar en absoluto, ya que es una ventana de XWayland que intenta comunicarse con otra ventana de XWayland, lo que puede ser muy difícil. Su kilometraje puede variar, y puede estar tan satisfecho con algunos resultados como decepcionado con otros.
Deja una respuesta