Linux 5.15: una versión del kernel grandiosa para AMD y Apple M1

Logo Kernel Linux, Tux

El Release Candidate 1 (RC1) ya ha sido lanzado. El kernel Linux 5.15 comienza su desarrollo, y en un tiempo llegará su versión final. En lo que ya se puede ver por las aportaciones de código, será un enorme salto que beneficiará especialmente a los usuarios que dispongan de CPUs AMD Zen, así como para el SoC M1 de Apple.

Se pueden ver algunas actualizaciones en los controladores WiFi de Realtek, en los sistemas de ficheros, como el NTFS que ha aportado el desarrollador Paragon Software para la rama principal del kernel Linux, optimizaciones para XFS, EXT4, F2FS, y Btrfs, así como otras mejoras y correcciones, y mejor soporte para el SoC M1 de Apple.

Pero todo esto se queda pequeño para lo que se está moviendo en torno a AMD en el kernel Linux 5.15:

  • Para el escritorio (Ryzen):
    • Fusión del controlador de audio para APU Van Gogh.
    • Cambios y correcciones en el código s2idle para AMD para modos de suspensión y reanudación.
    • Soporte de monitoreo de temperatura para APUs AMD Zen 3.
    • Soporte de monitoreo de temperatura para APUs Yellow Carp. Estas llegarán con la serie Ryzen 6000.
    • Gestión de C3 optimizado para CPU AMD, lo que mejorará la energía en el estado de reposo.
  • Para el servidor (EPYC):
    • Controlador PTDMA ha llegado, es decir, para DMA Pass-Through para copias E/S y de memoria de gran ancho de banda para dispositivos NTB.
    • Controlador SB-RMI nuevo. Para la administración remota en plataformas de servidor.
    • AMD KVM ahora admite paginación de 5 niveles para manejar mayores capacidades de memoria.
  • Para los gráficos (Radeon):
    • Se agregaron nuevos ID para actaulizaciones de las GPUs basadas en RDNA2.
    • Compatibilidad con AMD Cyan Skillfish para un diseño de APU con Navi que aún no se ha lanzado.
    • AMDGPU ahora aprovecha VKMS para mejorar su código de visualización virtual.
    • Correcciones en la gestión de energía para el controlador AMDGPU, HDMI FreeSync, manejo de enlaces PCI Express y otras.

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

Flutter 2.5 llega con mejoras de rendimiento y mas

En un articulo anterior hablamos sobre el lanzamiento de la nueva versión del lenguaje de programación Dart 2.14 y ahora en este articulo toca hablar sobre la nueva versión de Flutter 2.5 la cual fue liberada de manera paralela con la de Dart.

En esta nueva versión de Flutter se han realizado importantes optimizaciones de rendimiento, se ha comenzado a trabajar para el soporte de Apple M1, asi como tambien diversas mejoras, soporte para pantalla completa en Android, la implementación de «Material You» y mucho más.

Para quienes desconocen de Flutter, deben saber que este se considera como una alternativa a React Native y permite lanzar aplicaciones para diferentes plataformas, incluyendo iOS, Android, Windows, macOS y Linux, basadas en la misma base de código, así como aplicaciones para ejecutar en navegadores.

Las aplicaciones móviles previamente escritas en Flutter 1, después de cambiar a Flutter 2, podrán adaptarse para trabajar en el escritorio y la Web sin tener que volver a escribir el código.

Sobre Flutter

La mayor parte del código de Flutter se implementa en Dart y el motor de tiempo de ejecución para ejecutar aplicaciones está escrito en C++. Al desarrollar aplicaciones, además del lenguaje Dart nativo de Flutter, puede usar la interfaz de función extranjera de Dart para llamar al código C/C++.

La portabilidad de Flutter también se extiende a los dispositivos integrados, es decir, a dispositivos más pequeños como Raspberry Pi y Google Home Hub.

En este punto, dice Google, una de las plataformas integradas donde Flutter ya está operando se basa en sistemas operativos de pantallas inteligentes que alimenta a los gustos de Google Home Hub.

Principales novedades de Flutter 2.5

En esta nueva versión de Flutter 2.5, de los cambios más importantes que se destacan estan por ejemplo la precompilación de sombreadores para la API de gráficos de Metal que se implementa en las plataformas iOS y macOS, pues en esta nueva versión se ha mejorado la eficiencia del procesamiento de eventos asincrónicos.

Además de que tambien se ha resuelto el problema de los retrasos durante la liberación de memoria del recolector de basura de imágenes no utilizadas (por ejemplo, durante la reproducción de un GIF animado de 20 segundos, el número de operaciones de recolección de basura se ha reducido de 400 a 4 retrasos en la transferencia de mensajes entre Dart y Objective-C/Swift se han reducido hasta en un 50% (iOS) o Java/Kotlin (Android).

De  los cambios que son relacionados para Android, se ha establecido el soporte para el funcionamiento de aplicaciones en modo de pantalla completa, además de que se continúa con la implementación del concepto de diseño «Material You», promocionado como una variante del Material Design de próxima generación.

Tambien se agregó un nuevo estado MaterialState.scrolledUnder, se implementó la visualización dinámica de barras de desplazamiento al cambiar el tamaño y se propuso una nueva interfaz para mostrar pancartas con notificaciones.

Y las capacidades del complemento para trabajar con la cámara se han ampliado significativamente, en el que hay herramientas para controlar el enfoque automático, la exposición, el flash, el zoom, la supresión de ruido y la resolución.

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

  • Diversas correcciones y mejoras en el marco
  • Adición de notificaciones de métricas de desplazamiento
  • Nuevas funciones de edición de texto
  • Herramientas de desarrollador mejoradas (DevTools) con un modo de inspección de widgets actualizado, así como herramientas para detectar retrasos en el dibujo y rastrear la compilación de sombreadores.
  • Complementos mejorados para Visual Studio Code e IntelliJ/Android Studio.
  • Se ha comenzado a trabajar en esta versión, en el soporte para aplicaciones Flutter creadas en Apple Silicon M1 que se ejecutan de forma nativa en simuladores ARM iOS

Finalmente si quieres conocer más al respecto sobre esta nueva versión de Flutter 2, puedes consultar los detalles en el anuncio original. El enlace es este.

Mientras para los que estén interesados en poder instalar Flutter, pueden seguir las instrucciones al final del post de Diego. El enlace es este.

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

Dart 2.14 llega con soporte para Apple M1, nuevos operadores, mejoras y mas

Google dio a conocer hace poco el lanzamiento de la nueva versión del lenguaje de programación «Dart 2.14», que continúa el desarrollo de una rama radicalmente rediseñada de Dart 2 y que se diferencia de la versión original del lenguaje Dart por el uso de una fuerte escritura estática.

En esta nueva versión se destaca el soporte para Apple M1, la integración de nuevos operadores, mejoras en algunos comandos, manejo de memoria, en reglas y mucho más.

Para quienes desconocen de Dart deben saber que este, está pensado para ofrecer mejores resultados mediante alternativas a algunos problemas de JavaScript, pese a que en su presentación no se hicieron referencias explícitas a JavaScript. Pretende ser una herramienta sencilla para proyectos más grandes y ofrecer una mejor seguridad.

El objetivo de Dart no es reemplazar JavaScript como el principal lenguaje de programación web en los navegadores web, sino ofrecer una alternativa más moderna. El espíritu del lenguaje puede verse reflejado en las declaraciones de Lars Bak, ingeniero de software de Google, que define a Dart como un “lenguaje estructurado pero flexible para programación Web”

Principales novedades de Dart 2.14

En esta nueva versión de Dart 2.4 una de las novedades que se presenta es que en el SDK ya se cuenta con el soporte para procesadores Apple M1, lo que significa tanto la capacidad de ejecutar Dart VM, utilidades y componentes SDK en sistemas con un procesador Apple Silicon, como soporte para compilar archivos ejecutables para estos chips.

Otra de las novedades es en el comando «dart pub» en el cual se ha agregado soporte para un nuevo archivo de servicio «.pubignore» que permite definir una lista de archivos que se omitirán al publicar un paquete en el repositorio pub.dev. Estas configuraciones no se superponen con la lista de ignorados «.gitignore» (en algunas situaciones en pub.dev se requiere no transferir archivos que son necesarios en Git, por ejemplo, scripts internos usados ​​durante el desarrollo).

En la biblioteca estándar (Core) se agregan los métodos estáticos hash, hashAll y hashAllUnordered a la clase Object, mientras que para la clase DateTime, en esta se ha mejorado el manejo de la hora local al convertir horas entre horario de verano e invierno que no es un múltiplo de una hora.

Además en Dart 2.14 se proponen conjuntos de reglas unificadas para el analizador de código (linter), que brindan soporte simultáneo para verificar el cumplimiento de las recomendaciones de estilo de código para Dart y el marco Flutter. Por razones históricas, las reglas de codificación para Flutter y Dart eran diferentes, además, había dos conjuntos de reglas en uso para Dart.

Dart 2.14 introduce un nuevo conjunto general de reglas para linter de forma predeterminada en los nuevos proyectos de Dart y en el SDK de Flutter. El conjunto incluye reglas básicas, reglas adicionales recomendadas y pautas específicas de Flutter.

En el formateador, se han realizado optimizaciones en el formateo de bloques de código en cascada, lo que puede mejorar significativamente el rendimiento del formateo y evitar una interpretación ambigua de la pertenencia de los elementos de expresión.

El paquete ffi agrega soporte para el asignador de memoria, que libera recursos automáticamente. El paquete ffigen agrega la capacidad de generar definiciones typedef de tipos de Dart desde el lenguaje C.

De los demas cambios que se destacan:

  • Se ha agregado un nuevo operador de triple turno (>>>) que, a diferencia del operador «>>», no realiza una aritmética, sino un desplazamiento lógico que funciona sin tener en cuenta el bit de signo (el desplazamiento se realiza sin dividir en números positivos y negativos).
  • Se eliminó la restricción en los argumentos de tipo, que no permitía usar tipos comunes de funciones como argumento con un tipo.
  • Se ha trabajado para mejorar el rendimiento del comando «dart test», que ahora no requiere volver a compilar las pruebas después de cambiar pubspec, si el número de versión no ha cambiado.
  • Se eliminó la compatibilidad con la compilación en el modo de compatibilidad ECMAScript 5 (el cambio provocará la pérdida de compatibilidad con el navegador IE11).
  • Las utilidades separadas stagehand, dartfmt y dart2native han sido declaradas obsoletas, reemplazadas por comandos incorporados invocados a través de la utilidad dart.
  • Mecanismo de extensiones nativas de VM obsoleto. Para llamar al código nativo desde el código Dart, se recomienda utilizar la nueva interfaz Dart FFI (Foreign Function Interface).

Fuente: https://medium.com

from Linux Adictos https://ift.tt/2YNtZmO
via IFTTT

Steam Deck dev-kits está en movimiento según Valve

Steam Deck

El lanzamiento del Steam Deck de Valve sorprendía a muchos. Ahora la desarrolladora sigue moviéndose para traer más dev-kits o kits de desarrollo. Una forma de facilitarle la vida a los desarrolladores de contenido para este dispositivo e, indirectamente, hacer la plataforma más atractiva para los usuarios.

En la cuenta de Steam se pudo leer el mensaje: «¡Todo empaquetado y listo para los desarrolladores! Este es uno de los lotes limitados de kits de desarrollo de Steam Deck que se lanzarán hoy para que los socios prueben sus juegos. Estas compilaciones de prueba de verificación de ingeniería nos permiten conectar a los desarrolladores con unidades que son funcionalmente idénticos a los que se le enviarán.«

Y el mensaje continuaba: «Dado que todavía estamos en las etapas finales de desarrollo, el programa dev-kit nos brinda la oportunidad de guiar a los desarrolladores de juegos a través del proceso de obtener sus juegos en Steam Deck y al mismo tiempo continuar recopilando sus comentarios mientras nos preparamos para el lanzamiento oficial en el fin de año.«

Ya hay algunos desarrolladores que tienen los suyos, y podrán comenzar a probar los videojuegos que desarrollan en un dispositivo idéntico al que podrán comprar el resto de usuarios que ejecutarán dichos videojuegos. Así se garantizan de que todo funciona como es debido, y pulir cualquier error o problema de jugabilidad antes del lanzamiento del título en Steam.

Una gran noticia para todos, y que permitirán que esta consola portátil basada en Linux resulte interesante y no termine como Steam Machine, que si lo recuerdas, terminó fracasando frente a Xbox o PlayStation, entre otras consolas que hicieron sombra. Además, los kits para montar esta consola «moldeable» no eran nada baratos en muchos casos, lo que tampoco contribuyó a su no-éxito y a todo lo que ocurriría después…

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