logo

Cosa fa un giorno con un portatile nuovo a un cristiano qualunque

Un giorno, un laptop, un grande fix 🛠️

LinuxOpen SourceHardwareTuxedo
post_image
27/09/2025
6

La Ricerca Inizia

A volte le migliori opportunità arrivano quando meno te lo aspetti. Da tempo stavo cercando i migliori laptop compatibili con Linux, valutando le opzioni di Starlabs, System76, Tuxedo, Novacustom e Slimbook ogni volta che potevo. La scelta non era semplice. Ognuno aveva il suo fascino, ma alla fine ho scelto il Tuxedo InfinityBook Pro 14 Gen10. Il motivo principale? Mi piaceva, e l’opzione con SoC più veloce ha fatto la differenza.

Molti altri laptop offrivano una caratteristica che desideravo: l’integrazione con Coreboot UEFI, che spero venga presto implementata anche da Tuxedo (vedi questa discussione su Reddit). Negli ultimi due anni e mezzo ho usato con soddisfazione un Lenovo Yoga 14ARB7, che però iniziava a diventare un po’ instabile con i nuovi workflow di sviluppo mobile.

Dopo aver comprato il laptop durante le vacanze in Sicilia, ho dovuto aspettare un’intera settimana dopo il rientro a Brescia per riceverlo. Una disavventura è stata l’etichetta di spedizione con un nome sbagliato, che ha impedito la consegna (secondo UPS). Ho passato il giorno successivo tra lavoro e tentativi di contattare UPS per sistemare il problema. Nel pomeriggio ci sono riuscito e ho corretto l’etichetta. Per fortuna, il giorno dopo è arrivato davvero e finalmente ho potuto fare l’unboxing e configurarlo.

Il Problema con Aurora

Dopo aver installato Aurora (immagine Universal Blue basata su Fedora), ho notato che non potevo installare il Tuxedo Control Center a causa della natura immutabile della distro, e non esistono pacchetti ufficiali per TCC e driver su immagini ostree/distro. Ho passato l’intero pomeriggio e la sera cercando possibili soluzioni online, finché ho trovato la repo di BrickMan. Ero felicissimo di poter finalmente avere i driver e un laptop pienamente funzionante, così ho provato a fare il rebase sull’immagine di BrickMan, ma è fallito...

Controllando le issue e le PR ho visto che qualcuno aveva provato a correggere la build dell’immagine Aurora 42. Pare che le build fallissero già da mesi e l’ultima attività risaliva a luglio. Così ho pingato BrickMan nei commenti della PR e, incredibilmente, ha risposto la mattina dopo! Ha detto che non aveva tempo per occuparsene e ha dato un breve riassunto di cosa serviva per farla funzionare.

A quel punto ho deciso di provarci io a sistemare la build finale con la mia esperienza e Cursor (che aveva fatto il 95% del lavoro). Ho clonato la repo e da lì è iniziata la vera avventura.

La Sfida Tecnica

Il problema principale era compilare i moduli del kernel su un filesystem immutabile. Lo script originale cercava di compilare i driver Tuxedo direttamente in /usr/src/tuxedo-drivers-4.15.4, che nelle immagini Universal Blue è in sola lettura. Questo causava errori di compilazione con messaggi criptici di “permesso negato”.

La soluzione ha richiesto vari cambiamenti chiave:

1. Ambiente di Build Scrivibile
Ho modificato lo script di build per copiare i sorgenti dei driver in una directory temporanea scrivibile (/tmp/tuxedo-drivers-build) prima della compilazione. Questo semplice cambiamento ha permesso di compilare correttamente i moduli.

2. CompatibilitĂ  con Secure Boot
La sfida più grande era Secure Boot. I moduli compilati non erano firmati e quindi venivano rifiutati con errori di “Operazione non permessa”. Ho implementato una soluzione completa con MOK (Machine Owner Key):

3. Ottimizzazione della Build
Ho ottimizzato anche il workflow GitHub Actions per buildare solo quando le immagini Aurora upstream cambiano davvero, usando skopeo per confrontare i digest delle immagini. Questo fa risparmiare risorse CI e riduce build inutili.

4. Esperienza Utente
Ho creato lo script setup-secureboot.sh che automatizza il processo di enrollment del MOK con una password predefinita (“tuxedo”) e fornisce istruzioni chiare passo passo per gli utenti.

Vittoria e Riflessione

Non riesco ancora a credere che alla fine abbia funzionato tutto senza problemi. Ora i moduli si compilano correttamente, sono firmati per la compatibilità con Secure Boot e l’intero processo è automatizzato. Gli utenti possono semplicemente fare il rebase sull’immagine, eseguire lo script di setup e avere un laptop Tuxedo perfettamente funzionante con Aurora.

Tuxedo Control Center funzionante

La PR include:

E ora sto scrivendo questo post sul nuovo laptop Tuxedo, completamente configurato e funzionante, con tutte le funzionalità del Tuxedo Control Center operative: retroilluminazione della tastiera, gestione delle ventole e tutto ciò che rende speciali questi laptop.

Questa esperienza mi ha ricordato perché amo la tecnologia e l’open source. Un solo giorno di frustrazione mi ha portato a scoprire un progetto rotto, comprenderne i problemi e implementare una soluzione completa. La bellezza dell’open source è che quando qualcosa non funziona, puoi metterci mano e sistemarla da solo.

La combinazione della mia esperienza nello sviluppo web, la conoscenza dei sistemi Linux e la potenza di strumenti moderni come Cursor ha reso possibile, in un solo giorno, quello che sembrava un compito impossibile. A volte le migliori soluzioni arrivano da posti inaspettati, e a volte un nuovo laptop è proprio la motivazione che ti serve per affrontare una sfida che non sapevi nemmeno esistesse.

Se stai leggendo questo e hai un laptop Tuxedo, tieni d’occhio la repository – la PR dovrebbe essere accettata presto e potrai goderti la stessa esperienza fluida che sto vivendo io ora.

Setup con portatile funzionante