Wayland es un producto de software de fuente abierta que se ha diseñado desde cero para ser utilizado como un reemplazo directo para X Window System, que actualmente se utiliza en el 99.9 por ciento de todos los Linux basados en sistemas operativos.
El proyecto se compone del servidor de pantalla principal, llamado Wayland, así como de un compositor, llamado Weston. Si bien Wayland en sí mismo no es un servidor X11, se ha diseñado como un protocolo de compositor para poder hablar con clientes como Weston, que puede ejecutarse como un cliente X.
Wayland puede ejecutarse como un servidor de visualización independiente encima de KMS (configuración de modo kernel) y dispositivos de entrada evdev, como un cliente de Wayland, o como una aplicación tradicional destinada para el sistema X Window. Además, Weston puede ejecutarse bajo KMS o como un cliente X11 y es adecuado para dispositivos móviles o integrados.
Otros clientes posibles para este innovador servidor de pantalla de próxima generación pueden ser otro servidor de pantalla, servidores X11 (pantalla completa o sin raíz) o cualquier otra aplicación estándar. También está disponible una implementación de la biblioteca C de Wayland.
Mientras Wayland proporciona todos los componentes necesarios para que el servidor de visualización funcione correctamente, el compositor de Weston viene con varios clientes de demostración, que pueden ser utilizados por los desarrolladores como ejemplos para construir clientes complejos de mineral.
Los entornos de escritorio conocidos y ampliamente utilizados de GNOME y KDE Plasma serán probablemente los primeros en ser portados al servidor de visualización Wayland de próxima generación. Sin embargo, es probable que los desarrolladores de aplicaciones Linux tarden algunos años en migrar (leer: portar) sus aplicaciones a Wayland.
Los desarrolladores de aplicaciones y distribución de Linux pueden encontrar documentación detallada sobre cómo portar sus aplicaciones y sistemas operativos a Wayland en la página principal del proyecto (ver arriba). Los usuarios finales pueden probar Wayland hoy utilizando el sistema operativo RebeccaBlackOS basado en Linux.
Qué hay de nuevo en esta versión:
- La documentación del protocolo central ha recibido numerosos refinamientos para mejorar su claridad y consistencia. Junto con esto, muchas áreas en blanco de la documentación del protocolo se han desarrollado.
- Una nueva API de registrador wl_display_add_protocol proporciona una nueva forma interactiva para depurar solicitudes; junto con esto hay nuevas API para examinar clientes y sus recursos. Esto es análogo al uso de WAYLAND_DEBUG = 1, pero es más potente ya que permite la revisión en tiempo de ejecución de los datos de registro, como a través de una vista de IU.
- Se han realizado mejoras en la forma en que el escáner XML de protocolo maneja la identificación de versión en los encabezados de protocolo. Esto permite una mejor detección y manejo de respaldo cuando los compositores y los clientes admiten versiones diferentes de sus protocolos.
- Junto con estos cambios visibles para el usuario, ha habido una variedad de refactorizaciones de código y mejoras en Wayland 1.12.
- El código interno de Weston se ha reestructurado en una nueva biblioteca de software, libweston. Esto está destinado a otros esfuerzos del compositor que quieran utilizar más fácilmente las funcionalidades internas de Weston. El propio compositor de Weston ahora es un usuario de esta biblioteca.
- Además, otra nueva biblioteca llamada libweston-desktop proporciona un nivel adicional de funcionalidad de relevancia para los compositores que implementan un estilo de metáfora de escritorio de interfaz gráfica. Esta API de la biblioteca está diseñada en función de la funcionalidad xdg_shell, que permite el manejo de ventanas emergentes, el estado de la ventana y la interacción con Xwayland.
- Tanto libweston como libweston-desktop deben tratarse como bibliotecas inestables (es decir, sus API están sujetas a cambios). Se ha adoptado un esquema de control de versiones para su aprovisionamiento ABI para permitir la detección de saltos en tiempo de compilación. En otras palabras, esto permite a los usuarios detectar incompatibilidades en el momento de la instalación en su sistema de empaque, en lugar de cuando intentan usar el software. El sistema está diseñado para ayudar no solo con los componentes de Weston lanzados, sino también para marcar inconsistencias al usar instantáneas de desarrollo de las bibliotecas, para ayudar a los desarrolladores a evitar problemas debido a inconsistencias, también.
- Se ha implementado el soporte para la nueva versión 6 del protocolo xdg_shell en el compositor Weston, y todos los clientes están portados a él. Consulte las notas de versión de wayland-protocols 1.7 para obtener detalles sobre los cambios incluidos.
- Una API de bloqueo y confinamiento de puntero se implementa para Weston utilizando el protocolo wp_pointer_constraints, para permitir a los clientes definir regiones de ventana para limitar el puntero. Estas regiones pueden ser irregulares; un cliente está incluido para demostrar el confinamiento en una región en forma de H, por ejemplo. También se ha introducido un protocolo de puntero relativo (utilizando wl_relative_pointer), que permite a los clientes continuar recibiendo los deltas de movimiento de puntero incluso cuando la posición absoluta del puntero se recorta, por ejemplo, en el borde del monitor.
- El backend de Raspberry Pi (rpi-backend) y el renderizador se han eliminado. Este código dependía de una pila de controladores patentada, y demostró no ser mantenible dentro de Weston.
- Se incluyen varias otras características, mejoras de compilación, correcciones de errores, refactorizaciones de código, mejoras en los procesos de destrucción, etc.
Qué hay de nuevo en la versión:
- La documentación del protocolo central ha recibido numerosos refinamientos para mejorar su claridad y consistencia. Junto con esto, muchas áreas en blanco de la documentación del protocolo se han desarrollado.
- Una nueva API de registrador wl_display_add_protocol proporciona una nueva forma interactiva para depurar solicitudes; junto con esto hay nuevas API para examinar clientes y sus recursos. Esto es análogo al uso de WAYLAND_DEBUG = 1, pero es más potente ya que permite la revisión en tiempo de ejecución de los datos de registro, como a través de una vista de IU.
- Se han realizado mejoras en la forma en que el escáner XML de protocolo maneja la identificación de versión en los encabezados de protocolo. Esto permite una mejor detección y manejo de respaldo cuando los compositores y los clientes admiten versiones diferentes de sus protocolos.
- Junto con estos cambios visibles para el usuario, ha habido una variedad de refactorizaciones de código y mejoras en Wayland 1.12.
- El código interno de Weston se ha reestructurado en una nueva biblioteca de software, libweston. Esto está destinado a otros esfuerzos del compositor que quieran utilizar más fácilmente las funcionalidades internas de Weston. El propio compositor de Weston ahora es un usuario de esta biblioteca.
- Además, otra nueva biblioteca llamada libweston-desktop proporciona un nivel adicional de funcionalidad de relevancia para los compositores que implementan un estilo de metáfora de escritorio de interfaz gráfica. Esta API de la biblioteca está diseñada en función de la funcionalidad xdg_shell, que permite el manejo de ventanas emergentes, el estado de la ventana y la interacción con Xwayland.
- Tanto libweston como libweston-desktop deben tratarse como bibliotecas inestables (es decir, sus API están sujetas a cambios). Se ha adoptado un esquema de control de versiones para su aprovisionamiento ABI para permitir la detección de saltos en tiempo de compilación. En otras palabras, esto permite a los usuarios detectar incompatibilidades en el momento de la instalación en su sistema de empaque, en lugar de cuando intentan usar el software. El sistema está diseñado para ayudar no solo con los componentes de Weston lanzados, sino también para marcar inconsistencias al usar instantáneas de desarrollo de las bibliotecas, para ayudar a los desarrolladores a evitar problemas debido a inconsistencias, también.
- Se ha implementado el soporte para la nueva versión 6 del protocolo xdg_shell en el compositor Weston, y todos los clientes están portados a él. Consulte las notas de versión de wayland-protocols 1.7 para obtener detalles sobre los cambios incluidos.
- Una API de bloqueo y confinamiento de puntero se implementa para Weston utilizando el protocolo wp_pointer_constraints, para permitir a los clientes definir regiones de ventana para limitar el puntero. Estas regiones pueden ser irregulares; un cliente está incluido para demostrar el confinamiento en una región en forma de H, por ejemplo. También se ha introducido un protocolo de puntero relativo (utilizando wl_relative_pointer), que permite a los clientes continuar recibiendo los deltas de movimiento de puntero incluso cuando la posición absoluta del puntero se recorta, por ejemplo, en el borde del monitor.
- El backend de Raspberry Pi (rpi-backend) y el renderizador se han eliminado. Este código dependía de una pila de controladores patentada, y demostró no ser mantenible dentro de Weston.
- Se incluyen varias otras características, mejoras de compilación, correcciones de errores, refactorizaciones de código, mejoras en los procesos de destrucción, etc.
Qué hay de nuevo en la versión 1.9.0:
- Bryce Harrington (20):
- configure.ac: versión de tope a 1.8.90
- COPIA: actualice a la licencia MIT Expat en lugar de la licencia MIT X
- Contribuir: especifique el uso de MIT Expat para nuevos archivos de código
- pruebas: actualice el texto repetido de la licencia MIT X11 a la licencia de MIT Expat
- socket-test: corregir el estilo en el comentario de varias líneas
- test-runner: añade una repetición de copyright para .h, igual que .c
- src: Actualice la repetición de la licencia de MIT X11 a la licencia de MIT Expat
- wayland-server: arregla el estilo en comentarios de varias líneas
- protocolo: Actualizar repetición de la licencia de MIT X11 a la licencia de MIT Expat
- cursor: Actualizar el texto repetitivo de la licencia de MIT X11 a la licencia de MIT Expat
- cursor-data.h: cambie el código de licencia SuSE de X11 a Expat
- xcursor: cambie el código de licencia de Keithp de X11 a licencia Expat
- publican: actualiza la licencia de documentos de MIT "X11" a MIT Estilo "Expat"
- cursor: actualice la licencia impresa de MIT "X11" a MIT "Expat"
- pruebas: no incremente las variables dentro de un assert ()
- gitignore: Ignora algunos archivos generados dist
- configure.ac: tope a la versión 1.8.91 para la versión alfa
- configure.ac: tope a la versión 1.8.92 para la versión beta li>
- configure.ac: tope a la versión 1.8.93 para la versión RC1
- configure.ac: tope a la versión 1.9.0 para la versión oficial
- Derek Foreman (9):
- documentos: eliminar e ignorar doc / doxygen_sqlite3.db
- compilación: mueva AM_CFLAGS y AM_CPPFLAGS a la parte superior de Makefile.am
- compilación: deja de poner FFI_CFLAGS en AM_CFLAGS
- compilar: Permitir la desactivación de la construcción de bibliotecas de wayland
- build: crea un subconjunto de libwayland_util cuando no construyas bibliotecas
- compilación: no dependa de libffi a menos que construyamos bibliotecas
- compilación: use AM_CFLAGS en lugar de GCC_CFLAGS en todas partes
- cosmetic: cambios de espacios en blanco gratuitos en event-loop.c
- compilación: Build libwayland-private
- Dima Riazanov (1):
- cliente: requiere que se configure WAYLAND_DISPLAY
- Elvis Lee (1):
- wayland-client: corrige queue_release no llama a proxy_destroy
- Marek Chalupa (5):
- fixed-benchmark: elimina los argumentos no utilizados en main
- escáner: refactor creando objetos
- escáner: deshágase de las filtraciones
- escáner: use zxalloc
- escáner: verificar la cordura de la versión
- Pekka Paalanen (1):
- Revertir "cliente: requiere que WAYLAND_DISPLAY se configure"
- Peter Hutterer (2):
- doc: mueva la configuración de doxygen específica del proyecto al final del archivo doxygen
- doc: suelta las etiquetas doxygen predeterminadas
- Ross Burton (1):
- compilar: siempre compilar wayland-scanner
Qué hay de nuevo en la versión 1.8.1:
- Bryce Harrington (2):
- publish-doc: agrega una secuencia de comandos para publicar documentos en el sitio web
- configure.ac: tope a la versión 1.8.0 para la versión oficial
- Giulio Camuffo (1):
- escáner: no emita las declaraciones externas para tipos externos
- Bill Spitzak (1):
- config: use una sintaxis simple de expresiones regulares para obtener la versión de puntos
- Bryce Harrington (11):
- configure.ac: versión de tope a 1.7.90
- cliente: corregir error tipográfico
- Correcciones ortográficas (cosméticas)
- pruebas: error en un comentario
- configure.ac: tope a la versión 1.7.91 para la versión alfa
- configure.ac: tope a la versión 1.7.92 para la versión RC1
- gitignore: ignorar la prueba de cabeceras recientemente agregada
- gitignore: Bulk ignora todos los * archivos de prueba
- configure.ac: tope a la versión 1.7.93 para la versión RC2
- publish-doc: agrega una secuencia de comandos para publicar documentos en el sitio web
- configure.ac: tope a la versión 1.8.0 para la versión oficial
- Derek Foreman (1):
- cursor: agrega wl_cursor_frame_and_duration
- Emmanuel Gil Peyrot (1):
- cursor: libera la matriz desde la que se vinculan las imágenes
- Giulio Camuffo (5):
- introduce nuevos encabezados wayland-client-core.h y wayland-server-core.h
- wayland-egl: agregue un encabezado central
- escáner: agregue una nueva opción --include-core-only
- pruebas: agregue una prueba de encabezados
- escáner: no emita las declaraciones externas para tipos externos
- Endurecimiento (1):
- wayland.xml: corrigió un error tipográfico
- Jonas Adahl (2):
- protocolo: cambiar la redacción de la programación de ubicación subsuperficial
- escáner: falla en enumeraciones vacías
- Jussi Pakkanen (1):
- Agregue soporte para lectura y escritura directa de archivos en wayland-scanner.
- Marek Chalupa (2):
- servidor: da un mensaje de error más preciso
- protocolo: agregue una mejor descripción de wl_pointer.release
- Michael Vetter (1):
- eliminar espacios en blanco al final
- Pekka Paalanen (1):
- escáner: simplifica la lógica getopt
Qué hay de nuevo en la versión 1.7.0 / 1.8.0 RC2:
- Wayland:
- gitignore: ignorar la prueba de cabeceras recientemente agregada
- gitignore: Bulk ignora todos los * archivos de prueba
- configure.ac: tope a la versión 1.7.93 para la versión RC2
- pruebas: agregue una prueba de encabezados
- Weston:
- releasing: enumere algunas rutas de lib para establecer la libinput local
- publicación: untabify
- configure: advierte que cairo-gl y cairo-glesv2 son riesgosos
- compositor-drm: menor sp. corregir
- editor: avisar cuando la escritura falla
- pruebas: agregue el manejo de errores para llamadas al sistema
- pruebas: agregue rutinas de ayuda del cliente para nombres de archivos de salida y referencia
- pruebas: agregue una función auxiliar de xmalloc
- pruebas: agregar comprobaciones de superficie
- pruebas: Soporte --config para permitir que las pruebas anulen los valores predeterminados de configuración
- protocolo: Agregar capacidad de captura de pantalla de prueba
- pruebas: agregue capacidad de captura de pantalla a Weston-test
- pruebas: manejar evento de captura de pantalla hecho en weston-test
- pruebas: agregue la prueba interna para la capacidad de captura de pantalla de prueba de weston
- pruebas: agrega write_surface_as_png () helper
- pruebas: agregar create_screenshot_surface ()
- pruebas: Agregar load_surface_from_png ()
- pruebas: agrega check_surfaces_geometry ()
- pruebas: Agregar captura_creción_de_crecimiento_de_producción ()
- pruebas: corrige el estilo de código en las rutinas de ruta / nombre de archivo
- pruebas: compruebe que el paso del archivo PNG coincide con nuestra suposición interna
- pruebas: espacio en blanco de limpieza
- gitignore: ignorar los archivos de prueba de encabezado generados
- pruebas: descartar salida de depuración redundante
- publicación: Agregue vars para nombre y número de publicación
- configure.ac: tope a la versión 1.7.93 para la versión RC2
- compositor-drm: Limpie el espacio en blanco final
- Compositor RDP: aplicar certificado y clave
- gl-renderer: tome una lista de formatos aceptables en las funciones de creación
- compositor-drm: pase la reserva de ARGB para crear funciones para formatos XRGB
- gl-renderer: hace que el registro de errores sea un poco más agradable
- pruebas: configure la variable de entorno de la imagen de referencia
- pruebas / captura de pantalla interna: corrige la prueba para que no espere superficies de caparazón
- exposay: no se cuelgue si no hay un puntero presente
- desktop-shell: destruye las superficies en un controlador inactivo después de desaparecer
- prueba de captura de pantalla interna: make distcheck pass
- compositor-wayland: maneja los eventos de cierre de ventana con mayor gracia
- compositor-wayland: limpieza de código
- xdg-shell: aclare el significado de la ID de la aplicación y ejemplifique
- xdg-shell: condiciones de error del documento cuando aparecen elementos emergentes emergentes y superficiales
- xdg-shell: responsabilidades del documento con respecto a eventos de ping
- xdg-shell: documenta las solicitudes set_maximized y unsetmaximized
- compositor-drm: desactive los cursores de hardware
- desktop-shell: no se apague con el inicio "ninguno"
Qué hay de nuevo en la versión 1.7.0:
- El protocolo de Wayland puede considerarse "hecho", pero eso no significa que no haya trabajo por hacer. Este lanzamiento se centró en las principales mejoras de la documentación de Wayland, pequeñas mejoras en la suite de pruebas y algunas correcciones de errores dispersas en el código en sí.
- La documentación del desarrollador de Wayland se compone de tres piezas diferentes. Primero es una prosa escrita a mano, que incluye diagramas y una descripción de alto nivel de todo. El segundo es la documentación del protocolo, que se genera mecánicamente a partir de las definiciones del protocolo y funciona más como un manual de referencia. El tercero es la documentación del código, que también se genera mecánicamente, pero a partir del propio código fuente de la biblioteca.
- Hemos movido la prosa escrita de generada por publicano a xmlto. xmlto proporciona la misma funcionalidad y está más ampliamente disponible. La ventaja de Publican eran sus hojas de estilo más agradables, pero las portamos para ejecutarlas en xmlto, y las pulimos mientras estábamos en ello. Los diagramas arquitectónicos en la documentación del desarrollador ahora se generan mecánicamente con graphviz; esto mejora un poco su aspecto y facilita su mantenimiento en el futuro.
- Para la documentación del protocolo, se define el concepto de función wl_surface recientemente agregado y se le dan varios ejemplos. wl_display_destroy y wl_display_add_socket ahora están documentados, y se han aclarado algunos aspectos del enhebrado. También se ha reorganizado, con las funciones en desuso caídas y todos los errores de validación corregidos.
- La documentación del código generado automáticamente es más bonita ahora gracias a un gran trabajo de pulido realizado con los archivos xslt y mejoras de marcado realizadas para codificar los comentarios.
- El contenido de la documentación del protocolo se ha reducido: hemos descartado las funciones obsoletas, la funcionalidad privada oculta como wl_map y las funciones recategorizadas de forma más precisa con los objetos que modifican.
- Se han limpiado una cantidad de posibles fugas de memoria y eventos en las pruebas y clientes, y ahora la infraestructura del conjunto de pruebas aplica la verificación de fugas. La verificación de fugas también se agrega a los clientes de muestra.
- La suite de pruebas ahora tiene una forma de establecer tiempos de espera para completar la prueba. Los tiempos de espera se pueden desactivar configurando la variable de entorno WAYLAND_TEST_NO_TIMEOUTS. Por coherencia, NO_ASSERT_LEAK_CHECK ahora se llama WAYLAND_TEST_NO_LEAK_CHECK. Tanto los tiempos de espera como las comprobaciones de fugas están deshabilitados cuando se conecta un depurador.
- Hay una nueva prueba de compilación de C ++; aunque Wayland y Weston están en C, queremos asegurarnos de que Wayland pueda vincularse con compositores escritos en C ++ sin incurrir en fallas de compilación básicas.
- Además de las pruebas y los documentos, hubo un puñado de cambios en la base de código. En particular, la cola de escucha del cliente se incrementa a 128, para permitir que numerosos clientes se conecten simultáneamente sin errores de conexión rechazados. Se han solucionado algunas correcciones multiplataforma, como un error de FreeBSD con el uso de sendmsg (). Las correcciones restantes mejoran la comprobación y el manejo de errores en varios lugares.
Qué hay de nuevo en la versión 1.7.0 RC2:
- Wayland:
- configure.ac: Regreso al código de detección anterior si pkg-config no puede encontrar expatriados
- doc: complete la descripción de alto nivel para Superficies
- pruebas: corrige FAIL en la prueba de cordura (* tiempo de espera *) cuando Yama LSM habilitado
- test-runner: espera el pid concreto
- Weston:
- publicación: Tweak docs para que coincida mejor con el flujo de trabajo real
- screenshooter: eliminar el yeso inútil
- desktop-shell: elimina los moldes de tipos innecesarios
- compositor-x11: mueva la ventana x11 cerca de un controlador inactivo
- xwm: elimina el oyente de superficie de creación en weston_wm_destroy
- Repare "Atrás", "Adelante" y otros botones especiales del mouse en el compositor X11.
- xwm: soporte para maximizar las ventanas de xwayland
- libinput: solo reenviar primero y último presionar y soltar para un botón
- libinput: solo reenviar primero y último presionar y soltar para una tecla
- desktop-shell: Fail si se llama a get_xdg_surface en una xdg_surface
- ivi-shell: SEGV se produce cuando ocurre un toque múltiple en la transición
Qué hay de nuevo en la versión 1.6.1:
- doc: corrigió un error ortográfico
- Eliminar el punto y coma inútil
- README: pequeño cambio cosmético
- doc: gramática fija y un error tipográfico
- escáner, cliente: se agregaron más comprobaciones de error cuando se usa la función strtol
- escáner: mejore el informe de errores de análisis XML
- escáner: eliminar la línea nueva perdida
- cliente: read_events debería devolver -1 después de un error
- pruebas: corregir pérdida de memoria
- conexión: arregla sendmsg () en FreeBSD
- event-loop.c: utilice la función de abstracción del sistema operativo correcta para dúplex ()
- wayland-server: Abort si una lectura de un cliente da 0 longitud
- conexión: cancelar si una función de escucha es NULL
- doc: Se agregó documentación de la API para las funciones wl_display_destroy y wl_display_add_socket
Lo nuevo en la versión 1.7.0 Alpha 1:
- doc: Marque algunos ejemplos de código
- doc: utiliza principalmente plantillas-aplicar sobre el valor-de
- doc: Traducir etiquetas doxygen a espacios
- conexión: deja fd abierto en wl_connection_destroy
- doc: make reconstruye la salida de doxygen en los cambios de código
- doc: conservar espacios
- doc: preservar enlaces producidos por Doxygen
- doc: no imprima el guión si falta la descripción breve de doxygen
- doc: eliminó un listado anidado innecesario de la salida doxygen
- doc: etiquetas de código agregadas alrededor del código de muestra en comentarios doxygen
- v4 doc: referencia fija a la función inexistente
- doc: corrigió un error ortográfico
- doc: Ref eliminado cuando se refiere al tema al que se adjunta el texto
- doc: Se eliminó la sangría adicional de la muestra del código wl_list
- doc: eliminación de la dependencia redundante
- doc: eliminar las descripciones duplicadas de objetos de wayland
- doc: arregle la línea de comando doxygen- & gt; man
- doc: divide libwayland-client y -server en diferentes páginas
- doc: corregir para hacer paralelamente
- doc: hace que sea más fácil agregar una nueva página de doxygen
- fixup doc: hace que sea más fácil agregar una nueva página de doxygen
- doc: reduce los errores de validación de la entrada del libro de texto
- doc: eliminó la palabra "interfaz" de los nombres de los enlaces
- doc: cada clase en salida doxygen es una sección
- doc: estructuras de documentos y uniones además de clases
- doc: hacer listas detalladas de doxygen work
- No documente un parámetro ausente.
- configure.ac: versión de tope a 1.6.91 para la versión alfa
- Elimina el punto y coma inútil.
- README: pequeño cambio cosmético
- cosmético: convierte algunos retornos de funciones de int a bool
- doc: gramática fija y un error tipográfico
- escáner, cliente: se agregaron más comprobaciones de error cuando se usa la función strtol
- servidor: aumentar la cola de escucha a 128
- doc: eliminó los elementos de salida xslt redundantes.
- doc: Invoque doxygen a través de la variable make definida.
- doc: Agregar comprobación de configuración para doxygen 1.6.0 +.
- doc: limpieza general del archivo MAKE.
- doc: limpieza de archivos menores.
- escáner: mejore el informe de errores de análisis XML
- escáner: eliminar la línea nueva perdida
- pruebas: use nuestro propio XDG_RUNTIME_DIR para pruebas
- pruebas: agregar tiempo de espera
- pruebas: agrega funciones test_usleep y test_sleep
- pruebas: agregar pruebas de tiempo de espera
- pruebas: use test_set_timeout en display-test
- cola de prueba: restablecer el tiempo de espera
- pruebas: no imprimir el carácter ' '
- cliente: read_events debería devolver -1 después de un error
- pruebas: cambiar el nombre de los archivos para las pruebas
- test-runner: imprime la línea de separación después de cada caso de prueba
- pruebas: use color cuando imprima en la terminal
- pruebas: detectar si se adjunta depurador
- pruebas: dividir test-teses de prueba de cola
- pruebas: corregir pérdida de memoria
- cliente: actualice los comentarios obsoletos
- cliente: actualizar la documentación sobre el subprocesamiento
- gitignore: adaptación al escáner y cambios en la ruta del protocolo
- configure.ac: versión de bump a 1.6.90
- protocolo: defina el concepto de función wl_surface
- protocolo: wl_pointer.set_cursor otorga un rol
- protocolo: wl_data_device.start_drag puede dar un rol
- protocolo: wl_subcompositor.get_subsurface da un rol
- protocolo: wl_shell.get_shell_surface da un rol
- protocolo: defina códigos de error para la reasignación de funciones
- doc: reemplace publican con xmlto
- conexión: arregla sendmsg () en FreeBSD
- event-loop.c: utilice la función de abstracción del sistema operativo correcta para dúplex ()
- wayland-server: Abort si una lectura de un cliente da 0 longitud
- cola de prueba: agrega otra aserción
- conexión: cancelar si una función de escucha es NULL
- scanner.c: use WL_PRINTF en lugar de __attribute __ ((format (printf)))
- doc: se agregó documentación de la API para las funciones wl_display_destroy y wl_display_add_socket.
- Protocolo: destructor agregado a la interfaz wl_data_device
Qué hay de nuevo en la versión 1.6.0:
- Wayland:
- Agregue las enumeraciones de error a wl_surface.
- Agregue información de repetición del teclado al protocolo wl_keyboard.
- Error al manejar adiciones en libwayland-client: cuando ocurre un error de protocolo, el programa puede consultar información más detallada sobre el error. Esto es principalmente útil para las pruebas para garantizar errores correctos.
- Nuevo wl_display_add_socket_auto () en libwayland-server: encuentre automáticamente un nombre de socket libre.
- Se agregaron muchas pruebas al paquete 'make check', incluido un marco para probar las interacciones entre el servidor y el cliente más fácilmente.
- Enhebrar y bloquear correcciones de errores relacionadas.
- Agregue wl_display_roundtrip_queue (): bloqueo de ida y vuelta en una cola personalizada.
- Deja de exponer wl_display global. Resulta vinculante para el mundo habría provocado errores, y no había un uso adecuado para ello.
- Weston:
- Cambios en el protocolo Xdg-shell. Sí, lo rompimos nuevamente desde 1.5.0.
- Agregue el mecanismo de enmascaramiento weston_layer.
- DRM-backend: obtiene el tamaño del cursor del kernel
- Soporte de velocidad de repetición del teclado, enviado desde el compositor a los clientes, configurable.
- Use wl_display_add_socket_auto (): ya no es necesario especificar el socket cuando ejecuta Weston bajo Weston, simplemente funciona ahora.
- Use libinput de forma predeterminada. El backend de entrada no libinput todavía está allí en este momento, pero se eliminará para 1.7.
- Unos pocos bits de configuración de shell de escritorio.
- 'make distcheck' realmente funciona OOTB sin modificaciones personalizadas (al deshabilitar la prueba xwayland para distcheck por el momento).
- Salga de Weston, si weston-desktop-shell muere demasiado pronto. Debería ayudar con una clase de problemas de "solo pantalla negra".
- Opción para forzar el bloqueo numérico al inicio en los backends DRM y fbdev.
- Muchas correcciones de errores, por supuesto.
Qué hay de nuevo en la versión 1.6.0 RC2:
- touchpad: reinicia el historial de movimiento cuando nfingers cambia en pads de semi-mt
- litest-alps-semi-mt: corrige las advertencias del compilador
- compilación: el símbolo ck_assert_ptr_ne requiere check-0.9.10
- prueba: use solo un dispositivo de prueba para algunas pruebas de udev y path
- prueba: elimine el dispositivo de prueba del contexto al eliminar
- prueba: no falla cuando los eventos están habilitados varias veces
- evdev: permite que las instancias de envío configuren sus propias capacidades
- evdev: utilice el ayudante para separar los botones de las teclas
- evdev: Ignorar eventos de liberación de tecla / botón si nunca se presionó la tecla
- evdev: realiza un seguimiento de la cuenta del botón / tecla presionada por dispositivo
- evdev: libera aún teclas / botones al retirar el dispositivo
- panel táctil: solo salta de FSM para las pulsaciones del botón del panel táctil
- configure.ac: libinput 0.6
- prueba: actualización automática para BTN_TOOL_ * cuando se usa litest_touch_ funciones
- Documenta que el delta de los eventos del puntero se acelera
- evdev: no devuelve un ancho / alto si falsificamos la resolución
- prueba: agregue un dispositivo de prueba Alps de semi-mt
- panel táctil: aumenta el área del botón de software superior al 15%
- Use -no-install en lugar de -estático para enlaces locales noinst
- Desactivar bibliotecas estáticas
- evdev: tapón de pérdida de memoria en libevdev_new_from_fd failure
- No cierre el fd si libinput_add_fd () falla
- panel táctil: marque un caso de cambio intencionado como tal
- Cambiar condiciones para ARRAY_FOR_EACH ()
- panel táctil: silencia las advertencias de Coverity sobre el uso no inicializado
- Corrige una referencia doxygen
- prueba: agregue ayudantes para esperar eventos específicos
- prueba: agregue un dispositivo genérico de un solo toque
- udev: use evdev_device_calibrate () en lugar de escribir manualmente la matriz
- evdev: constify evdev_device_calibrate
- evdev: aplicar la calibración a valores multitouch también
- util: agrega un par de funciones auxiliares de matriz de 3x3
- evdev: cambie a una matriz de transformación normalizada
- udev: suelte WL_CALIBRATION, reemplace con LIBINPUT_CALIBRATION_MATRIX
- prueba: agregar pruebas para calibración táctil
- Cambiar la calibración en una opción de configuración
- evdev: carga el LIBINPUT_CALIBRATION_MATRIX como matriz predeterminada
- prueba: arregle el bucle infinito en litest_wait_for_event_of_type ()
- prueba: use la variable evironment para comprobar la verbosidad
- Documento LIBINPUT_CALIBRATION_MATRIX correctamente
- Documenta las opciones de configuración de udev estáticas compatibles
Comentarios que no se encuentran