Linux 6.8 arriva con grandi miglioramenti nel supporto, nei driver e altro ancora

Tux, la mascotte del kernel Linux

Il kernel Linux è la spina dorsale dei sistemi operativi (OS) Linux ed è l'interfaccia fondamentale tra l'hardware di un computer ei suoi processi.

La settimana scorsa Linus Torvalds ha annunciato la disponibilità generale di la nuova versione di Kernel Linux 6.8, versione che ha richiesto diversi mesi e che ha avuto qualche ritardo a causa di un numero di consegne maggiore del solito. Questa versione include diversi punti salienti, come lCompatibilità con processore Broadcom BCM2712 su Raspberry Pi 5, il Mitigazione della banda Wi-Fi RFI (WBRF) basato su ACPI di AMD, un nuovo driver grafico Intel Xe DRM e supporto per fscrypt in CephFS, tra gli altri.

Uno dei il punto più significativo è il supporto iniziale di Rust per l'architettura LoongArch e la capacità di Rust di sviluppare driver PHY di rete. Sebbene non sia una versione così grande come Linux 6.7, Linux 6.8 implementa un gran numero di modifiche e miglioramenti.

Principali novità in Linux 6.8

In questa nuova versione di Linux 6.8 che viene presentata, il sottosistema Zswap è stato migliorato con la possibilità di forzare lo svuotamento delle pagine di memoria fredde a cui non è stato effettuato l'accesso e che probabilmente rimarranno inutilizzati, attivandosi in situazioni di carenza di RAM. Zswap funziona memorizzando nella cache le pagine che vengono sfrattate nella partizione di swap, comprimendole nella RAM quando possibile invece di scaricarle non compresse su disco. Oltretutto, Zswap introduce una nuova modalità che disabilita la scrittura sulla partizione di swap effettiva se la scrittura non va a buon fine, impedendo anche il download delle pagine che sono già nel pool Zswap sulla partizione di swap.

Da pianificazione delle attività, il meccanismo del server SCHED_DEADLINE è stato integrato, che risolve il problema del sottoutilizzo delle risorse della CPU da attività regolari quando la CPU è monopolizzata da attività ad alta priorità (in tempo reale). In precedenza, il kernel utilizzava un meccanismo di limitazione in tempo reale che riservava il 5% della CPU per attività a bassa priorità, lasciando il 95% per attività in tempo reale.

Linux 6.8 ora include un driver Xe DRM progettato per GPU basate sull'architettura Intel Xe, presente nelle schede video della famiglia Intel Arc e nella grafica integrata dai processori Tiger Lake in poi. Questo driver Xe è indipendente dal codice che supporta le piattaforme più vecchie e si concentra sul funzionamento ottimale dei nuovi chip. Utilizza un'architettura rinnovata che sfrutta meglio il sottosistema DRM e i componenti del driver i915 che sono generici e non legati a GPU specifiche.

Il controller Nouveau è stato configurato per utilizzare le funzioni del firmware GSP per impostazione predefinita sulle GPU NVIDIA basate su Turing e Ampere. Ciò implica che le operazioni di inizializzazione e controllo della GPU vengono eseguite da un microcontroller GSP separato, anziché eseguire direttamente operazioni di programmazione per interagire con l'apparecchiatura.

Da parte sua, il titolare del trattamento AMDGPU ha migliorato il suo supporto con l'inclusione di ACPI WBRF e VPE DPM, modifiche all'elaborazione del canale PCIe, utilizzo di numeri di sequenza a 64 bit nelle code di sincronizzazione, aggiunta di meccanismi di gestione del colore specifici di AMD e risoluzione dei problemi relativi alla modalità di sospensione.

Inoltre è stata aggiunta la ssupporto per controller di gioco NSO (Nintendo Switch Online) come varianti dei vecchi controller SNES, Genesis e N64, adattati per Nintendo Switch. È stato inoltre aggiunto un driver per i gamepad Adafruit Seesaw ed è stato abilitato il supporto per i controller Lenovo Legion Go sul controller xpad.

Si evidenzia inoltre che sono a conoscenza che a nuova modalità per bloccare la scrittura diretta sui dispositivi a blocchi che hanno filesystem montati. Quando questa modalità è abilitata, l'utente root non sarà in grado di apportare modifiche al file system tramite manipolazioni a livello del dispositivo a blocchi. È importante sottolineare che questa modalità è disabilitata per impostazione predefinita e il parametro BLK_DEV_WRITE_MOUNTED deve essere specificato durante l'assemblaggio per abilitarla.

Del altri cambiamenti che risaltano:

  • Aggiunta l'implementazione iniziale del driver per la GPU Broadcom VideoCore 7.1 utilizzata nelle schede Raspberry Pi 5.
  • Aggiunto un driver per le GPU della serie PowerVR 6 basate sulla microarchitettura Rogue di Imagination Technologies.
  • Aggiunto il supporto per i controller Thunderbolt/USB4 integrati nei chip basati sulla microarchitettura Intel Lunar Lake.
  • AMD ha apportato modifiche relative al supporto per le future serie di processori basati sulla nuova microarchitettura Zen 5.
  • Sono state aggiunte le chiamate di sistema listmount() e statmount(), consentendo di ottenere informazioni dettagliate sui file system montati dallo spazio utente.
  • Nel file system XFS, continua il lavoro sulla possibilità di utilizzare l'utilità fsck per verificare e correggere i problemi identificati online, senza smontare il file system.
  • Ext4 ha implementato la chiamata dioread_nolock per blocchi più piccoli di una pagina di memoria, migliorando le prestazioni eliminando i lock non necessari.
  • Btrfs ha aggiunto il supporto per il flag di montaggio "nospace_cache" per disabilitare la cache dei blocchi libera.
  • AppArmor è passato all'algoritmo SHA-256 per la verifica delle regole, sostituendo i precedenti hash SHA-1.
  • La funzione strlcpy() inclusa in Glibc 2.38 C è stata rimossa dal kernel. Questa funzione è un'alternativa a strncpy() con protezione da overflow del buffer.
  • KVM ha aggiunto il supporto per il sottosistema guest_memfd (guest memory first), che fornisce funzioni di gestione della memoria per organizzare l'elaborazione riservata nell'ambiente guest.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli Nel seguente collegamento.