GTK 4.14 presenta nuevos motores de renderizado, mejoras y mas

GTK4

GTK ​​ o The GIMP Toolkit​​ es una biblioteca de componentes gráficos multiplataforma para desarrollar interfaces gráficas de usuario

En esta nueva versión que se presenta de GTK 4.14 se destacan los nuevos motores de renderizado unificados llamados «NGL» y «Vulkan» que hacen uso tanto de OpenGL (GL 3.3+ y GLES 3.0+) como de las API de gráficos Vulkan. Ambos motores están basados en la API de Vulkan, pero el motor «NGL» presenta una capa de abstracción separada para OpenGL que se ejecuta sobre Vulkan, teniendo en cuenta las diferencias entre ambas API. Este enfoque ha permitido el uso de una infraestructura común en ambos motores para el procesamiento de gráficos de escenas, transformaciones, almacenamiento en caché de texturas y glifos. La unificación también ha simplificado notablemente el mantenimiento de la base de código de ambos motores, así como su actualización y sincronización.

Se menciona que a diferencia del antiguo motor «GL», que empleaba un sombreador simple separado para cada tipo de nodo de renderizado y reorganizaba periódicamente los datos durante el renderizado fuera de pantalla, los nuevos motores utilizan un sombreador complejo (ubershader) para el renderizado fuera de pantalla, interpretando los datos del búfer. Entre las características distintivas de los nuevos motores se destacan el suavizado de contornos, que permite conservar detalles finos y lograr contornos más suaves, la formación de gradientes arbitrarios, que admite cualquier número de colores y suavizado, y el escalado fraccional. El nuevo motor de renderizado «NGL» está activado de forma predeterminada, al igual que la compatibilidad con la API de gráficos Vulkan. Al integrar la configuración predeterminada, ahora se requiere la compatibilidad con Vulkan 1.3.

Otro de los cambios que se destacan de GTK 4.14, es la biblioteca GSK (GTK Scene Kit), que proporciona la capacidad de representar escenas gráficas a través de OpenGL y Vulkan, ha experimentado mejoras significativas relacionadas con la representación de fuentes, sugerencias y el uso de valores de escala no enteros al mostrar texto. Se ha implementado el suavizado del contorno de los glifos durante la rasterización para mejorar la claridad en pantallas de baja resolución, así como el posicionamiento de subpíxeles de los glifos al hacer sugerencias. La calidad de representación de fuentes también se ha mejorado en valores de escala no enteros, como 125%. Asimismo, se ha añadido soporte para el desalojo de elementos de caché para glifos y texturas, lo que ha mejorado la eficiencia del almacenamiento en caché de glifos.

Además de ello, se ha incorporado soporte para «Path» en GTK, lo cual permite dibujar formas y áreas utilizando una secuencia de líneas o curvas Bézier cúbicas y cuadráticas. Para realizar dibujos con trazados, se han introducido varios objetos en GTK, como GskPath para definir parámetros de líneas o curvas, GskPathBuilder para crear curvas, GskPathPoint para establecer un punto en una forma y GskPathMeasure para tomar medidas como la longitud de un trazado.

Por otro lado, la biblioteca GDK, que actúa como una capa entre GTK y el subsistema de gráficos, ha expandido su soporte para el mecanismo DMA-BUF, se menciona que este mecanismo permite el uso de buffers a nivel de kernel direccionados mediante un descriptor, lo que posibilita la transferencia directa de datos entre subsistemas del kernel sin necesidad de copiarlos. En el contexto de GTK, el soporte para DMA-BUF se utiliza para minimizar las operaciones de copia de datos de píxeles durante la composición y al trabajar con vídeo. Por ejemplo, el vídeo puede ser grabado mediante un decodificador de hardware en dmabuf, luego adjuntado a una superficie Wayland y finalmente pasar a un administrador de composición para su visualización en pantalla sin copias adicionales de datos.

También se han incorporado mejoras significativas para personas con discapacidades relacionadas con la visualización de texto con formato complejo, el funcionamiento de WebKitGTK y la visualización de notificaciones.

De los demás cambios que se destacan de esta nueva versión:

  • Se ha mejorado el soporte para las especificaciones ARIA, y se ha añadido la interfaz GtkAccessibleText para utilizar funciones de accesibilidad en widgets de texto de terceros.
  • La interfaz GtkText ha ampliado su soporte para el protocolo AT-SPI, permitiendo la interacción con lectores de pantalla.
  • Se ha añadido la clase GtkPrintDialog para generar cuadros de diálogo de impresión y proporcionar una API asincrónica que se puede utilizar en lugar de GtkPrintOperation.
  • Este widget ha actualizado los datos de Emoji y ahora ofrece la capacidad de buscar en diferentes idiomas, considerando las diferentes configuraciones regionales.
  • Se ha mejorado el seguimiento de los cambios realizados por el usuario en el widget GtkEntry, lo que facilita la implementación de la operación de deshacer.
  • Se ha acelerado la apertura del cuadro de diálogo de selección de archivos en el widget GtkFileChooser para mejorar la experiencia del usuario.
  • El inspector GTK ahora proporciona visualización de información sobre OpenGL, subsuperficies y FPS para facilitar la depuración y el análisis de rendimiento.
  • La utilidad gtk4-node-editor ahora cuenta con soporte de grabación automática para mayor comodidad al trabajar con nodos y ediciones complejas.

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

from Linux Adictos https://ift.tt/6FlTs8J
via IFTTT

Arti, la implementación de Tor en Rust llega a su version 1.2.0 y presenta estos cambios

Arti

Arti es un proyecto para producir una implementación integrable de los protocolos de anonimato Tor en Rust

La nueva versión de Arti 1.2.0 ya fue liberada y los desarrolladores de Tor continúan en los trabajando de integración en soporte para ejecutar servicios onion, asi como también que se han solucionado una serie de errores y problemas de seguridad y algunos cambios menores.

Para quienes desconocen de Arti, deben saber que este es un proyecto para implementar los protocolos de anonimato Tor en el lenguaje de programación Rust. A diferencia de la implementación C, que primero se diseñó como un proxy SOCKS y luego se adaptó a otras necesidades, Arti se desarrolló inicialmente en forma de una biblioteca modular integrable que puede ser utilizada por varias aplicaciones.

Una de las características distintivas de Arti es que aprovecha toda la experiencia acumulada en el desarrollo previo de Tor. Esto significa que se evitan problemas arquitectónicos conocidos, lo que hace que el proyecto sea más modular y eficiente desde su concepción. A medida que el código Rust alcanza un nivel de madurez que puede reemplazar por completo la implementación en C, los desarrolladores tienen la intención de otorgar a Arti el estatus de implementación principal de Tor y dejar de mantener la versión en C.

Principales novedades de Arti 1.20

El lanzamiento de Arti 1.2 se centra en la implementación estable del soporte para servicios onion, ya que ahora, Arti no solo permite conectarse a servicios existentes, sino también permite crear nuevos servicios onion. Además de ello, se ha iniciado el trabajo en capacidades relacionadas con la privacidad y seguridad de los servicios onion, como control de congestión RTT, protección DDoS, limitación de ancho de banda, autorización de clientes y Vanguard para evitar la detección de nodos Guard. Sin embargo, estas características aún no se han completado, por lo que no se recomienda utilizar Arti para implementaciones de producción hasta que se implementen por completo.

Además, la versión 1.2 soluciona una vulnerabilidad en el código de procesamiento de mensajes de retransmisión que permitía el envío de mensajes de datos vacíos, los cuales podían usarse para sustituir indicadores de tráfico indetectables. Aunque esta vulnerabilidad tiene una calificación baja debido a que los paquetes de datos solo se aceptan para subprocesos abiertos, se considera importante corregirla.

De los demás cambios que se destacan:

  • Mejorar las API del administrador de claves
  • Se diseñó la configuración del cliente y del servicio, y un subcomando CLI, para la autorización del cliente de servicio oculto.
  • Se mejoró la ergonomía de nuestras API de listado y eliminación de claves.
  • Se mejoró el registro de errores del circuito, incluyendo el identificador exclusivo del proceso del circuito en los mensajes de error.
  • Se diseñó una API para limitar la velocidad del ancho de banda.
  • Se corrigió un error que impedía que el editor del descriptor procesara completamente los resultados de las tareas de publicación, lo que provocaba que volviera a publicar el descriptor innecesariamente en algunas circunstancias.
  • Se arregló la compilación con musl.
  • Se actualizó la dependencia de curve25519-dalek de 4.1.1 a 4.1.2
  • Actualización a las últimas versiones de event-listener, rusqlite ,
    async-broadcast, Signature0, config.
  • Actualizaciones menores al proceso de lanzamiento
  • Corrección en la compilación y las advertencias en Windows.

Por otra parte, se menciona que en futuras versiones, se tiene previsto alcanzar la paridad con el cliente C para la rama 2.0 de Arti, que también ofrecerá enlaces para usar Arti en varios lenguajes de programación. Una vez que el código Rust alcance un nivel que pueda reemplazar completamente la versión C, los desarrolladores planean darle a Arti el estado de implementación principal de Tor y dejar de mantener la implementación C. Esta transición se realizará gradualmente para permitir una migración sin problemas.

Por último, es importante tener en cuenta que los desarrolladores advierten que la implementación aún está catalogada como experimental y la experiencia del usuario aún no cumple con todas las expectativas. Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/3U7OyV2
via IFTTT

Ente, la alternativa a Google Fotos libero el código fuente de su servidor

ente

Ente se volvió completamente de codigo abierto

La startup Ente ha anunciado una importante noticia y es que mediante una publicación de blog, ha dado a conocer la finalización de su labor de llevar todo su código fuente, incluidos los servidores, a ser completamente de código abierto. Y es que con este anuncio el servidor de su plataforma, junto con las aplicaciones móviles y de cliente que ya estaban abiertas previamente, han pasado a ser open source, con lo cual ahora se permite a los usuarios implementar un servicio de almacenamiento y uso compartido de fotografías similar a Google Photos y Apple Photos en sus propias instalaciones.

Con esta transición, los clientes de Ente y la comunidad en general tienen acceso total al código que garantizan el almacenamiento seguro y el cifrado de extremo a extremo, lo que garantiza una total transparencia en la seguridad, la integridad y la privacidad de los datos de los usuarios, al tiempo que ofrece una plataforma abierta para la experimentación y el desarrollo colaborativo.

ente photos

App ente photos

Una de las características destacadas de Ente es su capacidad para utilizar cifrado de extremo a extremo, lo que garantiza la protección de la información incluso en caso de compromiso del almacenamiento, lo que permite a los usuarios utilizar proveedores no confiables sin preocupaciones por la filtración de información confidencial.

El equipo de Ente enfatiza que esta decisión no solo se trata de tecnología, sino también de valores fundamentales. La transparencia, la confianza y la gratitud hacia la comunidad de código abierto y la tecnología que hacen posible el servicio de Ente son pilares clave en esta transición. Además, la apertura del código fuente de los servidores agrega una capa adicional de seguridad y garantía para los usuarios, independientemente de los cambios futuros en el panorama tecnológico.

Por la parte de las funciones criptográficas que garantizan la seguridad de los datos de los usuarios, estos se basan en la biblioteca Sodium, utilizando algoritmos como Argon2 1.3 para hash, X25519 para intercambio de claves, XSalsa20 y XChaCha20 para cifrado, y Poly1305 MAC para autenticación. Además, el proyecto ha sido sometido a auditorías independientes realizadas por Cure53 y Falible para garantizar la seguridad de los algoritmos criptográficos y del código fuente.

El servicio de almacenamiento de fotografías de Ente permite el intercambio selectivo de imágenes individuales y la creación de álbumes compartidos accesibles por varios usuarios. También admite la carga en segundo plano, importación y exportación para diferentes sistemas, y utiliza PostgreSQL como DBMS para garantizar un almacenamiento confiable mediante la replicación de la información en varios almacenamientos independientes.

Además del servicio de almacenamiento de fotografías, Ente ofrece la posibilidad de organizar el almacenamiento de otros tipos de datos como uno de los complementos de la aplicación. Por ejemplo, el componente Ente Auth se puede utilizar para crear programas de autenticación similares a Authy, que almacenan códigos de autenticación de dos factores, permiten la copia de seguridad del código en la nube y la sincronización entre diferentes dispositivos. Ente Auth y Ente Photos comparten el código del servidor para una mayor integración y funcionalidad.

Para los interesados en poder conocer más al respecto, deben saber que todo el trabajo de Ente está recopilado en un solo repositorio, el código del servidor está escrito en Go y se distribuye bajo la licencia AGPLv3. Las aplicaciones cliente están desarrolladas en TypeScript y Dart utilizando Flutter, y están disponibles para Linux, Windows, macOS, iOS y Android, además de contar con una interfaz web.

Puedes consultar los detalles del anuncio en el siguiente enlace.

from Linux Adictos https://ift.tt/qExiw37
via IFTTT

Panthor, el controlador de Collabora para GPU Arm Mali de 10° Generación

Panthor

Panthor un controlador del kernel de GPU de código abierto para la GPU Arm Valhall

Collabora dio a conocer mediante una publicación de blog uno de los hitos más recientes dentro de sus trabajos presentados, y es que ha anunciado la tan esperada fusión del controlador del kernel que agrega soporte para las GPU Arm Mali de décima generación en drm-misc. Este controlador mejor conocido como «Panthor», es un controlador de código abierto diseñado específicamente para la GPU Mali de décima generación (G310, G510, G710).

Se menciona que la fusión del controlador representa un el trabajo y esfuerzo colaborativo de dos años entre varios desarrolladores y empresas, Collabora destaca la importancia de la colaboración en el desarrollo de tecnologías avanzadas.

La participación de Arm en este proceso ha sido crucial, no solo proporcionando acceso a documentación clave, sino también participando activamente en la revisión y co-mantenimiento del controlador del kernel.

Al principio, el desarrollo del nuevo controlador se llevó a cabo mediante ingeniería inversa, pero luego ARM se unió al proyecto, proporcionó acceso a la documentación y participó en la revisión del código. Dos empleados de ARM han sido ascendidos al estado de co-mantenedores de controladores para el kernel de Linux. En el futuro, una vez que el controlador OpenGL esté listo, el trabajo se centrará en implementar un controlador Vulkan para las nuevas GPU de Mali y actualizar el controlador Vulkan existente para las GPU de Mali más antiguas.

Este controlador utiliza la tecnología CSF (Command Stream Frontend) para transferir algunas funciones del controlador al lado del firmware, lo que ayuda a reducir la carga en la CPU y proporciona un nuevo modelo de organización del trabajo en la GPU. El controlador DRM (Direct Rendering Manager) Panthor ha sido aceptado en la rama drm-misc y se espera que se incluya en el kernel de Linux 6.10. Mesa también ha adoptado cambios para admitir el nuevo controlador, que se incluirán en el controlador Panfrost Gallium para GPU de Mali.

En la nueva generación de GPU Mali, el planificador de Job Manager se sustituye por una interfaz CSF, que utiliza un modelo basado en flujo de comandos con programación de la cola de flujo de comandos en el lado del firmware en lugar de un modelo basado en el envío de una cadena de trabajos. Esto implica la integración de un microcontrolador Cortex-M7 separado en la GPU y una unidad de ejecución de comandos especial para ejecutar instrucciones CSF. Estas funciones requieren una organización fundamentalmente diferente para transferir el trabajo a la GPU desde el espacio del usuario.

Inicialmente, se intentó implementar soporte para GPU Mali basadas en CSF en el controlador Panfrost DRM, pero los desarrolladores concluyeron que esto complicaría demasiado el controlador existente. Por lo tanto, para CSF, fue más óptimo crear un nuevo controlador con una arquitectura diferente. El controlador Panthor implementa una uAPI completamente nueva, una nueva lógica de programación de trabajos y una nueva lógica de control MMU/GPU-VA. Se basa en el código del controlador DRM existente de Panfrost, del cual toma patrones típicos de inicialización del controlador, control de frecuencia y administración de energía.

Además de ello, se menciona que el controlador del kernel, se ha fusionado la solicitud de fusión de mesa que extiende el controlador Gallium existente para admitir las nuevas GPU Arm Mali de décima generación. Collabora también ha trabajado para asegurar que las placas basadas en Rockchip RK3588 se puedan cargar utilizando una pila de software completamente abierta. Para Rockchip RK3588, se ha preparado una imagen del sistema basada en Debian y un gestor de arranque abierto para reemplazar los componentes propietarios BL31 (etapa 3.1 del cargador de arranque). Esto es especialmente significativo para las plataformas RK3588 de Rockchip, donde se espera un rendimiento y una eficiencia mejorados gracias a estas actualizaciones.

El trabajo en el controlador Gallium no solo implica habilitar el soporte para nuevas GPU, sino también optimizar el rendimiento y la compatibilidad con las API gráficas modernas. Esta extensión del controlador es parte de un esfuerzo continuo para ofrecer una experiencia gráfica excepcional en una variedad de dispositivos y escenarios de uso.

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

from Linux Adictos https://ift.tt/iswCAxF
via IFTTT

ArtPrompt: un jailbreak que permite eludir los filtros de las IA’s mediante imágenes ASCII

ArtPrompt

Método ArtPrompt

Los avances en el desarrollo de inteligencias artificiales cada vez es mayor y requiere de más capas de seguridad para evitar que personas mal intencionadas abusen de estas herramientas que se han convertido en armas dé doble filo.

Y es que el desarrollo de los LLMs que se utilizan en una amplia gama de aplicaciones, la seguridad ya no es algo opcional, ya que en muchas ocaciones hemos visto de lo que es capas su mal uso.

Aun con todas esas técnicas implementadas, siguen surgiendo problemas que se encuentran dentro de los datos de entrenamiento, lo cual a primera vista no resulta nada fuera de lo común o peligroso al no considerar otras interpretaciones posibles de los datos.

La razón de mencionar esto, es que hace poco se dio a conocer información sobre un nuevo ataque denominado «ArtPrompt», el cual se aprovecha de las limitaciones de las IA’s en reconocer imagenes ASCII para eludir las medidas de seguridad y desencadenar comportamientos no deseados en los modelos.

Este ataque fue descubierto por investigadores de las universidades de Washington, Illinois y Chicago, y mencionan que «ArtPrompt» es un método para eludir las restricciones en chatbots de inteligencia artificial tales como GPT-3.5, GPT-4 (OpenAI), Gemini (Google), Claude (Anthropic) y Llama2 (Meta).

Este método de ataque se ejecuta en dos pasos y como tal se aprovecha del reconocimiento exitoso de texto formateado en ASCII. El primer paso consiste en identifican las palabras del prompt que podrían desencadenar rechazos para evadir los filtros que detectan preguntas peligrosas y en el segundo se encubren esas palabras utilizando arte ASCII para crear un prompt camuflado logrando así inducir respuestas perjudiciales en el modelo.

La efectividad de ArtPrompt se evaluó en cinco chatbots, demostrando su capacidad para eludir las defensas existentes y superar a otros tipos de ataques de jailbreak. Para evaluar la capacidad de los chatbots en reconocer consultas en forma de arte ASCII, se propone «Vision-in-Text Challenge (VITC)» como un benchmark.

Este desafío busca poner a prueba la capacidad de los modelos para interpretar y responder a consultas que utilizan arte ASCII, mostrando que los LLMs tienen dificultades para comprender consultas que representan una sola letra o número con arte ASCII. La precisión de los modelos disminuye significativamente a medida que las consultas contienen más caracteres, lo que pone de manifiesto una vulnerabilidad en la capacidad de los LLMs para procesar información visual codificada de esta forma. Además, se revisan otros ataques y defensas contra los jailbreaks en LLMs.

Se menciona que ArtPrompt es notablemente más efectivo que otros métodos conocidos ya que logró la más alta calidad de reconocimiento de gráficos ASCII en modelos como Gemini, GPT-4 y GPT-3.5, con tasas de omisión exitosa del filtro del 100%, 98% y 92% respectivamente en las pruebas. En cuanto a la tasa de éxito del ataque, se registró un 76%, 32% y 76%, y la peligrosidad de las respuestas recibidas se evaluó en 4,42, 3,38 y 4,56 puntos en una escala de cinco, respectivamente.

ArtPrompt destaca de otros ataques de jailbreak para construir las instrucciones dañinas, ya que requieren de un gran número de iteraciones, mientras que ArtPrompt logra el ASR más alto entre
todos los ataques de jailbreak con una sola iteración. La razón es que ArtPrompt puede construir eficientemente el conjunto de indicaciones encubiertas, y enviarlos al modelo en paralelo.

Además, los investigadores demostraron que los métodos comunes de elusión de filtros actualmente en uso (Paraphrase y Retokenization) no son efectivos para bloquear este tipo de ataque llamado «ArtPrompt». Curiosamente, el uso del método de Retokenización incluso aumentó la cantidad de solicitudes procesadas con éxito, lo que resalta la necesidad de desarrollar nuevas estrategias para enfrentar este tipo de amenazas en la interacción con chatbots.

ArtPrompt destaca por su capacidad para eludir las defensas existentes y los investigadores mencionan que seguirá siendo eficaz para atacar modelos de lenguaje multimodal, mientras los modelos continuen tomando imágenes como entradas, confundiendo al modelo y permitiendo que ArtPrompt induzca comportamientos inseguros.

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

from Linux Adictos https://ift.tt/qZE0gG5
via IFTTT