Nach zwei Monaten der Entwicklung präsentierte Linus Torvalds vor die Kernel-Version Linux 7.0. Zu den auffälligsten Änderungen gehören: Regeln für die Anwendung von KI-Assistenten, die Übersetzung von Rust in die Hauptfunktionen des Kernels, die Verbesserung der Paging-Leistung, die standardmäßige Aktivierung des PREEMPT_LAZY-Modus, die Unterstützung von Filtern für io_uring-Operationen, ein neues Nullfs-Dateisystem, die fserror-Infrastruktur, Überwachungswerkzeuge für XFS, Unterstützung für Remapping in Btrfs, die standardmäßige Aktivierung von NFS-Version 4.1, die Integration des post-quantischen Kryptoalgorithmus ML-DSA, die Aktivierung von AccECN im Netzwerk-Subsystem und die erste Unterstützung für WiFi 8.
Die Version 7.0 wurde vergeben, weil in der 6.x-Reihe genügend Releases angesammelt wurden, um die erste Ziffer der Versionsnummer zu ändern (damals wurde das Release 6.0 direkt nach 5.19 veröffentlicht). Die Änderung der Nummerierung erfolgt aus ästhetischen Gründen und ist ein formeller Schritt, um das Unbehagen aufgrund der Ansammlung einer großen Anzahl von Releases in der Serie zu beseitigen.
In die neue Version wurden 15624 Korrekturen von 2477 Entwicklern aufgenommen, die Patch-Größe beträgt 56 MB (Änderungen betreffen 18053 Dateien, es wurden 704060 Codezeilen hinzugefügt und 278132 Codezeilen entfernt). In der vorherigen Veröffentlichung gab es 15657 Korrekturen von 2237 Entwicklern, die Patch-Größe betrug 52 MB. Etwa 51% aller in 7.0 vorgestellten Änderungen betreffen Gerätetreiber, rund 11% beziehen sich auf die Aktualisierung der hardware-spezifischen Code, 14% hängen mit dem Netzwerk-Stack zusammen, 5% mit Dateisystemen und 3% mit internen Kernel-Subsystemen.
Die Hauptneuheiten im Kernel 7.0 (kernelnewbies.org, lwn.net, OpenNET):
- Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
- Die fserror-Infrastruktur wurde implementiert und wurde hinzugefügt API zur Beschaffung von Informationen über E/A-Fehler und Beschädigungen von Metadaten beim Arbeiten mit Dateien. Die vorgeschlagene Infrastruktur vereinfacht die Übermittlung von Fehlerdaten in den Benutzerspeicher in Dateisystemen über den fsnotify-Mechanismus.
- In XFS Methoden text(), arrayBuffer() und stream() hinzugefügt, um bestimmte Datentypen zu lesen; neue Möglichkeiten zur Überwachung des Zustands des Dateisystems aus dem Benutzerspeicher. Es wurde die ioctl-Operation XFS_IOC_HEALTH_MONITOR vorgeschlagen, die einen Dateideskriptor zurückgibt, über den Informationen zu Fehlern im Zusammenhang mit der Beschädigung von Metadaten oder E/A-Fehlern abgerufen werden können, sowie die Änderung von FS-Zuständen wie das Abmontieren und das Herunterfahren verfolgt. Zusätzlich wurde ein von systemd gesteuertes Hintergrundprogramm xfs_healer vorgeschlagen, das Ereignisse über den Zustand des FS aus dem Benutzerspeicher verarbeitet und bei Bedarf automatisch Verfahren zur Wiederherstellung startet. Wiederherstellungsverfahren.
- Im Dateisystem Btrfs wurde experimentelle Unterstützung für die Struktur "Remap Tree" hinzugefügt (remap tree), die in Zukunft als Zwischenlage bei Ein- und Ausgabeoperationen verwendet werden kann. Der Kern dieser hinzugefügten Funktion besteht darin, dass nach der Verschiebung von Daten auf dem Speicher anstelle der Aktualisierung aller mit diesen Daten verknüpften Strukturen in der zusätzlichen Struktur „remap tree“ die alten und neuen Datenadressen gespeichert werden, sodass bei einem Zugriff auf die Daten die Adressen ersetzt werden. Der neue Ansatz wird als zuverlässiger und flexibler präsentiert und vereinfacht zudem die zukünftige Funktionserweiterung von Btrfs.
- In Btrfs wurde Unterstützung für direkten Zugriff in Situationen, in denen die Blockgröße die Seitenzugriffsgröße im System überschreitet.
- Umfang eingeschlossen ein neues Dateisystem Nullfs, das als Platzhalter für das Root-Dateisystem verwendet werden kann. Das Dateisystem Nullfs ist immer leer, enthält keine Daten und unterstützt keine Änderungen. Der Zweck von Nullfs besteht darin, als anfängliches Dateisystem die Boot-Prozedur zu vereinfachen – über Nullfs werden dann weitere Dateisysteme gemountet und der Systemaufruf pivot_root() wird verwendet, um das Root-Dateisystem zu wechseln, anstatt den Inhalt von initramfs zu leeren und das damit verbundene Root-Dateisystem zu verwenden.
- Implementiert aktualisierte Informationen über die Änderungszeit von Dateien im nicht blockierenden Modus. Zuvor gab der Aufruf von file_update_time_flags() mit dem Flag IOCB_NOWAIT einen Fehler -EAGAIN zurück, was das Verwenden von direkt schreibenden Operationen im nicht blockierenden Modus verhinderte.
- In Dateisystemen im Bereich der separat aktivierbaren Optionen übersetzt wurde Unterstützung für Benachrichtigungs-Sperren (Lease). Standardmäßig wird ein solches Mechanismus jetzt nicht aktiviert, aufgrund von Problemen mit Dateisystemen, die ursprünglich nicht dafür entwickelt wurden. Zum Beispiel unterstützen die Dateisysteme 9p und cephfs dies nicht.
- Im Dateisystem EROFS (Extendable Read-Only File System), das für die Verwendung auf Partitionen im Nur-Lesen-Modus vorgesehen ist, wird standardmäßig der Algorithmus LZMA zum Komprimieren eingesetzt. Optional sind die Algorithmen DEFLATE und Zstandard verfügbar, die nicht mehr als experimentell gekennzeichnet sind. Es wurde das gemeinsame Nutzen von Einträgen im Seiten-Cache für identische Dateien in verschiedenen EROFS-Dateisystemen implementiert.
- Entfernt Der Laptop-Modus spart Energie, indem er Schreiboperationen auf die Festplatte verzögert und zusammenfasst, um die Zeit zu verlängern, in der das Laufwerk im Ruhemodus verbleibt und die Anzahl der Wachphasen zu reduzieren. Dieser Modus hat seine Relevanz verloren, da in modernen mobilen Geräten Festplatten durch SSDs ersetzt werden.
- Das Dateisystem F2FS wurde auf die Verwendung großer von Seitenfeldern (folios) anstelle der buffer_head-Struktur. Der neue Treiber implementiert ein verzögertes Blockzuweisungsverfahren, das hohe Schreibgeschwindigkeiten und eine Verringerung der Fragmentierung ermöglicht. Für gepufferte Lese-/Schreiboperationen, direkten I/O, Extent-Mapping und Seitenlese-/schreiboperationen wird die Bibliothek (große Folios) umgestellt.
- Die Arbeit am ntfs3-Treiber wurde wiederbelebt, entwickelt von Paragon Software. Unterstützung für Dateivorgänge auf Basis von iomap wurde hinzugefügt, die Optionen llseek SEEK_DATA/SEEK_HOLE implementiert und ein delalloc-Modus für verzögerte Blockzuweisung eingeführt. In der Mailingliste der Kernel-Entwickler wurde im Februar die Genehmigung der Integration einer neuen NTFS-Implementierung in eine der zukünftigen Kernel-Versionen – ntfsplus , entwickelt zur Ablösung von ntfs3.Standardmäßig wird beim Kompilieren
- die Protokollversion NFS 4.1 (CONFIG_NFS_V4_1) verwendet. eingeschlossen Die Sperrung des Exports über NFS spezialisierter Pseudo-File-Systeme, wie pidfs und nsfs, ist eingeführt. Der NFSD Es wurde bietet experimentelle Unterstützung für die Verwendung von POSIX ACLs und wurde unterstützt die dynamische Anpassung des Thread-Pools in Abhängigkeit von der Auslastung. hinzugefügt Es wurden offizielle Regeln genehmigt
- Speicher und Systemdienste
-
für den Einsatz von KI-Assistenzsystemen und die Integration von automatisch generierten Inhalten . Bei der Übergabe von generiertem Code ist vorgeschrieben, diesen durch den verwendeten KI-Assistenten mit dem Tag Assisted-by zu kennzeichnen. KI-Assistenten ist es untersagt, das Tag Signed-off-by hinzuzufügen – die Person, die den Patch übergibt, wird als dessen Autor betrachtet, trägt die Verantwortung für die übergebene Änderung und steht für deren Qualität ein. Entwickler sind angehalten, den durch KI generierten Code manuell zu überprüfen und sicherzustellen, dass das Ergebnis den Lizenzanforderungen entspricht.Die Unterstützung für Rust
-
wurde aus experimentellen in übersetzt wurde die Kernfunktionalitäten überführt. Die Integration des ".
-
Mechanismus wurde abgeschlossen, um die Swap-Leistung zu erhöhen. Die Beschleunigung erfolgt durch Verringerung des Wettbewerbs um den Zugriff auf den Swap-Cache, effektivere Suche im Cache und Reduzierung der Fragmentierung. Das Backend basierend auf der Swap-Tabelle wird für das Caching des Swaps anstelle des XArray-Backends eingesetzt und erlaubte im redis-benchmark-Test mit BGSAVE eine Steigerung der bearbeiteten Anfragen um 22%.Swap TableDie Unterstützung für die in Clang 22 eingeführte Erweiterung
-
Thread Safety Analysis wurde hinzugefügt. Thread-Sicherheit Analyse, das es ermöglicht, potenzielle Race-Conditions und Fehler, die durch fehlerhafte Sperrdefinitionen verursacht werden, bereits während der Kompilierungsphase zu erkennen. Die Erweiterung bietet eine Reihe von Attributen wie GUARDED_BY(…), REQUIRES(…), RELEASE(…) und ACQUIRE(…), die es ermöglichen, von Sperren umschlossene Funktionen zu kennzeichnen und den Geltungsbereich von Sperren zu trennen (Kontext zu definieren). In der Kompilierungsphase wird die Korrektheit der Anwendung von Synchronisationsprimitive überprüft, wie zum Beispiel von Mutexen, basierend auf der Bewertung von Aktivität oder Inaktivität des zugehörigen Kontexts.
-
Beim Systemaufruf open_tree wurde hinzugefügt wird das FLAG OPEN_TREE_NAMESPACE eingeführt, um die Konfiguration isolierter Container zu vereinfachen und den Start von Containern auf Systemen mit einer großen Anzahl von Einhängepunkten zu beschleunigen. Analog zu OPEN_TREE_CLONE kopiert das neue Flag nur den angegebenen Mount-Baum, gibt jedoch anstelle eines lokalen Dateideskriptoren einen Dateideskriptor im neuen Namensraum der Einhängepunkte zurück, in dem der kopierte Baum über eine Kopie des tatsächlichen Root-FS montiert wird. Das FLAG OPEN_TREE_NAMESPACE wird benötigt, um die separierte Ausführung der Operationen unshare(CLONE_NEWNS) und pivot_root() zu vermeiden, die beim Erstellen von Containern verwendet werden.
-
Beim Systemaufruf rseq wurde hinzugefügt wird ein Mechanismus zur Erweiterung der Zeitscheibe (time slice) bereitgestellt, der es ermöglicht, zusätzliche Rechenzeit für die ununterbrochene Ausführung kritischer Abschnitte zu erhalten. Die Idee besteht darin, die Unterbrechung des kritischen Abschnitts mit aktivierter Sperre durch den Scheduler zu vermeiden, was zu einer Übertragung der Kontrolle an andere Threads führt, die die Ressource verwenden, für die die Sperre weiterhin aktiv ist. Die Erweiterung der Zeitscheibe erfolgt ohne zusätzliche Kosten, jedoch auch ohne die strengen Garantien, die bei einer vollständigen Prioritätsregelung gegeben sind.
-
Für die Architekturen arm64, loongarch, powerpc, riscv, s390 und x86 wurde der Standardmodus der Aufgabenpräemption im Scheduler geändert von PREEMPT_NONE auf PREEMPT_LAZY. Die Anzahl der möglichen Modi wurde reduziert von vier bis zwei – PREEMPT_FULL und PREEMPT_LAZY (die Modi PREEMPT_NONE und PREEMPT_VOLUNTARY sind nur für Architekturen vorgesehen, die PREEMPT_FULL und PREEMPT_LAZY nicht unterstützen). Der Modus PREEMPT_LAZY wendet das Modell der vollständigen Präemption (PREEMPT_FULL) auf Echtzeitanwendungen (RR/FIFO/DEADLINE) an, verzögert jedoch die Präemption normaler Aufgaben (SCHED_NORMAL) bis zur Tickgrenze. Die eingebrachte Verzögerung führt zu einer Reduktion der Präemptionsfälle von Lockinhabern, wodurch die Leistung näher an Konfigurationen gebracht wird, die das Modell der freiwilligen Präemption (voluntary preemption) verwenden. Das heißt, PREEMPT_LAZY ermöglicht es, die Möglichkeiten der vollständigen Präemption in Bezug auf Echtzeitanwendungen zu bewahren, minimiert jedoch den Leistungseinbruch bei normalen Aufgaben.
Aktivierung von PREEMPT_LAZY führte zu einer erheblichen Regression, die die Leistung von PostgreSQL auf ARM64-Systemen um die Hälfte senkt. Um den Leistungsabfall zu beheben, müssen die Entwickler von PostgreSQL vorgeschlagen die PR_RSEQ_SLICE_EXTENSION-Option aktivieren, um die Wahrscheinlichkeit der Präemption von Lockinhabern zu verringern.
-
Fortgesetzt Übertragung von Änderungen aus dem Branch Rust-for-Linux, die mit der Verwendung von Rust als zweiter Sprache für die Entwicklung von Treibern und Kernelmodulen verbunden sind (die Unterstützung von Rust ist standardmäßig nicht aktiv und führt nicht dazu, dass Rust zu den obligatorischen Build-Abhängigkeiten des Kernels gehört). Dank der zuvor integrierten Bibliothek „syn (crates.io)„, die das Schreiben komplexer Makros vereinfacht, konnte die Größe des Rust-Codes im Kernel durch Vereinfachung der Definitionen vorhandener prozeduraler Makros reduziert werden. Die Möglichkeiten der Bibliotheken kernel, macros und pin-init wurden erweitert.
-
In das System für asynchrone Eingabe/Ausgabe io_uring hinzugefügt eine Option zur Verwendung nicht kreisförmiger Warteschlangen (non-circular submission queue), die effizienter zwischengespeichert werden, wenn die Ausführung einer Anfrage vor der Rückkehr aus dem Systemaufruf abgeschlossen wird.
-
Im eBPF-Subsystem im Mechanismus BTF (BPF Type Format), das Informationen zur Typprüfung im Pseudocode von BPF bereitstellt, zur Suche nach Debugging-Informationen wurde eine binäre Suche, was die Effizienz des Ladevorgangs von BPF-Programmen erhöht hat. In eBPF hinzugefügt Unterstützung für implizite Argumente bei der Aufruf von kfunc (Kernfunktionen, die in BPF-Programmen verwendet werden können), die mit dem Flag KF_IMPLICIT_ARGS definiert sind.
-
Entfernt Code zur Unterstützung von initialen RAM-Disk (initrd) basierend auf linuxrc, das längst als veraltet gilt. Die verbleibenden Implementierungen von initrd sollen im Jahr 2027 entfernt werden. Statt initrd sollte initramfs verwendet werden (der Unterschied besteht darin, dass initrd die initiale Bootumgebung im Disk-Image ablegt, während initramfs sie im Dateisystem ablegt).
-
In einem Blockgerät , das für die komprimierte Speicherung eines Swap-Bereichs im Speicher verwendet wird,wurde die Unterstützung für die Auslagerung mehrerer „bio“-Strukturen (Block I/O) im Batch-Modus (Writeback Batching) hinzugefügt. wurde geändert die Logik der Arbeit mit komprimierten Speicherseiten bei optionaler Verschiebung von Daten in einen permanenten Speicher im Falle einer Erschöpfung des verfügbaren Arbeitsspeichers. Früher wurden die Speicherseiten vor dem Schreiben auf das physische Medium entpackt, jetzt bleiben sie komprimiert, was die CPU-Belastung verringert und Energie im Batteriebetrieb spart.
-
In das Dienstprogramm timerlat, das zur Messung von Verzögerungen bei der Arbeit des Taskplaners dient, hinzugefügt die Option —bpf-action zum Ausführen von BPF-Programmen, wenn ein vorgegebenes Limit überschritten wird.
-
Im Tracing-System ftrace wurde die Einstellung bitmask-list hinzugefügt, um Bitmasken in lesbarer Form (als Liste von Bits und nicht als Hexadezimalzahl) anzuzeigen. In tracefs wurden Audit-Möglichkeiten hinzugefügt Filtern und Trigger. Hinzugefügt Der Befehl perf sched stats zur Erfassung und Anzeige von Statistiken über die Arbeit des Taskplaners.
-
Hinzugefügt Kompilierungsoptionen LOGO_LINUX_MONO_FILE, LOGO_LINUX_VGA16_FILE und LOGO_LINUX_CLUT224_FILE zur Definition der Datei mit dem Logo, das beim Booten des Kernels anstelle des Standardlogos mit dem Pinguin Tux angezeigt wird.
-
- Virtualisierung und Sicherheit
- Im System für asynchrone Eingabe/Ausgabe io_uring wurde die Möglichkeit, BPF-Programme mit Filtern anzuhängen, die steuern, was spezifische SQE (Submission Queue Entry) Operationen tun dürfen (ähnlich wie Systemaufrufe in io_uring). Die neu hinzugefügte Möglichkeit entspricht den Filtern für Systemaufrufe. Filter können an bestimmte Aufgaben gebunden werden und werden bei der Erstellung anderer Prozesse nach einem fork()-Aufruf geerbt. Bei aktiven Filtern können hinzugefügte Filter zusätzliche Einschränkungen anheften, aber bestehende nicht deaktivieren. Diese implementierte Möglichkeit wird es ermöglichen, Methoden den Filterdurchlass von Systemaufrufen in Sandbox-Umgebungen zu blockieren, die auf der Ausführung von ähnlichen Operationen basieren, die in io_uring bereitgestellt werden.
- In SELinux hinzugefügt wurde die Möglichkeit hinzugefügt, den Zugriff auf BPF-Tokens zu steuern, die es nicht privilegierten Prozessen ermöglichen, einige privilegierte Operationen mit BPF durchzuführen, wie z. B. BPF-Programme in den Kernel zu laden und Map-Strukturen zu erstellen..
- Hinzugefügt Unterstützung des Algorithmus zur Erstellung digitaler Signaturen ML-DSA (CRYSTALS-Dilithium), basierend auf der Gittertheorie und resistent gegen Angriffe mit Quantencomputern. Bereitgestellt Möglichkeit der Verwendung von ML-DSA zur Authentifizierung von Kernmodulen.
- Entfernt wurde Möglichkeit der Verwendung von digitalen Signaturschemata mit dem Algorithmus SHA-1 zur Bestätigung von Kernmodulen (die Unterstützung für das Laden von signierten Modulen bleibt erhalten).
- Im NETFILTER_PKT-Protokoll Methoden text(), arrayBuffer() und stream() hinzugefügt, um bestimmte Datentypen zu lesen; die Felder sport und dport zur Überprüfung von Netzwerkportnummern, nicht nur von IP-Adressen.
- Für Systeme mit RISC-V-Architektur wurde Unterstützung der Erweiterungen Zicfiss und Zicfilp, die hardwareseitige Möglichkeiten für den Einsatz von CFI (Control Flow Integrity) bieten, die Verletzungen der normalen Befehlsausführungsreihenfolge (Control Flow) durch Exploits, die in Speichern gespeicherte Zeiger auf Funktionen verändern, verhindern.
- Im Hypervisor KVM wurde die Möglichkeit, den Gastsystemen Informationen über die vom Prozessor unterstützten ERAPS-Erweiterungen (Enhanced Return Address Predictor Security) zu übermitteln, die es ermöglichen, einige CPU-Zustandsrücksetzoperationen bei der Rückgabe der Kontrolle an den Host des Gastsystems zu verzichten. Darüber hinaus hinzugefügt Unterstützung der Zuordnung von Hardware zu Gastsystemen zur Leistungsüberwachung (PMU, Performance Monitoring Unit), was die Genauigkeit des Profilings im Vergleich zur Verwendung emulierter PMUs verbessert.
- Im Treiber für den Hypervisor Hyper-V hinzugefügt Unterstützung der debugfs-Schnittstelle zur Anzeige von Statistiken über den Betrieb des Hypervisors.
- Netzwerksubsystem
- Standardmäßig aktiviertes AccECN-Erweiterung (Accurate Explicit Congestion Notification), das eine verbesserte Version der Erweiterung umsetzt ECN (wikipedia.org), das es Hosts ermöglicht, im Falle einer Überlastung IP-Pakete zu kennzeichnen, anstatt sie zu verwerfen, was die Bestimmung des Auftretens einer frühen Staumeldung in Kommunikationskanälen ohne Paketverlust erleichtert. Die ursprüngliche ECN-Erweiterung hat eine Einschränkung, die nur ein Signal für Überlastung innerhalb eines Zyklus von TCP (RTT, Round-Trip Time, Anfrage senden und Antwort erhalten) zulässt. AccECN beseitigt diese Einschränkung und gibt dem Empfänger die Möglichkeit, dem Absender mehr als ein Überlastungssignal im TCP-Paketkopf zu übermitteln. Die Algorithmen zur Überlastkontrolle können die erhaltenen Informationen nutzen, um genauer auf Überlastung zu reagieren und auf drastische Reduzierungen der Paketübertragungsintensität bei geringfügigen Überlastungen zu verzichten.
- in die Implementierung von Netzqueue-Management-Algorithmen Cake hinzugefügt die Möglichkeit, mehrere Warteschlangen zur Lastverteilung auf mehrere CPU-Kerne zu verarbeiten. Der CAKE-Algorithmus wird zur Verringerung der negativen Auswirkungen der temporären Pufferung von Paketen an Grenz-Netzwerkausrüstung eingesetzt und zielt darauf ab, die maximal mögliche Bandbreite und minimalen Latenzpegel selbst bei langsamen Kommunikationskanälen zu erreichen.
- In Sockets VSOCK, die zur Interaktion mit virtuellen Maschinen verwendet werden, hinzugefügt Unterstützung von Netzwerknamespace.
- Hinzugefügt erste Implementierung des zukünftigen Standards WiFi 8 (802.11bn, Ultra High Reliability WiFi).
- Hinzugefügt Optimierungen, die eine 12%-Steigerung der Verarbeitungseffizienz eingehender UDP-Pakete bei Stresstests in einem 100-Gigabit-Netzwerk ermöglichten.
- Ausrüstung
- Im AMDGPU-Treiber wurde wurde unterstützt IP-Blöcken, die in neuen AMD-GPUs verwendet werden, wie SMUIO 15.x, PSP 15.x, IH 6.1.1/7.1, MMHUB 3.4/4.2, GC 11.5.4/12.1, SDMA 6.1.4/7.1/7.11.4 und JPEG 5.3.
- Im Nouveau-Treiber wurde die Frequenzregelung auf Tegra 186+-Systemen verbessert.
- In den i915-Treibern hinzugefügt erste Unterstützung des Display-IP-Blocks Xe3p_LPD, der in Intel Nova Lake-P-Prozessoren verwendet wird.
- Fortgesetzt Arbeiten am drm-Treiber (Direct Rendering Manager) Xe für GPUs, die auf der Intel Xe-Architektur basieren und in Intel Arc-Grafikkarten sowie in integrierter Grafik ab den Tiger Lake-Prozessoren verwendet werden. Der Modus wurde hinzugefügt: Multi Queue. Hinzugefügt Komponenten, die für die Diagnose von GPU-Hängern in Mesa erforderlich sind. Hinzugefügt Unterstützung des MERT-Mechanismus zur Verwaltung des Zugriffs auf den GPU-Speicher.
- Fortgesetzt Integration der Nova-Treiberelemente für NVIDIA-GPUs mit GSP-Firmware, die seit der NVIDIA GeForce RTX 2000 Serie auf Basis der Turing-Mikroarchitektur verwendet wird. Der Treiber ist in Rust geschrieben. Die neue Version bereitet die Implementierung der Unterstützung von GPUs auf Basis der Turing-Mikroarchitektur vor und enthält verschiedene interne Änderungen.
- Hinzugefügt Unterstützung von Controllern und Peripheriegeräten mit einem Mehrkanal-SPI (Serial Peripheral Interface), das die Übertragung von Daten in mehreren parallelen Streams ermöglicht.
- Hinzugefügt Treiber für kombinierte Type-C-Anschlüsse, die in Geräten mit Apple Silicon-Chips verwendet werden und die Schnittstellen USB3, DP-AltMode und Thunderbolt/USB4 kombinieren.
- Unterstützung von Audiokomponenten der Chips Tegra238, Minisforum V3 SE, iBasso DC04U, Intel Nova Lake, Nova Lake S und Focusrite Forte hinzugefügt.
- Unterstützung für ARM-Plattformen, SoCs und Geräte: Arduino UnoQ, OrangePi 6 Plus, OrangePi CM5, Anbernic RG-DS, Realtek Kent, Qualcomm Kaanapali, Mediatek Ezurio, Facebook Anacapa, Microchip LAN9668, Khadas VIM1S, QNAP TS133, i.MX952, i.MX93, i.MX94, VHIP4 EvalBoard, TQ-Systems MBLS1028A, Agilex5, Radxa CM3J, Glymur,
- Unterstützung für Smartphones und Tablets: Fairphone Gen 6 (SoC Qualcomm Milos/Snapdragon 7s Gen 3), Pixel 3/3 XL, Microsoft Surface Pro 11 wurde hinzugefügt.
Gleichzeitig hat die lateinamerikanische Free Software Foundation ein vollständig freies Kernels 5.6 Variante vollständig freies Kernel 7.0 – Linux-libre 7.0-gnu, bereinigt von Elementen aus Firmware und Treibern, die nicht-freie Komponenten oder Codeabschnitte enthalten, deren Nutzung vom Hersteller eingeschränkt ist. In der Version 7.0 wurde eine Bereinigung vom iwlwifi-Treiberblob durchgeführt. Der Bereinigungscode in den Treibern amdgpu, adreno, TI PRUeth, air_en8811h, ath12k, TI VPE, rtw8852b, rt1320, rt5575 SPI, tas2783 und Intel catpt wurde aktualisiert. Die Bereinigung von Blob-Namen in dts-Dateien (Device Tree) für ARM-Chips wurde durchgeführt.
Quelle: linux.org.ru
