Lanzamiento de Wayland-Protocols 1.34

Después de seis meses de desarrollo, se ha publicado la versión del paquete wayland-protocols 1.34, que contiene un conjunto de protocolos y extensiones que complementan las capacidades del protocolo base Wayland y proporcionan las funcionalidades necesarias para construir servidores compuestos y entornos de usuario.

Todos los protocolos pasan por tres fases: desarrollo, pruebas y estabilización. Tras completar la fase de desarrollo (categoría «unstable»), el protocolo se coloca en la rama «staging» y se incluye oficialmente en el conjunto de wayland-protocols, y después de finalizar las pruebas, se mueve a la categoría estable. Los protocolos en la categoría «staging» ya se pueden aplicar en servidores compuestos y clientes donde se requiere la funcionalidad relacionada. A diferencia de la categoría «unstable», en «staging» están prohibidos los cambios que rompan la compatibilidad, pero en caso de detectar problemas o defectos durante las pruebas, no se descarta la sustitución por una nueva versión significativa del protocolo u otra extensión de Wayland.

En la nueva versión se han propuesto varios protocolos nuevos, clasificados en la categoría «staging»:

  • «xdg-toplevel-drag» amplía el mecanismo de «arrastrar y soltar» con la posibilidad de adjuntar ventanas de nivel superior a la operación de movimiento, lo que se puede utilizar, por ejemplo, para organizar el arrastre con el mouse de barras de herramientas o pestañas del navegador. El nuevo protocolo permite crear partes de ventana desprendidas que, al arrastrarse fuera de esta ventana, se convierten en nuevas ventanas y pueden moverse sobre la ventana existente antes de ser acopladas de nuevo.
  • «xdg-dialog» permite asignar a las superficies de nivel superior características específicas para diálogos, por ejemplo, se pueden crear diálogos modales que bloquean la interacción del usuario con el resto de la interfaz.
  • «linux-drm-syncobj» — proporciona herramientas para la sincronización explícita de buffers usando objetos de sincronización DRM (Direct Rendering Manager). Se considera que, en el contexto de sincronización durante el renderizado en buffer, el protocolo propuesto mejorará la interacción con controladores basados en las API gráficas Vulkan y OpenGL (la implementación se basa en controladores en los drivers). El nuevo protocolo permite asegurar que la operación de renderizado en el buffer se complete antes de que el gestor de composición muestre dicho buffer.

Actualmente, el conjunto de wayland-protocols incluye los siguientes protocolos estables, que garantizan la compatibilidad hacia atrás:

  • «viewporter» — permite al cliente realizar acciones de escalado y recorte de los bordes de la superficie del lado del servidor.
  • «presentation-time» — proporciona la visualización de video.
  • «xdg-shell» — interfaz para crear e interactuar con superficies como si fueran ventanas, lo que permite moverlas en la pantalla, minimizarlas, maximizar, cambiar su tamaño, etc.
  • «linux-dmabuf» — permite el uso compartido de varias tarjetas gráficas mediante la tecnología DMA-BUF (permite crear wl_buffer basado en DMA-BUF).

Protocolos en prueba en la rama «staging»:

  • drm-lease — proporciona los recursos necesarios para formar la imagen estereoscópica con diferentes búferes para el ojo izquierdo y derecho al visualizarla en cascos de realidad virtual.
  • «ext-session-lock» — define los medios para bloquear la sesión, por ejemplo, durante la operación del salvapantallas o al mostrar un diálogo de autenticación.
  • «single-pixel-buffer» — permite crear búferes de un solo píxel que incluyen cuatro valores RGBA de 32 bits.
  • «xdg-activation» — permite transferir el enfoque entre diferentes superficies de primer nivel (por ejemplo, mediante xdg-activation, una aplicación puede cambiar el enfoque a otra).
  • content-type — permite a los clientes enviar información sobre el contenido visualizado al servidor compositivo, que puede ser utilizada para optimizar el comportamiento según el contenido, por ejemplo, estableciendo propiedades DRM específicas, como «content type». Se declara el soporte para los siguientes tipos de contenido: none (sin información sobre el tipo de dato), photo (salida de fotos digitales, que requiere un procesamiento mínimo), video (video o animación, que requiere una sincronización más precisa para evitar tartamudeos) y game (ejecución de juegos, que requiere una salida con mínima latencia).
  • ext-idle-notify — permite a los servidores compuestos enviar notificaciones a los clientes sobre la inactividad del usuario, lo que puede utilizarse para activar modos de ahorro de energía adicionales después de un tiempo determinado de inactividad.
  • tearing-control — permite deshabilitar la sincronización vertical (VSync) en aplicaciones de pantalla completa con un pulso de apagado de fotogramas, que se aplica para evitar la aparición de desgarros en la salida (tearing). En aplicaciones multimedia, la aparición de artefactos debido a desgarros es un efecto no deseado, pero en programas de juegos, se puede tolerar la presencia de artefactos si el manejo de estos causa retrasos adicionales.
  • ext-foreign-toplevel-list — obtención de información sobre las superficies dispuestas en el nivel más alto (toplevel), que permiten organizar el anclaje de ventanas sobre otro contenido, por ejemplo, para conectar paneles y conmutadores de ventanas propios.
  • security-context — permite identificar a los clientes que utilizan la aislación del sandbox. El cliente puede registrar una nueva conexión al servidor compuesto basado en Wayland y adjuntar a ella un contexto de seguridad, después de lo cual, de acuerdo con el contexto de seguridad especificado, el gestor de composición limitará las capacidades disponibles para la conexión establecida.
  • cursor-shape — un método alternativo para configurar la apariencia del cursor, basado en la transmisión de una serie de imágenes del cursor en lugar de estar vinculado a una superficie (wl_surface).
  • «ext-transient-seat» — destinado a crear sesiones temporales independientes (seat), diseñadas para ser utilizadas junto con dispositivos de entrada virtuales. Por ejemplo, al implementar la posibilidad de conectarse a un escritorio remoto el protocolo permite crear una sesión distinta para cada usuario con un teclado y un ratón virtuales.

Protocolos en desarrollo en la rama «unstable»:

  • «fullscreen-shell» — gestión del trabajo en modo de pantalla completa.
  • «input-method» — procesamiento de métodos de entrada.
  • «idle-inhibit» — bloqueo del inicio del salvapantallas.
  • «input-timestamps» — marcas de tiempo para eventos de entrada.
  • «keyboard-shortcuts-inhibit» — gestión de la asignación de combinaciones de teclas y teclas de acceso rápido.
  • «linux-explicit-synchronization» — mecanismo de sincronización de búferes específico de Linux vinculado a la superficie.
  • «pointer-gestures» — gestión desde pantallas táctiles.
  • «pointer constraints» — restricciones de punteros (bloqueo).
  • «primary-selection» — al igual que en X11, permite el funcionamiento del portapapeles primario, la inserción de información del cual generalmente se realiza con el botón del medio del ratón.
  • «relative pointer events» — eventos de puntero relativos.
  • «tablet» — soporte para entrada desde tabletas.
  • «text-input» — organización de la entrada de texto.
  • «xdg-foreign» — interfaz de interacción con superficies de otros clientes.
  • «xdg-decoration» — renderización de decoraciones de ventanas en el lado del servidor.
  • «xdg-output» — información adicional sobre la salida de video (se utiliza para escalado fraccionado).
  • «xwayland-keyboard-grab» — captura de entrada en aplicaciones de XWayland.
  • Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster