Ravi Sharma de l'équipe Ubuntu Foundations Team a passé en revue le travail accompli au cours de l'année dernière pour assurer un soutien complet de l'architecture ARM64 dans Ubuntu. Il a été noté qu'en raison de l'amélioration des outils et de l'infrastructure, ainsi que de la promotion des modifications dans le noyau Linux, il a été possible de résoudre des problèmes spécifiques à ARM64, tels que la distribution de paquets via un dépôt séparé, l'absence de support des correctifs en direct pour le noyau, les capacités limitées pour les amateurs de jeux vidéo et l'inaccessibilité de Secure Boot sur les ordinateurs portables équipés de puces Qualcomm Snapdragon.
Principales réalisations :
- Les paquets pour l'architecture ARM64 ont été transférés depuis les ports (ports.ubuntu.com) vers l'archive principale d'Ubuntu (archive.ubuntu.com), ce qui a permis d'utiliser la même infrastructure pour leur distribution que celle utilisée pour l'architecture x86_64. Les paquets pour ARM64 sont désormais livrés via le système principal de miroirs, ce qui a amélioré la vitesse et la fiabilité de leur téléchargement. La migration a nécessité des modifications dans les paquets cloud-init, live-build, livecd-rootfs et ubuntu-release-upgrader. Ces modifications ont été incluses dans Ubuntu 26.04 et sont en cours de rétroportage pour Ubuntu 24.04 LTS.
- Le service Livepatch, qui permet d'appliquer des corrections au noyau Linux sur un système en fonctionnement sans redémarrage, a été étendu aux systèmes basés sur l'architecture ARM64. Auparavant, les correctifs en direct n'étaient disponibles que pour l'architecture x86_64, car le noyau Linux pour l'architecture ARM64 ne prenait pas en charge le traçage d'appels de pile fiable (CONFIG_HAVE_RELIABLE_STACKTRACE) pour identifier les activités liées à la gestion des interruptions, et les outils objtool et kpatch manquaient de fonctionnalités complètes pour évaluer l'état avant et après l'application du correctif. Le support des correctifs Live pour ARM64 est fourni pour Ubuntu 26.04 LTS et Ubuntu Core 26.
- Un paquet snap stable avec le client Steam a été formé et assemblé pour l'architecture ARM64. Étant donné que le client Steam pour Linux n'est disponible que pour l'architecture x86, un couche d'émulation basée sur le paquet FEX a été utilisée pour son exécution sur les systèmes ARM64. L'émulation prend en charge le passage du GPU et l'utilisation de Wine, Proton, DXVK et vkd3d pour exécuter des jeux vidéo assemblés pour l'architecture x86_64 et distribués via le catalogue Steam. Le fonctionnement du paquet snap a été testé sur des ordinateurs portables équipés de puces Qualcomm Snapdragon X Elite, NVIDIA DGX Spark et Radxa Orion O6.
- Ajout de la prise en charge des ordinateurs portables basés sur les puces Qualcomm Snapdragon X Elite, tels que les Lenovo Thinkpad X13s/T14s et Dell XPS 9345. Au départ, le support de ces appareils a été ajouté à l'image ISO de base pour les systèmes ARM64, mais il était impossible de l'utiliser pour démarrer en mode Secure Boot en raison de l'utilisation de configurations séparées de Device Tree, qui n'étaient pas transmises au noyau Linux par le firmware des ordinateurs portables. Les configurations nécessaires de Device Tree étaient chargées par le chargeur GRUB à partir d'un fichier distinct, qui n'était pas couvert par la signature numérique.
Pour résoudre le problème, le noyau et la base de données Device Tree ont été combinés dans un seul fichier EFI monolithique, semblable à un UKI (Unified Kernel Image), signé par la signature numérique de la distribution. Pour charger ce fichier, une nouvelle couche EFI appelée « stubble » a été créée, qui détermine le modèle de l'appareil via SMBIOS lors du démarrage, sélectionne les données appropriées de Device Tree et les injecte dans le noyau, sans interrompre la chaîne de confiance Secure Boot. Des travaux sont en cours pour mettre en œuvre la prise en charge des ordinateurs portables dotés de puces Snapdragon X2 Elite.
- Un prototype d'image de démarrage basé sur Ubuntu 26.04 pour les ordinateurs portables sur ARM64 SoC CIX P1 a été préparé, qui, contrairement à Snapdragon, permet de déterminer la configuration via des tables ACPI sans recourir à Device Tree.
- La société Google a annoncé la publication de versions officielles de Chrome pour les systèmes Linux basés sur l'architecture ARM64, ce qui permettra de lancer le navigateur Chrome dans les versions ARM64 d'Ubuntu, contenant le module de décryptage de contenu (CDM) Widevine, qui n'est pas disponible dans Chromium. La fourniture de Widevine permettra de regarder du contenu médiatique protégé par des droits d'auteur (DRM) hébergé sur des services tels que Netflix, Spotify et Disney+ sans patchs tiers. En outre, le support de Widevine devrait être intégré dans des paquets snap avec Firefox et Spotify.
- De nouvelles versions d'applications sont ajoutées, disponibles au format snap pour l'architecture ARM64. Parmi celles-ci, la publication de paquets snap avec OnlyOffice, FreeCAD et Teams for Linux a débuté pour ARM64.
Source : opennet.ru
