La distribuzione di Canonical compie un passo concreto verso un uso più aggressivo delle capacità offerte dai processori x86-64 più recenti. Nel caso di Ubuntu 26.10 ha infatti preso forma la pubblicazione di immagini ISO giornaliere costruite per il livello x86-64-v3, identificato nei repository Ubuntu come amd64v3.
Ovviamente non significa che la futura release di Ubuntu, nota con il nome in codice di “Stonking Stingray“, abbandonerà i chip x86-64: le Daily Build comprendono però, da oggi, una ISO amd64v3 completa accanto alla tradizionale amd64, oltre alle immagini arm64 e riscv64. Fino a pochi mesi fa chi voleva provare questa variante doveva installare Ubuntu normalmente, modificare la configurazione di APT e sostituire successivamente i pacchetti con le versioni ottimizzate.
Cosa significa x86-64-v3
x86-64-v3 non identifica una particolare generazione commerciale di processori e non equivale, per esempio, a dire “CPU Intel Core recente“. Si tratta di un livello definito sulla base di precise funzionalità esposte dal processore: il livello v3 richiede una serie di istruzioni che i processori x86-64 più vecchi non possiedono, tra cui AVX e AVX2 per accelerare operazioni vettoriali e calcoli su più dati contemporaneamente, FMA per combinare moltiplicazioni e somme in una singola operazione, BMI1 e BMI2 per manipolare più efficientemente i bit, oltre ad altre estensioni come F16C, LZCNT e MOVBE. XSAVE e OSXSAVE servono invece a permettere al sistema operativo di gestire correttamente lo stato dei registri aggiuntivi usati da queste istruzioni.
Una distro Ubuntu compilata per x86-64-v3 può dare per scontato che il processore sappia eseguire tutte queste operazioni e generare quindi codice più moderno ed efficiente.
Per l’utente la conseguenza è che se il PC supporta v3, il sistema può sfruttare meglio la CPU in alcuni carichi di lavoro; se manca anche una sola delle estensioni richieste, i programmi compilati esclusivamente per v3 possono non avviarsi e terminare con un errore “illegal instruction“.
Una distribuzione general purpose com’è Ubuntu deve bilanciare due esigenze difficili da conciliare: mantenere una base hardware molto ampia e, allo stesso tempo, evitare che una CPU del 2026 esegua sempre codice compilato secondo presupposti risalenti a molti anni prima. Le architecture variants consentono di conservare il ramo amd64 tradizionale e affiancargli pacchetti che sfruttano una baseline più moderna.
La novità di Ubuntu 26.10 distribuito (anche) come ISO amd64v3
Citiamo qualche cenno storico. L’architettura AMD64, poi adottata anche da Intel con EM64T e oggi generalmente indicata come x86-64, nacque con requisiti molto conservativi per garantire la massima compatibilità. Nel tempo i processori hanno aggiunto istruzioni SIMD, estensioni per il calcolo intero, operazioni vettoriali e capacità che un compilatore non può usare liberamente quando deve produrre un singolo binario destinato anche a CPU molto vecchie.
Per ridurre il problema, la x86-64 psABI (specifica che stabilisce le regole comuni con cui sistema operativo, compilatori e programmi devono usare l’architettura x86-64: formato dei binari, registri, chiamate di funzione e livelli di compatibilità della CPU) ha formalizzato livelli incrementali chiamati x86-64-v2, v3 e v4.
Ubuntu ha iniziato a lavorare seriamente sulle cosiddette architecture variants con Ubuntu 25.10 e oggi la ISO amd64v3 diventa ufficialmente e pubblicamente disponibile.
Quali processori possono eseguire Ubuntu amd64v3
Come riferimento pratico si cita spesso Intel Haswell, arrivata sul mercato nel 2013, perché quella generazione implementa il gruppo di estensioni richiesto da x86-64-v3. Sul versante AMD, il riferimento abituale è Excavator e le generazioni successive. La corrispondenza non va però interpretata come una regola basata esclusivamente sull’anno di produzione: alcuni processori appartenenti a famiglie particolari, soprattutto modelli Atom e derivati, possono non includere tutte le istruzioni necessarie.
La verifica più affidabile consiste quindi nel controllare le caratteristiche effettivamente esposte dalla CPU e dal sistema operativo. Su Linux il comando ld.so --help può mostrare i livelli riconosciuti; se nell’output compare x86-64-v3 come “supported“, il sistema soddisfa i requisiti previsti dal dynamic loader. In alternativa si possono esaminare i flag riportati da lscpu o /proc/cpuinfo, ricordando però che v3 richiede l’intero insieme di funzionalità e non soltanto AVX2.
RHEL 10 ha già fatto una scelta molto più drastica
Ubuntu non è la prima distribuzione a interessarsi alla nuova baseline. Red Hat Enterprise Linux 10 richiede direttamente x86-64-v3 per i sistemi Intel e AMD a 64 bit: Red Hat ha quindi eliminato il supporto per CPU x86-64-v1 e v2 nella nuova major release.
Canonical sta seguendo, almeno per ora, un percorso più prudente. Invece di alzare immediatamente il requisito minimo e tagliare fuori il vecchio hardware, mantiene amd64 e sviluppa parallelamente amd64v3. È una scelta onerosa sul piano della compilazione, dell’archivio e soprattutto dei test, perché più varianti significano più combinazioni da verificare. D’altra parte evita di sacrificare una delle caratteristiche storiche di Ubuntu: la possibilità di funzionare anche su macchine x86-64 piuttosto datate.
Altre distribuzioni hanno scelto strade differenti. CachyOS, per esempio, offre repository e build ottimizzati per livelli più moderni dell’ISA; l’obiettivo è simile, ma Ubuntu deve affrontare una scala e requisiti di compatibilità diversi, soprattutto tra desktop, server, cloud e software di terze parti.
Perché amd64v3 può essere una buona notizia, ma non per tutti
Il vantaggio di amd64v3 non consiste nel rendere Ubuntu improvvisamente molto più veloce in qualunque situazione. Il punto è che il compilatore può generare codice sapendo in anticipo che certe istruzioni moderne sono disponibili, senza dover mantenere sempre percorsi compatibili con CPU x86-64 molto più vecchie.
Nella gestione di carichi legati a compressione, cifratura, elaborazione di immagini e video, calcolo scientifico, rendering o altre operazioni fortemente dipendenti dalla CPU, questa maggiore libertà può tradursi in prestazioni migliori e, in alcuni casi, anche in una maggiore efficienza.
Per l’utente desktop medio la differenza è invece modesta: aprire il browser, usare LibreOffice o navigare tra le finestre non diventa magicamente più rapido solo perché il sistema usa x86-64-v3. Molti programmi, inoltre, includono già meccanismi di rilevamento della CPU e scelgono a runtime le routine AVX2 o FMA quando disponibili. In quei casi il margine aggiuntivo ottenuto compilando l’intero pacchetto per v3 può essere ridotto.
C’è poi il rovescio della medaglia. Una build amd64v3 perde parte della compatibilità che ha sempre caratterizzato Ubuntu su x86-64: una macchina abbastanza vecchia, una CPU particolare oppure una macchina virtuale che non espone tutte le estensioni richieste può non riuscire a eseguire i binari v3. Anche spostare un’installazione da un PC moderno a uno più datato diventa meno immediato. Per questo la scelta di Canonical di affiancare amd64v3 alla normale amd64 appare, almeno oggi, più sensata di un taglio netto.