¿Es Wayland competente para la ejecución de juegos?
En torno a Wayland hay ciertos problemas (algunos de diseño) que han ido retrasando su adopción generalizada. De cara al usuario final, hay dos cosas que importan por encima de todo, las dificultades que presenta de cara a la creación de un compositor dedicado y el rendimiento de los juegos sobre XWayland.
De lo primero, a día de hoy solo GNOME tiene aparentemente una implementación completa del protocolo, mientras que proyectos pequeños como MATE han llegado a pedir ayudar a Canonical para afrontar la transición de Xorg a Wayland sin perecer en el camino. Sobre lo segundo, lo dramático era ver una considerable pérdida de rendimiento en muchos juegos tras iniciar una sesión con Wayland, sin embargo, este frente parece haber mejorado mucho en los últimos tiempos.
Michael Larabel, el incansable jefazo de Phoronix, publicó antes de terminar el año una serie de benchmarks comparando los principales entornos de escritorio a través de los sabores oficiales de Ubuntu, por lo que Cinnamon quedó fuera de las pruebas. Aunque están XFCE, LXQt y MATE, lo más interesante es comparar las sesiones de Xorg y Wayland en GNOME y Plasma 5 ejecutando juegos “potentes”.
Ordenador y software utilizado por Phoronix
El ordenador utilizado para las pruebas de rendimiento contó con el siguiente hardware:
- Placa base: ASUS ROG ZENITH EXTREME
- Procesador: AMD Ryzen Threadripper 2990WX 32-Core @ 3.00GHz
- Memoria: 32GB de RAM
- GPU: AMD Radeon RX 64 de 8GB
A nivel de software nos encontramos estos componentes y configuraciones:
- Sistema operativo: Ubuntu 19.04 de 64-bit
- Kernel: 4.18.0-11-generic
- Mesa: 18.2.6
- Driver para GPU del kernel: AMDGPU 18.1.0
Y estas son las sesiones de escritorio probadas:
- GNOME Shell 3.30.1
- GNOME Shell 3.30.1 Wayland
- KDE Plasma 5.14.4
- KDE Plasma 5.14.4 Wayland
- XFCE 4.12 (solo con Xorg)
- LXQt 0.13.0 (solo con Xorg)
- MATE 1.20.3 (solo con Xorg)
La elección de una GPU AMD podría no ser baladí, ya que es sabido por los lectores habituales de MuyLinux que NVIDIA no es la mayor amiga del stack gráfico estándar de GNU/Linux, intentando siempre imponer sus tecnologías frente a lo consolidado por los desarrolladores del kernel y Mesa y apoyado por Intel y AMD. Cuando hablamos de Wayland, el caso es aún más sangrante por la decisión de NVIDIA de usar EGLStreams en lugar de GBM como buffer.
Juegos probados
El primer juego probado fue Dota 2, el conocido MOBA de Valve, que ha sido ejecutado con Vulkan como renderizador y a resolución 3840×2160. El vencedor ha sido GNOME Shell ejecutado sobre Wayland seguido de LXQt, mientras que GNOME supera a Plasma 5 tanto en Xorg como en Wayland. Aquí hay dos cosas a resaltar: Primero, que los entornos “pequeños” superan a los “grandes” utilizando Xorg, y segundo, que los resultados son tan parejos que difícilmente se podrá apreciar diferencias a simple vista.
El segundo juego utilizado fue F1 2018, el cual ha sido ejecutado con Steam Play, usando DXVK, 2560×1440 de resolución y calidad ultra alta (Ultra High Quality). El juego no ha funcionado en una sesión de Wayland, así que solo tenemos los resultados de las pruebas con Xorg. Volvemos a ver una gran igualdad entre los entornos de escritorio, empatando Plasma 5 y LXQt en el primer puesto, seguidos de GNOME Shell, XFCE y MATE.
El tercer juego que recogemos es uno bastante potente en lo que a gráficos se refiere, Metro: Last Light Redux, el cual ha sido ejecutado a una resolución de 3840×2160. Este título sí ha arrojado una diferencia más notable entre las distintas sesiones de escritorio, con XFCE como el mejor con 74,76 imágenes por segundo, seguido de GNOME Shell con Wayland, que marcó 72,78 imágenes por segundo, y MATE con 72,18. Aquí los entornos GTK han derrotado a los entornos Qt, con excepción de GNOME Shell con Xorg, que se ha salvado de acabar en el último puesto por poco.
El siguiente juego es Portal 2, la última gran producción de Valve orientada a la experiencia para un solo jugador, que fue ejecutado a una resolución de 3840×2160 y OpenGL (este título no cuenta con implementación de Vulkan). Los resultados son bastante desiguales entre las distintas sesiones de escritorio, destacando la gran diferencia entre los servidores gráficos bajo Plasma 5, ya que Wayland ha tenido una ventaja de 40 imágenes sobre Xorg. Por su parte, GNOME Shell mantiene un equilibrio con una ligera ventaja de Xorg, mientras que XFCE y sobre todo MATE obtienen resultados más pobres.
Como “quinto plato” tenemos a uno de los juegos más recientes y potentes a nivel técnico de todos los que han aparecido para GNU/Linux: Rise of the Tomb Raider. Ejecutado a una resolución de 2560×1440 y con Vulkan como renderizador (ya que no usa otro), desgraciadamente no ha funcionado bajo Wayland, así que habrá que conformarse con los resultados arrojados por Xorg en distintas localizaciones con la calidad gráfica en muy alta y antialiasing SMAA. Mientras que XFCE se muestra ligeramente inferior, el resto libra una durísima e igualada batalla que LXQt gana por los pelos. Pero que no se preocupen los usuarios de XFCE, ya que las diferencias son muy difícilmente apreciables al ojo humano.
The Talos Principle ha sido ejecutado a resolución 3840×2160 y con Vulkan de renderizador. Aquí Wayland sí ha funcionado y dentro de la igualdad general se puede destacar la victoria de la sesión con Wayland de Plasma 5 seguida de LXQt y GNOME Shell con Wayland. El tener un framerate medio de más de 60 imágenes por segundo en 4K es otra buena señal para la ejecución de videojuegos en GNU/Linux, aunque aquí es importante resaltar que el hardware utilizado es muy potente.
Por último tenemos otro título only for Vulkan: Total War: Warhammer II. Ejecutado a resolución 2560×1440 y calidad gráfica ultra, se han probado dos localizaciones: Skaven Battle y Fallen Gates Battle. Con las pruebas sobre XWayland pudiéndose llevar a cabo, la igualdad vuelve a ser la tónica general, siendo LXQt el que gana a nivel general por muy poco entre unas diferencias difícilmente apreciables a la vista.
Conclusión
De estas pruebas se pueden sacar dos conclusiones bastante claras:
- La utilización del entorno de escritorio no parece mostrarse, a niveles generales, determinante para obtener una buena experiencia con los juegos.
- Wayland parece estar mostrándose como muy competente para su utilización con juegos. Eso sí, hay que tener en cuenta que esto ha sido probado sobre GPU AMD, ya que en NVIDIA los resultados pueden ser (y deberían ser) muy diferentes. Por otro lado, para redondear el tema haría falta un mejor soporte para hacer screencasts sobre Wayland.
Más allá de los desafíos que presenta Wayland y ciertos inconvenientes técnicos, todo apunta a que el escritorio GNU/Linux está avanzando en la dirección correcta. De hecho, solo hay que ver estas pruebas, en las que se ha utilizado el stack gráfico libre con unos resultados nada desdeñables, incluso a 4K.