Ravi Sharma van het Ubuntu Foundations Team heeft een overzicht gegeven van het werk dat het afgelopen jaar is verricht om volledige ondersteuning voor de ARM64-architectuur in Ubuntu te waarborgen. Het wordt opgemerkt dat door de verbetering van hulpmiddelen en infrastructuur, evenals de bevordering van wijzigingen in de kern van Linux, het gelukt is om specifieke problemen met ARM64 op te lossen, zoals de distributie van pakketten via een aparte repository, het ontbreken van ondersteuning voor live-patches voor de kernel, beperkte mogelijkheden voor gaming en de onbeschikbaarheid van Secure Boot op laptops met Qualcomm Snapdragon-chips.
Belangrijkste prestaties:
- Pakketten voor de ARM64-architectuur zijn verhuisd van ports (ports.ubuntu.com) naar de primaire Ubuntu-archive (archive.ubuntu.com), waardoor dezelfde infrastructuur kan worden gebruikt voor distributie als die voor de x86_64-architectuur. Pakketten voor ARM64 worden nu geleverd via het primaire mirrorsysteem, wat de snelheid en betrouwbaarheid van hun download heeft verbeterd. De migratie vereiste wijzigingen aan de pakketten cloud-init, live-build, livecd-rootfs en ubuntu-release-upgrader. De wijzigingen zijn opgenomen in Ubuntu 26.04 en worden gebackported voor Ubuntu 24.04 LTS.
- De Livepatch-dienst, die het mogelijk maakt om correcties in de Linux-kernel aan te brengen op een draaiend systeem zonder opnieuw op te starten, is uitgebreid naar systemen op basis van de ARM64-architectuur. Voorheen werden live-patches alleen voor de x86_64-architectuur verspreid, omdat de Linux-kernel voor de ARM64-architectuur geen ondersteuning bood voor betrouwbare stacktracering (CONFIG_HAVE_RELIABLE_STACKTRACE) voor het identificeren van activiteiten met betrekking tot interruptverwerking, en de tools objtool en kpatch niet de volledige mogelijkheden hadden om de toestand voor en na het toepassen van een patch te evalueren. Ondersteuning voor live-patches voor ARM64 is beschikbaar voor Ubuntu 26.04 LTS en Ubuntu Core 26.
- Een stabiele snap-pakket met de Steam-client is gevormd, gebouwd voor de ARM64-architectuur. Aangezien de Steam-client voor Linux alleen beschikbaar is voor de x86-architectuur, wordt een emulatorlaag op basis van het FEX-pakket gebruikt voor de uitvoering op ARM64-systemen. Bij de emulatie wordt ondersteuning geboden voor GPU-pass-through en het gebruik van Wine, Proton, DXVK en vkd3d voor het uitvoeren van computer spellen, gebouwd voor de x86_64-architectuur en verspreid via de Steam-catalogus. De werking van het snap-pakket is getest op laptops met Qualcomm Snapdragon X Elite, NVIDIA DGX Spark en Radxa Orion O6.
- Ondersteuning voor laptops met Qualcomm Snapdragon X Elite-chips is toegevoegd, zoals de Lenovo Thinkpad X13s/T14s en Dell XPS 9345. Aanvankelijk werd de ondersteuning voor deze apparaten toegevoegd in het basis iso-image voor ARM64-systemen, maar het was niet mogelijk om op te starten in Secure Boot-modus vanwege het gebruik van afzonderlijke Device Tree-configuraties die de firmware van de laptops niet naar de Linux-kernel doorgaf. De benodigde Device Tree-instellingen werden door de GRUB-bootloader uit een apart bestand geladen, dat niet door de digitale handtekening werd gedekt.
Om het probleem op te lossen zijn de kernel en de Device Tree-database samengevoegd in ƩƩn monolithisch EFI-bestand, vergelijkbaar met UKI (Unified Kernel Image), ondertekend met de digitale handtekening van de distributie. Voor het opstarten van dit bestand is er een nieuwe EFI-laag genaamd 'stubble' gemaakt, die bij het opstarten het model van het apparaat via SMBIOS detecteert, de juiste Device Tree-gegevens selecteert en deze in de kernel invoegt, zonder de vertrouwensketen van Secure Boot te schaden. Er wordt gewerkt aan de implementatie van ondersteuning voor laptops met Snapdragon X2 Elite-chips.
- Een prototype van een opstart-image op basis van Ubuntu 26.04 is voorbereid voor laptops met ARM64 SoC CIX P1, die in tegenstelling tot Snapdragon de configuratie kan bepalen via ACPI-tabellen zonder gebruik te maken van Device Tree.
- Google heeft de officiƫle versies van Chrome voor Linux-systemen op basis van de ARM64-architectuur aangekondigd, waarmee de Chrome-browser in ARM64-versies van Ubuntu kan draaien, met de CDM-module (Content Decryption Module) Widevine, die niet beschikbaar is in Chromium. De levering van Widevine maakt het mogelijk om media-inhoud die door auteursrechten (DRM) wordt beschermd te bekijken op platforms zoals Netflix, Spotify en Disney+ zonder externe patches. Daarnaast zijn er plannen om Widevine-ondersteuning te integreren in snap-pakketten met Firefox en Spotify.
- Nieuwe app-assemblages zijn toegevoegd, beschikbaar in snap-formaat voor de ARM64-architectuur. Onder andere zijn de publicaties van snap-pakketten met OnlyOffice, FreeCAD en Teams for Linux voor ARM64 begonnen.
Bron: opennet.ru
