Ravi Sharma del team Ubuntu Foundations ha presentato i risultati del lavoro svolto nell'ultimo anno per garantire un supporto completo per l'architettura ARM64 in Ubuntu. Si segnala che grazie al miglioramento degli strumenti e dell'infrastruttura, oltre alla promozione delle modifiche nel kernel Linux principale, sono stati risolti nel corso dell'anno problemi specifici per ARM64, come la distribuzione di pacchetti tramite un repository separato, l'assenza di supporto per i live patch del kernel, le limitate capacità per gli appassionati di videogiochi e l'inaccessibilità di Secure Boot sui laptop con chip Qualcomm Snapdragon.
Principali risultati:
- I pacchetti per l'architettura ARM64 sono stati trasferiti dai porti (ports.ubuntu.com) all'archivio principale di Ubuntu (archive.ubuntu.com), il che ha consentito di utilizzare per la loro distribuzione la stessa infrastruttura utilizzata per l'architettura x86_64. I pacchetti per ARM64 vengono ora forniti attraverso il sistema principale di mirror, migliorando la velocità e l'affidabilità durante il 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 retro-porting per Ubuntu 24.04 LTS.
- Il servizio Livepatch, che consente di apportare correzioni al kernel Linux su un sistema in funzionamento senza riavviare, è stato esteso ai sistemi basati sull'architettura ARM64. In precedenza, i live patch erano disponibili solo per l'architettura x86_64, poiché nel kernel Linux per ARM64 mancava il supporto per tracce di stack affidabili (CONFIG_HAVE_RELIABLE_STACKTRACE) per identificare attività correlate alla gestione delle interruzioni, mentre negli strumenti objtool e kpatch mancavano le funzionalità complete per valutare lo stato prima e dopo l'applicazione del patch. Il supporto per i live patch per ARM64 è stato fornito per Ubuntu 26.04 LTS e Ubuntu Core 26.
- È stato creato un pacchetto snap stabile con il client Steam, assemblato per l'architettura ARM64. Poiché il client Steam per Linux è disponibile solo per l'architettura x86, per farlo funzionare sui sistemi ARM64 è stato utilizzato uno strato di emulazione basato sul pacchetto FEX. Durante l'emulazione, è supportato il pass-through della GPU e l'uso di Wine, Proton, DXVK e vkd3d per eseguire videogiochi assemblati 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 supporto per i laptop basati su chip Qualcomm Snapdragon X Elite, come Lenovo Thinkpad X13s/T14s e Dell XPS 9345. Inizialmente, il supporto per questi dispositivi era stato aggiunto nell'immagine iso di base per i sistemi ARM64, ma non era possibile utilizzarlo per l'avvio in modalità Secure Boot a causa dell'utilizzo di configurazioni separate del Device Tree, che il firmware dei laptop non trasmetteva al kernel Linux. Le necessarie impostazioni 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 a un UKI (Unified Kernel Image), firmato con la firma digitale della distribuzione. Per caricare questo file è stato creato un nuovo strato EFI "stubble", che durante l'avvio identifica il modello del dispositivo attraverso SMBIOS, selezionando i dati necessari del Device Tree e inserendoli nel kernel, senza violare la catena di fiducia del Secure Boot. Si sta lavorando all'implementazione del supporto per i laptop con chip Snapdragon X2 Elite.
- È stato preparato un prototipo di immagine di avvio basato su Ubuntu 26.04 per laptop su ARM64 SoC CIX P1, che a differenza di Snapdragon permette di determinare la configurazione tramite tabelle ACPI senza l'uso del Device Tree.
- Google ha annunciato la pubblicazione di build ufficiali di Chrome per i sistemi Linux basati su architettura ARM64, il che permetterà di eseguire il browser Chrome nelle build ARM64 di Ubuntu, contenente il modulo CDM (Content Decryption Module) Widevine, che non è disponibile in Chromium. La fornitura di Widevine permetterà di visualizzare contenuti multimediali protetti da copyright (DRM) senza patch di terze parti, disponibili su servizi come Netflix, Spotify e Disney+. Inoltre, si prevede di integrare il supporto per Widevine nei pacchetti snap di Firefox e Spotify.
- Sono state aggiunte nuove versioni delle applicazioni, disponibili nel formato snap per l'architettura ARM64. Tra le altre cose, è iniziata la pubblicazione di pacchetti snap con OnlyOffice, FreeCAD e Teams for Linux per ARM64.
Fonte: opennet.ru
