Se sei fuori dalla cerchia degli appassionati di Fedora Atomic, probabilmente non hai mai sentito parlare di Universal Blue e del progetto Bazzite: tecnologie ancora poco note, eppure indicano un cambio silenzioso ma profondo nel modo in cui un sistema operativo può essere costruito, distribuito e aggiornato. Bazzite è una Fedora personalizzata, costruita come immagine OCI (Open Container Initiative) e distribuita tramite GitHub Container Registry.
In pratica, il sistema operativo non è più un insieme di pacchetti installati e aggiornati uno per uno, ma un’unica immagine container, proprio come quelle Docker, che viene scaricata, verificata e sostituita atomicamente a ogni aggiornamento. Il risultato sono aggiornamenti che non lasciano tracce, rollback immediati alla build precedente con una semplice scelta al boot e una coerenza del sistema che le distribuzioni tradizionali si sognano.
Bazzite nasce con un pubblico preciso, quello dei giocatori: Steam preinstallato, Proton configurato, supporto HDR e VRR su Wayland, controller e handheld pronti all’uso. Ma sarebbe riduttivo fermarsi al gaming. Sotto il cofano l’architettura è talmente solida da funzionare bene anche su workstation, HTPC e ambienti di sviluppo.
L’architettura che viene dal mondo cloud
Il cuore di Bazzite è un’immagine OCI costruita con un Containerfile multi-stadio, ospitata su GHCR (GitHub Container Registry). Quando installi Bazzite, non stai eseguendo un installer che copia pacchetti sul disco. Stai effettivamente facendo il pull di un’immagine container che viene poi distribuita da rpm-ostree. La partizione di sistema è in sola lettura. Ogni modifica, un pacchetto aggiuntivo o una configurazione personalizzata, viene gestita tramite layer sovrapposti, proprio come nei Dockerfile.
Questo significa che un aggiornamento non può mai lasciare il sistema in uno stato inconsistente. Se qualcosa va storto, selezioni la build precedente al boot e sei tornato operativo in secondi. Non c’è bisogno di ripristinare snapshot con Timeshift né di avviare ambienti di recovery.
C’è un dettaglio che molti sottovalutano. La firma crittografica delle immagini. Tutte le build di Bazzite sono firmate con cosign e verificate tramite attestazioni GitHub. Quando il sistema esegue un aggiornamento, verifica che l’immagine provenga dai maintainer ufficiali e non sia stata manomessa. È la stessa catena di fiducia che usano i container in produzione su Kubernetes, applicata al tuo desktop. Per chi arriva da distribuzioni tradizionali, la differenza è notevole: niente pacchetti AUR da fidarsi a occhi chiusi, niente PPA aggiunte a casaccio, niente rischio che un apt upgrade rompa tutto perché un repository upstream ha pubblicato una versione incompatibile.
Il processo di rebase merita una citazione a parte. Con Bazzite puoi cambiare completamente immagine di base, passare dalla variante KDE a GNOME o da AMD a NVIDIA, con un solo comando:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latestPoi riavvii e il sistema è cambiato. I tuoi dati, le tue configurazioni e le applicazioni installate restano intatti. È come cambiare distribuzione senza reinstallare nulla. Se hai passato ore a configurare l’ambiente di sviluppo, questa caratteristica da sola vale il test.
Non solo gaming: l’ecosistema software a tre livelli
L’approccio immutabile non ti chiude in una gabbia. Bazzite gestisce il software su tre livelli distinti e capire come funzionano è fondamentale per usarlo bene.
| Livello | Tecnologia | Quando usarlo |
|---|---|---|
| Applicazioni | Flatpak (Flathub) | Quasi sempre: software desktop firmato e sandboxed |
| Sistemi legacy | rpm-ostree layer | Solo se necessario: aumenta la complessità del rollback |
| Container | Distrobox / Homebrew | Sviluppo, pacchetti CLI, software specifico per distro |
Il primo livello è Flatpak, preconfigurato con Flathub. Per il 90% del software desktop, browser, editor e strumenti di produttività, è la scelta giusta. Il secondo livello è il layering RPM, dove puoi installare pacchetti con rpm-ostree install. È sconsigliato: ogni package aggiunto crea un nuovo layer che si sovrappone all’immagine base, rendendo il rollback più complesso.
Il terzo livello è Distrobox ed è qui che le cose diventano interessanti. Distrobox ti permette di creare container di qualsiasi distribuzione Linux, Ubuntu, Arch, Fedora o Debian, integrati perfettamente con il sistema host. Vuoi un pacchetto che esiste solo su AUR? Crei un container Arch con Distrobox, installi il software e con distrobox-export --app lo rendi disponibile nel menu applicazioni come se fosse nativo. La home è condivisa, l’integrazione desktop è trasparente e le performance sono praticamente native. In pratica hai l’intero ecosistema Linux a disposizione senza mai compromettere l’immutabilità del sistema di base.
A questo si aggiunge Homebrew, gestito tramite Bold Brew, e Waydroid per eseguire applicazioni Android. Per gli sviluppatori esiste l’immagine Bazzite-DX, che include QEMU, ROCm e toolchain preconfigurate. Framework ha scelto Bazzite come distribuzione consigliata per i propri laptop proprio per questa versatilità: funziona allo stesso modo su handheld, desktop, HTPC e workstation.
Handheld, console e Steam Gaming Mode
Uno dei punti di forza più riconoscibili di Bazzite è il supporto per le console portatili. Le immagini Bazzite-Deck si avviano direttamente in Steam Gaming Mode, un’interfaccia costruita su Gamescope che riproduce l’esperienza di SteamOS. Il supporto ufficiale include ASUS ROG Ally e Ally X, Lenovo Legion Go, GPD, OneXPlayer, Ayn, Ayaneo e naturalmente Steam Deck. Per i dispositivi non Valve, Bazzite integra Handheld Daemon (HHD) per gestire TDP, ventole, controller e mappature.

L’esperienza è sorprendentemente matura. HDR e VRR funzionano su Wayland, Decky Loader si installa con ujust setup-decky e plugin come SimpleDeckyTDP danno il controllo granulare del consumo energetico.
Le immagini HTPC completano il quadro. Con Steam Gaming Mode avviato automaticamente e il supporto per controller Xbox e PlayStation, Bazzite si trasforma in una console da salotto. Puoi installare Sunshine per fare streaming verso altri dispositivi o usare Moonlight per ricevere stream dal PC principale. È l’equivalente open-source di Steam Link, ma con latenza inferiore, supporto HDR e la possibilità di usare GPU AMD, Intel o NVIDIA indifferentemente.
Installazione e primi passi con ujust
Andare operativi è più semplice di quanto immagini. Vai su bazzite.gg e usa l’image picker per selezionare desktop environment (KDE o GNOME), GPU (AMD, Intel o NVIDIA) e, se hai un handheld, il modello specifico. Scarica l’ISO, flashala su chiavetta con Fedora Media Writer o Balena Etcher e avvia.
L’installer è Anaconda, quello standard di Fedora, con una raccomandazione: ti serve una connessione internet stabile perché l’installazione scarica l’immagine OCI più recente. Se installi su un handheld, tieni a portata una tastiera fisica o un cavo di rete per la configurazione iniziale.
Dopo il primo boot, apri un terminale e familiarizza con ujust. Questa utility, basata su just, è il tuo pannello di controllo per configurare il sistema. Con ujust --choose esplori tutte le opzioni:
| Comando | Cosa fa |
|---|---|
ujust update | Aggiorna sistema, Flatpak e container in un colpo solo |
ujust setup-virtualization | Attiva QEMU e virtualizzazione |
ujust setup-decky | Installa Decky Loader su Steam Gaming Mode |
ujust setup-sunshine | Configura Sunshine per lo streaming giochi |
ujust setup-luks-tpm-unlock | Abilita sblocco automatico del disco via TPM |
ujust enroll-secure-boot-key | Iscrive le chiavi Secure Boot per i driver NVIDIA |
ujust distrobox-assemble | Crea container Distrobox preconfigurati |
L’aggiornamento del sistema avviene automaticamente tramite il servizio uupd, che opera in background. Puoi forzarlo manualmente con ujust update. Ogni aggiornamento è atomico: se qualcosa va male, il sistema non si avvia su uno stato corrotto, ma sulla build precedente. Le immagini sono conservate per 90 giorni nei repository, quindi hai tempo per decidere se e quando fare rebase a una versione più recente.
Limiti del desktop che vive in un container
Il modello immutabile ha un costo in flessibilità: non puoi installare pacchetti RPM con la stessa disinvoltura di Ubuntu o Arch. Se sei abituato ad aggiungere repository esterni e a fare apt install di librerie di sistema, l’approccio a tre livelli di Bazzite richiede un cambio di mentalità. Il layering via rpm-ostree è sconsigliato: aumenta il rischio di conflitti e rende il rollback meno pulito.
C’è poi la dipendenza da GitHub Container Registry per la distribuzione delle immagini. Se GHCR ha un down, non puoi aggiornare il sistema. È vero che le build sono conservate per 90 giorni e che puoi fare rollback, ma è una dipendenza da infrastruttura esterna che una distribuzione tradizionale non ha.
Infine, il numero di varianti può confondere all’inizio. Esistono 10 immagini distinte: desktop KDE e GNOME, ciascuna con varianti AMD/Intel, NVIDIA e DX (developer experience), più le immagini Deck per handheld. La documentazione ufficiale aiuta a districarsi, ma la prima installazione richiede di capire bene quale variante fa al caso tuo.
Perché questo modello è il futuro del desktop Linux
Bazzite non è solo un’altra distribuzione Linux. È la dimostrazione che il modello cloud-native, immagini OCI, aggiornamenti atomici, rollback immediati e firma crittografica delle build, funziona splendidamente anche sul desktop. Universal Blue ha preso l’infrastruttura che tiene in piedi Kubernetes e l’ha applicata al sistema operativo personale. È un’idea semplice sulla carta ma notevole nella pratica.
Vedrai che nei prossimi anni questo modello diventerà lo standard. Fedora sta investendo massicciamente su bootc, la tecnologia che sta dietro a Universal Blue. Red Hat ha spinto il progetto come erede di rpm-ostree per i carichi di lavoro server. La direzione è chiara: sistemi operativi immutabili, distribuiti come container, aggiornati atomicamente.
Personalmente, dopo aver usato Bazzite per qualche settimana, tornare a un sistema tradizionale mi è sembrato un passo indietro. La tranquillità di sapere che un aggiornamento non può rompere niente, che posso sempre tornare indietro con un riavvio, che il mio sistema è identico a quello di chiunque altro: è un livello di affidabilità che il desktop Linux non ha mai avuto.













