Ravi Sharma del equipo de Ubuntu Foundations presentó un resumen del trabajo realizado durante el último año para garantizar el soporte completo de la arquitectura ARM64 en Ubuntu. Se destaca que, gracias a la mejora de las herramientas y la infraestructura, así como a la promoción de cambios en el núcleo de Linux, se han podido resolver problemas específicos de ARM64 en el último año, como la distribución de paquetes a través de un repositorio separado, la falta de soporte para parches en vivo en el núcleo, las limitaciones para los entusiastas de los videojuegos y la falta de acceso a Secure Boot en laptops con chips Qualcomm Snapdragon.
Logros clave:
- Los paquetes para la arquitectura ARM64 se han trasladado de los puertos (ports.ubuntu.com) al archivo principal de Ubuntu (archive.ubuntu.com), lo que ha permitido utilizar la misma infraestructura que se emplea para la arquitectura x86_64 para su distribución. Los paquetes para ARM64 ahora se entregan a través del sistema primario de espejos, lo que ha incrementado la velocidad y la fiabilidad en su descarga. La migración requirió realizar cambios en los paquetes cloud-init, live-build, livecd-rootfs y ubuntu-release-upgrader. Estos cambios se incluyeron en Ubuntu 26.04 y están en proceso de backport para Ubuntu 24.04 LTS.
- El servicio Livepatch, que permite aplicar correcciones al núcleo de Linux en sistemas en funcionamiento sin necesidad de reinicio, se ha extendido a sistemas basados en la arquitectura ARM64. Anteriormente, los parches en vivo solo estaban disponibles para la arquitectura x86_64, ya que en el núcleo de Linux para ARM64 faltaba soporte para rastreos de pila confiables (CONFIG_HAVE_RELIABLE_STACKTRACE) para identificar actividades relacionadas con el manejo de interrupciones, y las herramientas como objtool y kpatch carecían de funciones adecuadas para evaluar el estado antes y después de aplicar un parche. El soporte de parches en vivo para ARM64 está disponible en Ubuntu 26.04 LTS y Ubuntu Core 26.
- Se ha formado un paquete snap estable con el cliente de Steam, ensamblado para la arquitectura ARM64. Dado que el cliente de Steam para Linux solo está disponible para la arquitectura x86, se ha utilizado una capa de emulación basada en el paquete FEX para ejecutarlo en sistemas ARM64. La emulación soporta el paso de GPU y el uso de Wine, Proton, DXVK y vkd3d para ejecutar videojuegos ensamblados para la arquitectura x86_64 y distribuidos a través del catálogo de Steam. El funcionamiento del paquete snap ha sido probado en laptops con chips Qualcomm Snapdragon X Elite, NVIDIA DGX Spark y Radxa Orion O6.
- Se ha añadido soporte para portátiles basados en chips Qualcomm Snapdragon X Elite, como el Lenovo Thinkpad X13s/T14s y el Dell XPS 9345. Inicialmente, el soporte para estos dispositivos se incluyó en la imagen ISO base para sistemas ARM64, pero no se podía utilizar para arrancar en modo Secure Boot debido al uso de configuraciones separadas de Device Tree, que el firmware de los portátiles no pasaba al núcleo de Linux. Las configuraciones necesarias de Device Tree eran cargadas por el cargador GRUB desde un archivo separado, que no estaba cubierto por la firma digital.
Para resolver el problema, el núcleo y la base de datos de Device Tree se combinaron en un único archivo EFI monolítico, similar al UKI (Unified Kernel Image), firmado con la firma digital de la distribución. Para cargar este archivo, se creó una nueva capa EFI llamada "stubble", que al arrancar identifica el modelo del dispositivo a través de SMBIOS, selecciona los datos necesarios de Device Tree y los inserta en el núcleo, sin romper la cadena de confianza de Secure Boot. Se está trabajando en la implementación del soporte para portátiles con chips Snapdragon X2 Elite.
- Se ha preparado un prototipo de imagen de arranque basado en Ubuntu 26.04 para portátiles con el SoC ARM64 CIX P1, que a diferencia de Snapdragon permite definir la configuración a través de tablas ACPI sin utilizar Device Tree.
- Google ha anunciado la publicación de versiones oficiales de Chrome para sistemas Linux basados en la arquitectura ARM64, lo que permitirá ejecutar en las versiones ARM64 de Ubuntu el navegador Chrome, que incluye el módulo de desprotección de contenido (Content Decryption Module) Widevine, el cual no está disponible en Chromium. La inclusión de Widevine permitirá ver contenido multimedia protegido por derechos de autor (DRM) en servicios como Netflix, Spotify y Disney+ sin parches de terceros. Además, se planea integrar el soporte de Widevine en paquetes snap con Firefox y Spotify.
- Se han añadido nuevas versiones de aplicaciones disponibles en formato snap para la arquitectura ARM64. Entre otras cosas, se ha comenzado la publicación de paquetes snap para ARM64 con OnlyOffice, FreeCAD y Teams para Linux.
Fuente: opennet.ru
