Asahi Linux ha annunciato il supporto ufficiale ai computer Apple dotati di processori della famiglia M3, compiendo un altro importante passo nel lungo lavoro necessario per eseguire GNU/Linux sui Mac basati su Apple Silicon.
Il supporto è stato integrato direttamente nell'installer di Asahi e riguarda MacBook e iMac equipaggiati con M3, M3 Pro e M3 Max. Rimane per ora escluso il Mac Studio con M3 Ultra.
Non significa ancora che tutto funzioni perfettamente.
Gli stessi sviluppatori invitano alla prudenza e mantengono l'installazione M3 all'interno della modalità Expert, perché alcune componenti fondamentali devono ancora essere completate. Ma la quantità di hardware già funzionante mostra quanto sia avanzato il lavoro.
Sui Mac M3 Asahi Linux può già utilizzare webcam, microfoni interni, Wi-Fi, Bluetooth e USB fino a 10 Gbit/s, oltre a numerosi altri componenti. È disponibile anche la decodifica video accelerata dall'hardware, compreso il supporto al codec AV1.
Le due grandi eccezioni sono attualmente GPU e DCP, il coprocessore utilizzato da Apple per la gestione del display.
La mancanza del driver GPU completo significa che non bisogna aspettarsi per ora un'accelerazione 3D efficiente e prestazioni grafiche paragonabili a quelle già raggiunte sui Mac M1 e M2. L'assenza del supporto DCP completo provoca inoltre alcune limitazioni concrete: la sospensione non funziona ancora e l'uscita HDMI presente su determinati MacBook rimane disabilitata.
Asahi prevede però di rimuovere l'obbligo della modalità Expert in prossimità della Beta di Fedora Linux 45, a condizione che non emergano regressioni importanti.
La notizia diventa ancora più interessante quando consideriamo come è stato possibile arrivare a questo risultato.
Apple non pubblica una documentazione completa che permetta semplicemente agli sviluppatori Linux di scaricare le specifiche dell'hardware e scrivere i relativi driver.
Una parte considerevole del lavoro di Asahi Linux nasce quindi dal reverse engineering.
Gli sviluppatori studiano il comportamento dell'hardware e del software Apple, ricostruiscono i protocolli attraverso i quali macOS comunica con i differenti componenti e realizzano successivamente implementazioni libere capaci di svolgere le stesse operazioni attraverso Linux.
È un lavoro enormemente più complesso del semplice adattamento di una distribuzione a un nuovo computer.
Un esempio arriva proprio dai processori M3.
Apple ha modificato alcuni componenti rispetto alle generazioni precedenti, ma fortunatamente molte delle architetture utilizzate sui sistemi M1 e M2 sono rimaste abbastanza simili da consentire il riutilizzo del lavoro già realizzato.
Il supporto della webcam, per esempio, ha richiesto soltanto alcune modifiche rispetto all'implementazione precedente. Anche i microfoni interni presentavano differenze che gli sviluppatori sono riusciti a comprendere e integrare nel driver Linux.
Più complesso è stato il lavoro sulle connessioni USB.
Sui modelli M3 Pro e M3 Max Apple ha cambiato il controller utilizzato per alcune funzioni delle porte USB-C. Attraverso il reverse engineering gli sviluppatori hanno scoperto che il nuovo componente conserva gran parte della struttura del precedente controller, pur utilizzando un'interfaccia differente. Questo ha permesso di ottenere USB 3 e Thunderbolt sull'intera famiglia M3.
È proprio questa capacità di trasformare conoscenza ottenuta attraverso l'analisi dell'hardware in codice liberamente disponibile a rendere Asahi Linux un progetto particolarmente importante.
Quando acquistiamo un computer tendiamo infatti a pensare di possedere l'hardware.
Dal punto di vista materiale è certamente così.
Ma la possibilità di utilizzare realmente quell'hardware dipende sempre più dal software necessario a controllarlo. Se specifiche, firmware, protocolli e driver rimangono sotto il controllo esclusivo del produttore, la libertà del proprietario del dispositivo diventa inevitabilmente più limitata.
Il problema è particolarmente evidente sui moderni System-on-Chip.
Un processore come Apple M3 non contiene semplicemente una CPU. Integra un enorme numero di componenti specializzati che devono essere inizializzati, controllati e coordinati attraverso software e firmware.
Senza driver adeguati possediamo fisicamente il computer, ma non possiamo decidere liberamente quale sistema operativo utilizzare sfruttandone tutte le capacità.
Asahi Linux cerca precisamente di cambiare questa situazione.
Il progetto non pretende di trasformare l'hardware Apple in hardware aperto. I processori rimangono progettati da Apple e una parte del sistema continua inevitabilmente a dipendere da firmware proprietari.
Ma costruire driver liberi significa spostare almeno una parte del controllo dal produttore alla comunità.
Ed esiste un ulteriore elemento importante: molto del lavoro svolto da Asahi non rimane confinato in una distribuzione separata.
Negli ultimi anni gli sviluppatori hanno lavorato intensamente per portare i propri driver e le proprie modifiche nel kernel Linux e negli altri progetti upstream. Questo significa che il supporto Apple Silicon può progressivamente diventare parte dell'infrastruttura comune utilizzata dall'intero ecosistema GNU/Linux.
È una differenza fondamentale rispetto a una soluzione proprietaria costruita esclusivamente per un singolo prodotto.
Il codice sviluppato per comprendere un controller, una GPU o un sottosistema Apple può essere studiato, migliorato e mantenuto anche da altri sviluppatori.
Asahi Linux dimostra così qualcosa che va ben oltre la possibilità di installare Fedora su un Mac.
Il diritto di scegliere il software dovrebbe continuare a esistere anche dopo aver acquistato l'hardware.
Un computer non dovrebbe diventare inseparabile dal sistema operativo deciso dal suo produttore.
Il supporto M3 non è ancora completo e sarebbe sbagliato presentarlo diversamente. GPU, gestione del display e sospensione dimostrano quanto lavoro rimanga ancora da fare.
Ma proprio questa incompletezza permette di capire l'enorme dimensione dell'impresa.
Dietro un comando di installazione che porta GNU/Linux su un Mac esistono anni di analisi, reverse engineering, sviluppo di driver e collaborazione con kernel, Mesa, Fedora e numerosi altri progetti.
Asahi Linux non sta semplicemente portando un'altra distribuzione sui computer Apple: sta trasformando hardware progettato per un ecosistema chiuso in una piattaforma sulla quale diventa progressivamente possibile esercitare una scelta.
Ed è difficile immaginare una dimostrazione più concreta di cosa possa significare il Software Libero quando dal programma arriva fino all'hardware.