Steam Audio ahora está disponible como código abierto

Steam Audio

Steam Audio ofrece una solución de audio espacial avanzada para juegos y aplicaciones de realidad virtual

Valve dio a conocer hace poco, mediante una publicación de blog, el anuncio de la liberación del código fuente de Steam Audio SDK y todos los complementos relacionados, con lo cual ahora los desarrolladores tienen la libertad de adaptar Steam Audio a sus necesidades específicas y utilizar versiones modificadas en diversos productos, incluidos los comerciales, sin tener que abrir el código fuente de los cambios realizados.

Este movimiento no solo abre nuevas posibilidades para la comunidad de desarrolladores, sino que también invita a los interesados en el desarrollo de Steam Audio a participar activamente en el proyecto, pues ahora tienen la oportunidad de contribuir con sus propios cambios y mejoras al proyecto, lo que puede mejorar aún más la plataforma y adaptarla a una variedad de aplicaciones y escenarios.

Nos complace anunciar que con la última versión de Steam Audio , el código fuente completo del SDK de Steam Audio ahora está disponible como código abierto. Con este lanzamiento, nuestro objetivo es brindar más control a los desarrolladores, lo que conducirá a mejores experiencias para sus usuarios y, con suerte, contribuciones valiosas a la comunidad más amplia de desarrolladores que utilizan Steam Audio.

Esto se produce después de recibir muchos comentarios y contribuciones valiosos de la comunidad a los complementos que ya están disponibles como código abierto (Unity, Unreal y FMOD Studio), y queremos llevar esos mismos beneficios al SDK principal.

Se menciona que a pesar de esta apertura, Valve continuará apoyando y desarrollando Steam Audio como lo ha hecho hasta ahora, manteniendo su compromiso con la calidad y la innovación en el campo del audio. Además, Steam Audio seguirá siendo compatible con una amplia gama de plataformas, incluidas Linux, Windows, macOS, Android e iOS, lo que garantiza su accesibilidad y utilidad en una variedad de entornos de desarrollo y aplicaciones.

Para quienes desconocen de Steam Audio, deben saber que ofrece una serie de herramientas poderosas para trabajar con sonido envolvente 3D en diversas aplicaciones, incluidos los juegos de computadora y los sistemas de realidad virtual. Su capacidad para simular entornos sonoros realistas, teniendo en cuenta la posición del oyente, el movimiento de la cabeza, la distancia desde la fuente de sonido y otros factores, es fundamental para crear una experiencia de audio inmersiva y adaptativa.

Entre las características clave de Steam Audio que se destacan, podremos encontrar las siguientes:

  • Integración con motores de juegos y entornos de creación de sonido: Steam Audio es compatible con Unity 2017.3+ y Unreal Engine 4.27+, así como con FMOD Studio 2.0+. Además, se está desarrollando un módulo para integrarse con el sistema de creación de sonido Wwise.
  • Simulación en tiempo real de la propagación del sonido: Steam Audio simula automáticamente la propagación del sonido en el entorno y su interacción con los objetos, lo que añade realismo al audio.
  • Cálculo de la reflexión y absorción del sonido por objetos: Considera la geometría de la escena para calcular cómo el sonido se refleja y se absorbe por los objetos presentes.
  • Seguimiento de la rotación y posición del oyente en realidad virtual: Steam Audio adapta el sonido en función de la rotación y posición del oyente, proporcionando una experiencia sonora realista en entornos de realidad virtual y soportando diversos tipos de hardware para sistemas VR.
  • Generación de sonido binaural 3D mediante HRTF: Steam Audio utiliza la función de transferencia de cabeza y torso (HRTF) para generar sonido binaural 3D, que tiene en cuenta las características de la percepción de las ondas sonoras por parte de los oídos y la posición de la cabeza respecto a la fuente de sonido.
  • Soporte para formato de sonido envolvente Ambisonics: Steam Audio es compatible con el formato de sonido envolvente Ambisonics, que considera la propagación del sonido tanto horizontal como verticalmente, proporcionando una experiencia de sonido más completa y envolvente.
  • Propagación horneada de sonido para escenas estáticas: Permite pregenerar y guardar efectos de sonido durante la etapa de diseño de la escena, lo que mejora la calidad del sonido y reduce el consumo de recursos durante la ejecución al no tener que calcular los parámetros de sonido sobre la marcha.

Finalmente, cabe mencionar que el código está escrito en C++ y publicado bajo la licencia Apache 2.0 y 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/MHWAar1
via IFTTT

El soporte de Skia fue añadido WebKitGTK y WPEWebKit para el renderizado de gráficos 2D

Skia Logo

Skia es una biblioteca de gráficos 2D de código abierto

En el mundo del desarrollo de navegadores web y entornos de escritorio, la optimización y el rendimiento son una de las características más demandadas por parte de los usuarios y es que estos son aspectos críticos que influyen directamente en la experiencia del usuario y unos de los principales factores al momento de elegir un navegador web.

En este contexto, los equipos de desarrollo detrás de WPEWebKit y WebKitGTK (el motor de navegador utilizado en navegadores como Safari y Epiphany/GNOME Web), han incorporado la capacidad de utilizar la biblioteca Skia para el renderizado de gráficos 2D.

Durante los últimos años, los desarrolladores de WebKit han estado trabajando arduamente para mejorar el rendimiento gráfico de WebKitGTK y WPEWebKit. Aunque se han implementado características como el renderizado por subprocesos y VSync, y quedó claro que el renderizador 2D basado en CPU había alcanzado sus límites en términos de rendimiento y eficiencia. Se menciona que exploraron diversas opciones antes de optar por Skia. Los intentos de agregar capacidades de renderizado de GPU 2D a la biblioteca Cairo, utilizada por WebKitGTK, no tuvieron éxito debido a limitaciones en la arquitectura de la biblioteca. Además, un proyecto para desarrollar una biblioteca de renderizado personalizada se abandonó debido a las dificultades para lograr un equilibrio entre el rendimiento y la calidad del renderizado.

Hubo un intento de hacer que Cairo admitiera la renderización de GPU, lo que no funcionó particularmente bien debido a que la biblioteca estaba diseñada en torno a una operación con estado basada en el modelo PostScript, lo que resultó en una API conveniente y familiar, con una excelente calidad de salida, pero difícil de reorientar y con algunos casos de esquina particularmente lentos. Mientras tanto, otros motores web han trasladado más trabajo a la GPU, incluido el renderizado 2D, donde muchas operaciones son considerablemente más rápidas

Aunque la idea de utilizar Skia inicialmente fue rechazada debido a problemas con la estabilidad de la API, su uso como dependencia externa y la necesidad de mantener un módulo de terceros en WebKit, finalmente se consideró como la solución óptima para mejorar el rendimiento del renderizado gráfico en WebKitGTK.

Skia es una biblioteca de gráficos utilizada en varios productos de Google, como Chrome, Firefox, ChromeOS, Android y Flutter. Esta adición permite el renderizado con el uso de la GPU, lo que puede mejorar significativamente el rendimiento de la representación gráfica.

La migración hacia Skia fue realizada por Igalia como parte de una iniciativa para optimizar el rendimiento de WebKitGTK para GNOME. Se menciona que el motivo principal detrás de esta migración fue alcanzar un límite en el proceso de optimización del rendimiento de renderizado 2D utilizando la CPU. Utilizar la GPU proporciona una capacidad adicional para mejorar el rendimiento de la representación gráfica.

El proceso de transición a Skia comenzó con pruebas internas en diciembre de 2023 y los resultados iniciales fueron impresionantes, ya que de primer momento se observaron mejoras significativas en el rendimiento, especialmente en el escritorio. A medida que avanzaban las pruebas, se hizo evidente que Skia no solo ofrecía un rendimiento superior, sino que también simplificaría el código y abriría la puerta a nuevas funcionalidades.

En febrero de 2024, tras un intenso período de desarrollo y pruebas, la implementación de Skia alcanzó un estado «upstreamable», lo que significa que estaba listo para ser integrado en WebKitGTK y WPEWebKit de manera pública, con lo cual la respuesta inicial de la comunidad de desarrolladores fue positiva, lo que marcó un hito importante en el proceso de transición.

El equipo se compromete a futuro a continuar mejorando la implementación de Skia en WebKitGTK y WPEWebKit, con planes de optimizar aún más el rendimiento y la eficiencia del renderizado de GPU. Aunque actualmente el enfoque está en el port WPE, se espera que otros ports, como GTK, también reciban soporte de Skia en el futuro.

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

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

Fueron detectadas nuevas vulnerabilidades de autenticación WiFi en Linux 

Vulnerabilidades WiFi

Las vulnerabilidades afecta a los dispositivos Android, ChromeOS y Linux que se conectan a redes WiFi

Hace poco se dio a conocer la noticia de que fueron identificadas dos nuevas vulnerabilidades en los paquetes de software de código abierto Wifi de Linux que permiten a los atacantes engañar a las víctimas para que se conecten a redes clonadas (FakeAP imitando al original) e intercepten su tráfico.

Las vulnerabilidades descubiertas fueron detectadas en los paquetes IWD (Intel inet Wireless Daemon) y wpa_supplicant, los cuales se utilizan para gestionar la conexión de sistemas cliente Linux a redes inalámbricas.

Naturaleza de las vulnerabilidades : dos ataques de omisión de autenticación en redes WPA2/3 modernas: uno contra usuarios que se conectan a Enterprise WiFi y el otro contra redes WiFi domésticas existentes .

Impacto:

wpa_supplicant: permite a un atacante engañar a una víctima para que se conecte a un clon malicioso de una red WiFi empresarial y posteriormente interceptar su tráfico.

IWD: permite a un adversario obtener acceso no autorizado a una red WiFi doméstica protegida, exponiendo a los usuarios y dispositivos existentes a ataques.

En el caso de IWD, la vulnerabilidad (catalogada bajo CVE-2023-52161) se manifiesta únicamente cuando se habilita el modo de punto de acceso, que no es una configuración habitual para IWD, diseñado principalmente para conectarse a redes inalámbricas. Esta vulnerabilidad permite conectarse a un punto de acceso creado sin necesidad de conocer la contraseña, por ejemplo, cuando un usuario proporciona acceso a la red a través de su dispositivo (hotspot).

Se menciona que la vulnerabilidad se origina en la falta de verificación del orden de los pasos durante la negociación de la conexión inalámbrica. Esta negociación se basa en un canal de comunicación de 4 pasos al conectarse por primera vez a una red inalámbrica segura. El problema radica en que IWD acepta mensajes para cualquier etapa de esta negociación sin verificar si se ha completado la etapa anterior.

Por ejemplo, un atacante puede omitir el envío del mensaje de la segunda etapa y enviar directamente un mensaje de la cuarta etapa, evitando así la etapa en la que se verifica la autenticación. Al procesar este mensaje de la cuarta etapa sin la verificación adecuada, la clave PTK se establece en cero. Con esto, el atacante puede calcular el código MIC (Código de Integridad del Mensaje) utilizando un PTK nulo, y el IWD aceptará este código de verificación como válido.

Como resultado, el atacante completa esta negociación parcial de la conexión y obtiene acceso total a la red inalámbrica, ya que el punto de acceso recibirá las tramas que envíe cifradas con una clave PTK nula. Cabe mencionar que este problema fue solucionado en la versión 2.14 de IWD.

Por otro lado, en wpa_supplicant la vulnerabilidad (CVE-2023-52160) permite a un atacante atraer a un usuario a una red inalámbrica ficticia, actuando como un clon de la red a la que el usuario pretende conectarse. Esta falla en la implementación del protocolo PEAP permite al atacante omitir la segunda etapa de autenticación al conectar un dispositivo de usuario mal configurado, lo que facilita la creación de un clon falso de una red Wi-Fi confiable. Este problema afecta a redes con WPA2-Enterprise o WPA3-Enterprise que utilizan el protocolo PEAP.

Sobre esta vulnerabilidad se menciona que para llevar a cabo con éxito un ataque en wpa_supplicant, primero se deben cumplir algunas condiciones:

  1. Verificación del certificado TLS del servidor deshabilitada: El usuario debe deshabilitar la verificación del certificado TLS del servidor en su configuración de wpa_supplicant. Esta es una configuración peligrosa que permite al atacante engañar al cliente para que se conecte a una red falsa.
  2. Conocimiento del SSID de la red clonada: El atacante debe conocer el identificador de la red inalámbrica (SSID) de la red clonada. Esto le permite al atacante configurar una red falsa que imita la red legítima y engañar al cliente para que se conecte a ella.
  3. Posicionamiento del atacante: El atacante debe estar dentro del alcance del adaptador inalámbrico de la víctima, pero fuera del alcance del punto de acceso de la red inalámbrica clonada. Esto significa que el atacante debe estar lo suficientemente cerca de la víctima para interceptar su tráfico, pero lo suficientemente lejos del punto de acceso legítimo para que el cliente elija la red falsa.
  4. Tipo de red: El ataque es posible en redes que utilizan WPA2-Enterprise o WPA3-Enterprise que implementan el protocolo PEAP. Este protocolo se utiliza comúnmente en entornos empresariales y educativos para autenticar usuarios en redes inalámbricas seguras.

Los desarrolladores de wpa_supplicant consideran que el problema no es una vulnerabilidad, ya que solo se manifiesta en redes inalámbricas configuradas incorrectamente que utilizan autenticación EAP junto con PEAP sin verificar el certificado TLS del servidor. Para mitigar este problema, se ha lanzado un parche que añade un modo de paso obligatorio de la segunda fase de autenticación, además de comprobar el certificado TLS. Sin embargo, para abordar completamente la vulnerabilidad, los administradores de red deben configurar una cadena de confianza para verificar el certificado del servidor mediante el parámetro ca_cert.

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/x2wPSMy
via IFTTT