Collabora ha mejorado el controlador Wayland para Wine y ahora es compatible con Vulkan

junio 09, 2021 , 0 Comments

A finales del 2020 Collabora dio a conocer sus intenciones de crear un controlador para Wine para poder trabajar con Wayland, ya que en Linux, Wine usa X11 para interactuar con el servidor de pantalla X11. En muchos sistemas modernos el protocolo Wayland es, por diseño, más restringido en comparación con los sistemas de visualización más tradicionales como X11 y win32, lo que presenta un conjunto único de desafíos en la integración de Wayland con Wine.

Tres meses después de ello Collabora presento la primera actualización del controlador en la cual las mejoras presentadas era el trabajo bidireccional entre Wine y Wayland en lo más esencial básicamente, aun que el controlador presentaba muchos errores y sobre todo con el escalado de las ventanas.

Durante los últimos meses, hemos estado mejorando el controlador Wayland experimental para Wine, que permite que las aplicaciones de Windows se ejecuten directamente en los compositores de Wayland. Nuestro objetivo es eventualmente eliminar la necesidad de XWayland para muchos casos de uso y, por lo tanto, reducir la complejidad general del sistema al tiempo que elimina los puntos de posible ineficiencia.

Ahora después de casi 7 meses de trabajo se ha presentado una versión mejorada del controlador Wayland que permite ejecutar aplicaciones usando GDI y OpenGL/DirectX a través de Wine directamente en un entorno basado en Wayland, sin usar la capa XWayland y deshacerse del enlace de Wine al protocolo X11.

Sobre la nueva versión del controlador

En esta nueva versión se presenta el soporte de Vulkan y tambien viene con el manejo de administración de ventanas con lo cual el cambio de tamaño, pantalla completa, minimización, entre otras acciones ya no es un problema, además de que y se puede usar directamente o para implementar Direct3D a través de WineD3D o DXVK.

Los desarrolladores de Collabora mencionan que el controlador de Wayland ahora cuenta con el soporte para poder trabajar en varios monitores a Wine y admite la adición y eliminación dinámicas de monitores. También admite cambiar la resolución percibida por la aplicación de cada monitor (a través del escalado del compositor, consulte la actualización anterior ) para implementar cambios de modo por monitor.

Además se admite el cambio de la resolución y el modo de cada monitor y el escalado para HiDPI y se proporciona el trabajo con pantallas con alta densidad de píxeles (HiDPI).

Por último, tambien se menciona que se ha implementado el manejo de diseños de teclado en Wayland y se agregó soporte para recorte y movimiento relativo del cursor.

Con esta nueva versión el controlador esta cada vez más cerca de ser funcional para su uso general, además de que las conversaciones con los desarrolladores de Wine se continúan en el tema de incluir la ayuda Wayland en la rama estadificación de Wine con posterior traslado a la composición principal del Wine.

Sobre ello Alexandros Frantzis (desarrollador de Collabora) compartió:

» Creo que el controlador ha llegado a un punto en el que tiene suficientes funciones para ser útil para muchos casos de uso y también proporciona suficiente confianza en que es una opción viable en el futuro. Mi plan ahora es principalmente centrarse en las correcciones / mejoras y empezar a prepararse para la puesta en escena mediante la creación de una serie de conjuntos de parches más amigables con las revisiones / upstream » .

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Construir el controlador

Para quienes estén interesados en poder obtener, construir y/o usar el controlador de Wayland para Wine deben saber que se requiere de contar con Wayland instalado asi como wayland-client, wayland-egl y xkbcommon development.

La construcción del controlador la pueden realizar abriendo una terminal y en ella van a teclear los siguientes comandos:

git clone -b wayland https://gitlab.collabora.com/alf/wine/
cd wine
./configure --with-wayland [--with-vulkan --with-vkd3d]
make [-jN]
DISPLAY= WAYLAND_DISPLAY=wayland-0 ./wine ...

Para conocer más al respecto sobre el proceso de compilación u obtener el código fuente, pueden realizarlo en el siguiente enlace.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.