È stato rilasciato il sistema operativo Linux Fedora 34. Sono disponibili per il download i prodotti Fedora Workstation, Fedora Server, CoreOS, Fedora IoT Edition, e anche una serie di 'spins' con versioni live degli ambienti desktop KDE Plasma 5, Xfce, i3, MATE, Cinnamon, LXDE e LXQt. Le build sono state create per le architetture x86_64, Power64, ARM64 (AArch64) e vari dispositivi con processori ARM a 32 bit. La pubblicazione delle build di Fedora Silverblue è stata posticipata.
Miglioramenti più significativi in Fedora 34:
- Tutti i flussi audio sono passati a un server PipeWire, che ora viene utilizzato di default al posto di PulseAudio e JACK. L'uso di PipeWire consente di fornire in un normale ambiente desktop funzionalità di elaborazione audio professionale, eliminando la frammentazione e unificando l'infrastruttura audio per diverse applicazioni.
Nei numeri precedenti, per l'elaborazione audio in Fedora Workstation si utilizzava un processo in background chiamato PulseAudio, e le applicazioni facevano uso di una libreria client per interagire con questo processo, mixare e gestire i flussi audio. Per l'elaborazione audio professionale si utilizzava il server audio JACK insieme alla relativa libreria client. Per garantire la compatibilità, è stata aggiunta un'interfaccia tramite PipeWire, che permette di mantenere funzionanti tutti i client esistenti di PulseAudio e JACK, così come le applicazioni distribuite in formato Flatpak. Per i client più vecchi che utilizzano l'API a basso livello ALSA, è stato installato un plugin ALSA che dirige i flussi audio direttamente in PipeWire.
- Le versioni con il desktop KDE per impostazione predefinita sono state migrate all'uso di Wayland. La sessione basata su X11 è diventata un'opzione. Si segnala che l'uscita di Fedora 34 contenente KDE Plasma 5.20 ha quasi raggiunto la parità funzionale con la modalità operativa su X11, comprese le risoluzioni dei problemi legati alla registrazione dello schermo e all'inserimento tramite il tasto centrale del mouse. Per il funzionamento con i driver proprietari NVIDIA è stato utilizzato il pacchetto kwin-wayland-nvidia. La compatibilità con le applicazioni X11 è garantita dal componente XWayland.
- Migliorato il supporto per Wayland. Aggiunta la possibilità di utilizzare il componente XWayland nei sistemi con driver proprietari NVIDIA. Negli ambienti basati su Wayland è stata implementata la supporto per operare in modalità headless, consentendo l'esecuzione dei componenti del desktop su sistemi server remoti con accesso tramite VNC o RDP.
- Il desktop di Fedora Workstation è stato aggiornato alla versione GNOME 40 e alla libreria GTK 4. In GNOME 40, i desktop virtuali nella vista panoramica (Activities Overview) sono stati trasferiti in un orientamento orizzontale e visualizzati come una catena continua scrollabile da sinistra a destra. Su ogni desktop mostrato nella vista panoramica, le finestre disponibili sono chiaramente presentate, con panoramizzazione e zoom dinamici durante l'interazione dell'utente. È garantito un passaggio fluido tra l'elenco delle app e i desktop virtuali. L'organizzazione del lavoro su più monitor è stata migliorata. Molti programmi hanno ricevuto un aggiornamento dell'interfaccia. In GNOME Shell è stato implementato l'uso della GPU per il rendering dei shader.

- Tutte le edizioni di Fedora sono state migrate all'uso del meccanismo systemd-oomd per una reazione tempestiva alla carenza di memoria nel sistema, sostituendo il precedente processo earlyoom. Systemd-oomd si basa sul sottosistema del kernel PSI (Pressure Stall Information), che consente di analizzare a livello utente le informazioni sui tempi di attesa per l'accesso a diverse risorse (CPU, memoria, input/output) per una valutazione accurata del livello di carico del sistema e della natura dei rallentamenti. PSI offre la possibilità di individuare l'inizio delle latenze causate dalla mancanza di risorse e di terminare selettivamente i processi che consumano molte risorse quando il sistema non è ancora in stato critico e non inizia a ridurre intensivamente la cache e a spostare i dati nella memoria di scambio.
- Nel file system Btrfs, che a partire dall'ultima versione è utilizzato di default nelle varianti di Fedora per desktop (Fedora Workstation, Fedora KDE, ecc.), è attivata la compressione trasparente dei dati tramite l'algoritmo ZSTD. La compressione è applicata di default per le nuove installazioni di Fedora 34. Gli utenti delle versioni già installate possono abilitare la compressione aggiungendo il flag «compress=zstd:1» in /etc/fstab e lanciando «sudo btrfs filesystem defrag -czstd -rv / /home/» per comprimere i dati già esistenti. Per valutare l'efficacia della compressione si può utilizzare lo strumento «compsize». Si segnala che memorizzare i dati in forma compressa consente non solo di risparmiare spazio su disco, ma anche di aumentare le prestazioni degli SSD riducendo il numero di operazioni di scrittura, oltre a migliorare la velocità di lettura e scrittura di grandi file ben comprimibili su unità più lente.
- Tra le edizioni ufficiali del distributore è inclusa una variante con il gestore di finestre i3, che offre una modalità di layout mosaico per le finestre sul desktop.
- È iniziata la creazione di immagini con il desktop KDE per sistemi basati sull'architettura AArch64, oltre a build con i desktop GNOME e Xfce, e immagini per sistemi server.
- Aggiunta una nuova immagine Comp Neuro Container, che include una selezione di applicazioni per la modellazione e la simulazione, utili per la ricerca in neurobiologia.
- Nella versione per l'Internet delle Cose (Fedora IoT), che offre un ambiente di sistema ridotto al minimo, il cui aggiornamento avviene in modo atomico tramite la sostituzione dell'immagine dell'intero sistema, e le applicazioni sono separate dal sistema principale tramite contenitori isolati (gestiti con podman), è stata aggiunta il supporto per le schede ARM Pine64, RockPro64 e Jetson Xavier NX, oltre a un miglioramento del supporto per le schede basate su SoC i.MX8, come 96boards Thor96 e Solid Run HummingBoard-M. È garantito l'uso di meccanismi hardware di monitoraggio dei guasti (watchdog) per il ripristino automatico del sistema.
- È stata interrotta la creazione di pacchetti separati con le librerie utilizzate nei progetti basati su Node.js. Al loro posto, per Node.js verranno forniti solo pacchetti di base con interprete, file di intestazione, librerie primarie, moduli binari e strumenti principali per la gestione dei pacchetti (NPM, yarn). Negli applicativi forniti nel repository di Fedora che utilizzano Node.js, è consentito integrare tutte le dipendenze disponibili in un unico pacchetto, senza suddividerle e isolare le librerie utilizzate in pacchetti separati. L'integrazione delle librerie permetterà di eliminare l'ingombro di pacchetti di piccole dimensioni, semplificando la manutenzione dei pacchetti (in precedenza, il manutentore spendeva più tempo nella revisione e nel test di centinaia di pacchetti contenenti librerie rispetto al pacchetto principale con il programma) e libererà l'infrastruttura da conflitti tra librerie, risolvendo i problemi legati al vincolo delle versioni delle librerie (i manutentori includeranno nel pacchetto versioni testate e verificate nel lavoro).
- Il motore dei font FreeType è stato adattato per utilizzare il motore di shaping HarfBuzz. L'uso di HarfBuzz in FreeType ha migliorato la qualità dell'hinting (l'anti-aliasing del contorno del glifo durante la rasterizzazione per aumentare la chiarezza su schermi a bassa risoluzione) nella visualizzazione del testo in lingue con una complessa disposizione del testo, dove i glifi possono essere formati da più simboli. In particolare, l'implementazione di HarfBuzz risolve il problema dell'ignorare l'hinting delle legature per le quali non esistono simboli Unicode separati.
- È stata rimossa la possibilità di disattivare SELinux durante il funzionamento — la disattivazione tramite la modifica delle impostazioni /etc/selinux/config (SELINUX=disabled) non è più supportata. Dopo l'inizializzazione, i gestori LSM di SELinux vengono ora tradotti in modalità di sola lettura, aumentando la protezione contro gli attacchi mirati a disattivare SELinux dopo aver sfruttato vulnerabilità che consentono di modificare il contenuto della memoria del kernel. Per disattivare SELinux, è possibile riavviare il sistema passando il parametro 'selinux=0' nella riga di comando del kernel. È stata mantenuta la possibilità di passare tra le modalità 'enforcing' e 'permissive' durante l'avvio.
- Il componente DDX Xwayland, che consente l'avvio di X.Org Server per l'esecuzione di applicazioni X11 in ambienti basati su Wayland, è stato spostato in un pacchetto separato, compilato da una nuova base di codice, indipendente dalle versioni stabili. server X.Org.
- È garantito il riavvio simultaneo di tutti i servizi systemd aggiornati al termine della transazione nel gestore pacchetti RPM. In precedenza, un servizio veniva riavviato immediatamente dopo l'aggiornamento di ciascun pacchetto che lo interessava, mentre ora si crea una coda e i servizi vengono riavviati alla fine della sessione RPM, dopo che tutti i pacchetti e le librerie sono stati aggiornati.
- Le immagini per le piattaforme ARMv7 (armhfp) sono state convertite per utilizzare UEFI di default.
- La dimensione del dispositivo di swap virtuale fornito dal meccanismo zRAM è aumentata da un quarto alla metà della memoria fisica e limitata a un massimo di 8 GB. Questa modifica consente di avviare con successo l'installatore Anaconda su sistemi con una quantità limitata di RAM.
- È stata garantita la fornitura di pacchetti crate per il linguaggio Rust nella branch stabile. I pacchetti vengono forniti con il prefisso «rust-«.
- Per ridurre le dimensioni delle immagini ISO di installazione, è stata fornita una versione pulita di SquashFS, senza il livello nidificato EXT4, utilizzato per motivi storici.
- È stata uniformata la configurazione dei file del bootloader GRUB per tutte le architetture supportate, indipendentemente dal supporto EFI.
- Per ridurre l'uso dello spazio su disco, è stata implementata la compressione dei file firmware utilizzati dal kernel Linux (dalla versione 5.3 è supportato il caricamento dei firmware da archivi xz). In versione decompressa, tutti i firmware occupano circa 900 MB, ma con la compressione si è riusciti a dimezzare la loro dimensione.
- Il pacchetto ntp (server per la sincronizzazione dell'ora esatta) è stato sostituito con un fork di ntpsec.
- Sono stati dichiarati obsoleti i pacchetti xemacs, xemacs-packages-base, xemacs-packages-extra e neXtaw, il cui sviluppo è fermo da tempo. È stato dichiarato obsoleto anche il pacchetto nscd: per la memorizzazione nella cache della base host ora viene utilizzato systemd-resolved, mentre per la memorizzazione nella cache dei servizi named può essere utilizzato sssd.
- Cessata la fornitura delle collezioni di utilità X11 xorg-x11-*, ogni utilità ora è proposta in un pacchetto separato.
- L'uso del termine master è stato interrotto nei repository git del progetto, poiché recentemente è considerato poco politicamente corretto. Come nome predefinito per i branch nei repository git ora viene utilizzato il termine «main», mentre nei repository di pacchetti come src.fedoraproject.org/rpms, viene usato il branch «rawhide».
- Aggiornate le versioni dei pacchetti, tra cui: GCC 11, LLVM/Clang 12, Glibc 2.33, Binutils 2.35, Golang 1.16, Ruby 3.0, Ruby on Rails 6.1, BIND 9.16, MariaDB 10.5, PostgreSQL 13. Aggiornati i desktop LXQt 0.16.0 e Xfce 4.16.
- Introdotto un nuovo logo.

Allo stesso tempo, per Fedora 34 sono stati attivati i repository «free» e «nonfree» del progetto RPM Fusion, che offrono pacchetti con applicazioni multimediali aggiuntive (MPlayer, VLC, Xine), codec video/audio, supporto DVD, driver proprietari AMD e NVIDIA, software di gioco ed emulatori.
Fonte: opennet.ru


