Recientemente fue anunciada la nueva versión estable del servidor compuesto Weston 7.0, que desarrolla tecnologías que contribuyen al soporte total del protocolo Wayland en Enlightenment, GNOME, KDE y otros entornos de usuario.
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). 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”.
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.
El desarrollo de Weston se centra en proporcionar una base de código de alta calidad y ejemplos de trabajo para usar Wayland en entornos de escritorio y soluciones integradas, como plataformas para sistemas de información y entretenimiento automotriz, teléfonos inteligentes, televisores y otros dispositivos de consumo.
Un cambio significativo en el número de versión de Weston se debe a los cambios de ABI que violan la compatibilidad. Cambios en la nueva sucursal de Weston:
Sobre la nueva version de Weston 7.0
Con la llegada de esta nueva versión de Weston se agregó el soporte para tecnología para proteger contra la copia ilegal de contenido HDCP, que se utiliza para cifrar una señal de video transmitida a través de DVI, DisplayPort, HDMI, GVIF o UDI.
En westwest para llamadas weston_output, weston_surface y weston_head, se implementa un indicador para permitir la protección del contenido transmitido. Se agregó una aplicación cliente de ejemplo para mostrar contenido protegido;
También se destaca en Weston 7.0 la adición de un complemento para el servidor multimedia PipeWire, que se está desarrollando para reemplazar PulseAudio y además del sonido, admite el procesamiento de transmisiones de video.
El complemento se puede utilizar para organizar la salida al escritorio remoto por analogía con el complemento de salida disponible anteriormente basado en GStreamer.
En el lado receptor, cualquier cliente con soporte para pipewire se puede usar para mostrar, incluido GStreamer (por ejemplo, “gst-launch-1.0 pipewiresrc! Video / x-raw, format = BGRx! …”).
Gl-renderer agrega soporte para la extensión EGL EGL_KHR_partial_update para actualizar selectivamente el contenido de las superficies, omitiendo las áreas donde no hubo cambios.
Por otra parte, los desarrolladores también destacaron la transición al sistema de compilación Meson se ha completado. El soporte de compilación usando autotools ha sido descontinuado.
De los demás cambios que se destacan en el anuncio de esta nueva versión son:
- Se agregó el nuevo marco weston_debug para depuración y registro de eventos (weston_log_context)
- Se agregaron nuevos archivos de encabezado libweston-internal.h y backend.h. El primero contiene funciones para trabajar con ‘weston_compositor’, ‘weston_plane’, ‘weston_seat’, ‘weston_surface’, ‘weston_spring’, ‘weston_view’ y el segundo – ‘weston_output’
- Compositor-drm agregó soporte para la propiedad FB_DAMAGE_CLIPS. El código se extrae en archivos separados para extraer parámetros EDID, procesar modos de video, interactuar con la API de KMS, trabajar con el framebuffer y procesar estados
- Complemento agregado “flujo de archivos” para transferir contenido de un archivo
- Backend-drm, backend-headless, backend-rdp, backend-wayland, backend-x11 y backend-fbdev backends se colocan en un directorio separado
- Para optimizar las imágenes PNG, el paquete zopflipng se utiliza en base al algoritmo de compresión zopfli
- Se agregó soporte para las extensiones xdg_output_unstable_v1 y zwp_linux_explicit_synchronization_v1. Se aumentaron los requisitos de la versión del paquete de protocolos de Wayland (se requiere 1.18 para la compilacion).
¿Cómo instalar Weston 7.0 en Ubuntu y derivados?
Bien, para quienes estén interesados en poder instalar esta nueva versión de Weston, deben contar con Wayland instalado en su sistema.
Ahora, debemos también de contar con Meson, ya que como se menciono en las novedades de esta nueva versión de Weston 7.0, los desarrolladores migraron a Meson.
Para poder instalarlo solo debemos de abrir una terminal y en ella vamos a teclear lo siguiente:
pip3 install --user meson
Hecho esto, ahora vamos a descargar la nueva versión de Weston 7.0 con el siguiente comando:
wget https://wayland.freedesktop.org/releases/weston-7.0.0.tar.xz
Descomprimimos el contenido con:
tar -xvf weston-7.0.0.tar.xz
Accedemos a la carpeta creada con:
cd weston-7.0.0
Y realizamos la compilación e instalación con:
meson build/ --prefix=...
ninja -C build/ install
cd ..
Al finalizar lo recomendable es reiniciar el equipo para iniciar con los cambios en la nueva sesión de usuario.
Fuente: ubunlog