Ravi Sharma del team Ubuntu Foundations ha riassunto il lavoro svolto nell'ultimo anno per garantire un supporto completo per l'architettura ARM64 in Ubuntu. Si evidenzia che grazie al miglioramento degli strumenti e dell'infrastruttura, nonché alla promozione delle modifiche nel kernel Linux, sono stati risolti nel corso dell'anno problemi specifici per ARM64, come la distribuzione dei pacchetti attraverso un repository separato, l'assenza di supporto per i live patch del kernel, le limitate opzioni per gli appassionati di giochi e l'inaccessibilità di Secure Boot sui laptop con chip Qualcomm Snapdragon.
Risultati principali:
- I pacchetti per l'architettura ARM64 sono stati trasferiti dai porti (ports.ubuntu.com) all'archivio principale di Ubuntu (archive.ubuntu.com), consentendo l'uso della stessa infrastruttura per la loro distribuzione utilizzata per l'architettura x86_64. I pacchetti per ARM64 ora vengono forniti attraverso il sistema principale di mirror, migliorando la velocità e l'affidabilità del loro download. La migrazione ha richiesto modifiche ai pacchetti cloud-init, live-build, livecd-rootfs e ubuntu-release-upgrader. Le modifiche sono state incluse in Ubuntu 26.04 e sono in fase di backport per Ubuntu 24.04 LTS.
- Il servizio Livepatch consente di apportare correzioni al kernel Linux su un sistema operativo in esecuzione senza riavviare, ed è ora disponibile per sistemi basati sull'architettura ARM64. In precedenza, i patch live erano disponibili solo per l'architettura x86_64, poiché il kernel Linux per l'architettura ARM64 non supportava il tracciamento affidabile dello stack (CONFIG_HAVE_RELIABLE_STACKTRACE) per rilevare attività relative alla gestione delle interruzioni, e il toolkit objtool e kpatch non avevano pienamente funzionalità per valutare lo stato prima e dopo l'applicazione della patch. Il supporto per i patch live per ARM64 è fornito per Ubuntu 26.04 LTS e Ubuntu Core 26.
- È stato creato un pacchetto snap stabile con il client Steam, compilato per l'architettura ARM64. Poiché il client Steam per Linux è disponibile solo per l'architettura x86, per eseguirlo sui sistemi ARM64 è stato utilizzato uno strato di emulazione basato sul pacchetto FEX. Durante l'emulazione, è supportata l'assegnazione della GPU e l'uso di Wine, Proton, DXVK e vkd3d per eseguire giochi per PC compilati per l'architettura x86_64 e distribuiti tramite il catalogo Steam. Il funzionamento del pacchetto snap è stato testato su laptop con chip Qualcomm Snapdragon X Elite, NVIDIA DGX Spark e Radxa Orion O6.
- È stata aggiunta la compatibilità con i laptop basati sui chip Qualcomm Snapdragon X Elite, come il Lenovo Thinkpad X13s/T14s e il Dell XPS 9345. Inizialmente, il supporto per questi dispositivi era stato integrato nell'immagine ISO di base per i sistemi ARM64, ma non era possibile utilizzarlo per l'avvio in modalità Secure Boot a causa dell'uso di configurazioni separate del Device Tree, che il firmware dei laptop non trasmetteva al kernel Linux. Le impostazioni necessarie del Device Tree venivano caricate dal bootloader GRUB da un file separato, che non era coperto dalla firma digitale.
Per risolvere il problema, il kernel e il database del Device Tree sono stati uniti in un unico file EFI monolitico, simile all'UKI (Unified Kernel Image), firmato digitalmente dal distributore. Per avviare questo file è stato creato un nuovo strato EFI chiamato "stubble", che durante il processo di avvio identifica il modello del dispositivo tramite SMBIOS, seleziona i dati appropriati del Device Tree e li inserisce nel kernel, senza compromettere la catena di fiducia del Secure Boot. Si sta lavorando per implementare il supporto per i laptop con chip Snapdragon X2 Elite.
- È stato preparato un prototipo di immagine di avvio basato su Ubuntu 26.04 per laptop con SoC ARM64 CIX P1, che, a differenza di Snapdragon, consente di determinare la configurazione tramite tabelle ACPI senza l'uso del Device Tree.
- Google ha annunciato la pubblicazione di build ufficiali di Chrome per sistemi Linux basati su architettura ARM64, permettendo di eseguire il browser Chrome nelle build ARM64 di Ubuntu, che include il modulo CDM (Content Decryption Module) Widevine, non disponibile in Chromium. La fornitura di Widevine consentirà di visualizzare contenuti multimediali protetti da copyright (DRM) su servizi come Netflix, Spotify e Disney+ senza patch di terze parti. Inoltre, si prevede di integrare il supporto per Widevine nei pacchetti snap con Firefox e Spotify.
- Sono state aggiunte nuove build di applicazioni disponibili nel formato snap per architettura ARM64. Tra le altre, è iniziata la pubblicazione di pacchetti snap con OnlyOffice, FreeCAD e Teams per Linux.
Fonte: opennet.ru
