Nach zwei Monaten Entwicklung stellte Linus Torvalds das Release des Linux-Kernels 6.8 vor. Zu den auffĂ€lligsten Ănderungen gehören: der Xe-Treiber fĂŒr Intel-GPUs, ein Schutzmodus fĂŒr BlockgerĂ€te mit gemounteten Dateisystemen, der Deadline-Server-Task-Scheduling-Mechanismus, automatische Optimierung bei der ZusammenfĂŒhrung identischer Arbeitsspeicherseiten, der erste Treiber in der Programmiersprache Rust, die Systemaufrufe listmount und statmount, die Entfernung von bpfilter und SLAB, der Mechanismus guest_memfd in KVM, sowie das Profiling von Datenzugriffen.
In die neue Version wurden 15641 Korrekturen von 2018 Entwicklern ĂŒbernommen, die PatchgröĂe betrĂ€gt 44 MB (Ănderungen betrafen 12212 Dateien, 663864 Codezeilen wurden hinzugefĂŒgt und 339094 Zeilen entfernt). In der vorherigen Version gab es 18405 Korrekturen von 2066 Entwicklern, die PatchgröĂe betrug 72 MB. Etwa 42 % aller in 6.8 prĂ€sentierten Ănderungen sind mit GerĂ€tetreibern verbunden, ungefĂ€hr 15 % beziehen sich auf die Aktualisierung hardwarearchitekturspezifischen Codes, 14 % stehen im Zusammenhang mit dem Netzwerkstack, 6 % mit Dateisystemen und 3 % mit internen Subsystemen des Kernels.
Im Git-Repository des Kernels 6.8 sind 9,996 Millionen Objekte vorhanden, was darauf hindeutet, dass der nĂ€chste Kernel 6.9 die symbolische Grenze von 10 Millionen Git-Objekten ĂŒberschreiten wird. FrĂŒhere Wechsel der Versionsnummern 3.x und 4.x korrelierten gut mit der Anzahl der Git-Objekte im Repository â Kernel 3.0 wurde veröffentlicht, als sich etwa 2 Millionen Objekte im Repository befanden, und Kernel 4.0 bei 4 Millionen Objekten. Im Jahr 2019 hat die Veröffentlichung von 5.0 diese logische Kette jedoch unterbrochen, da das Repository bei seiner Erstellung etwa 6,5 Millionen Git-Objekte enthielt.
Die wichtigsten Neuerungen im Kernel 6.8:
- Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
- Ein Blockierungsmodus fĂŒr direkte SchreibvorgĂ€nge auf BlockgerĂ€ten, auf denen gemountete Dateisysteme vorhanden sind, wurde hinzugefĂŒgt (nach Aktivierung des Modus kann der Root-Benutzer keine Ănderungen am Dateisystem durch Manipulationen auf der Ebene des BlockgerĂ€ts vornehmen). Der Modus ist standardmĂ€Ăig deaktiviert und erfordert die Angabe des Parameters BLK_DEV_WRITE_MOUNTED beim Kompilieren. FĂŒr Partitionen mit Btrfs funktioniert die Blockierung derzeit noch nicht, da die notwendigen Ănderungen im Btrfs-Code noch nicht angenommen wurden.
- Die Systemaufrufe listmount() und statmount() wurden hinzugefĂŒgt, die es Benutzern ermöglichen, detaillierte Informationen ĂŒber die gemounteten Dateisysteme zu erhalten.
- Im XFS-Dateisystem wurde die Arbeit an der Implementierung der Nutzung des Dienstprogramms fsck zur ĂberprĂŒfung und Behebung festgestellter Probleme im Online-Modus ohne AushĂ€ngen des Dateisystems fortgesetzt.
- In Ext4 wurde fĂŒr Blöcke, die kleiner als eine Speicherseite sind, der Aufruf dioread_nolock aktiviert, der die Leistung steigert, indem ĂŒberflĂŒssige Sperren vermieden werden. Einige Funktionen wurden auf die Verwendung von Seitenfolios (page folios) umgestellt.
- In Btrfs wurde die UnterstĂŒtzung des Montageflags ânospace_cacheâ hinzugefĂŒgt, um den Cache fĂŒr freie Blöcke zu deaktivieren. Einige Funktionen wurden auf die Verwendung von Seitenfolios (page folios) umgestellt.
- Im EROFS-Dateisystem (Extendable Read-Only File System), das fĂŒr die Verwendung auf Partitionen vorgesehen ist, die nur im Nur-Lese-Modus zugĂ€nglich sind, wurde die UnterstĂŒtzung fĂŒr die Kompression von Subseiten hinzugefĂŒgt und die mögliche Leistung bei Speichermangel verbessert.
- Im F2FS-Dateisystem wurde die UnterstĂŒtzung fĂŒr zonierte SpeichergerĂ€te verbessert (unterteilt in Zonen von Blockgruppen oder Sektoren, in denen nur sequentielles HinzufĂŒgen von Daten erlaubt ist, wobei die gesamte Gruppe von Blöcken aktualisiert wird).
- FĂŒr das SMB-Dateisystem wurde die Möglichkeit zur Erstellung von Block- und Zeichenfolgen-GerĂ€tedateien implementiert.
- In Bcachefs wurde die teilweise UnterstĂŒtzung zur ĂberprĂŒfung und Wiederherstellung der IntegritĂ€t der eingehĂ€ngten Dateisysteme hinzugefĂŒgt.
- Im Device-Mapper-Subsystem wurde die UnterstĂŒtzung fĂŒr die MD_LINEAR-, MD_MULTIPATH- und MD_FAULTY-Handler eingestellt, die 2021 als veraltet erklĂ€rt wurden.
- Speicher und Systemdienste
- Im Zswap-Subsystem wurde eine Funktion hinzugefĂŒgt, die bei Speichermangel aktiviert wird, um âkalteâ Seiten mit Seiten, auf die nicht zugegriffen wurde und die höchstwahrscheinlich ungenutzt bleiben, gezwungen auszulagern. Zswap fĂŒhrt das Caching der in den Swap-Bereich ausgelagerten Seiten durch, indem es diese komprimiert im RAM speichert, um möglichst ohne RĂŒckfĂŒhrung in den tatsĂ€chlichen unkomprimierten Swap-Bereich auf der Festplatte auszukommen. Die vorgenommenen Ănderungen bei Speichermangel ermöglichen es, die GröĂe des im RAM gespeicherten Zswap-Pools zu verringern und Speicher fĂŒr das System freizugeben.
- In Zswap wurde ein neuer Modus vorgeschlagen, der die verzögerte Schreiboperation (writeback) in den tatsĂ€chlichen Swap-Bereich vollstĂ€ndig deaktiviert, wenn der Schreibversuch erfolglos war, und bereits im Zswap-Pool enthaltene Seiten nicht in den Swap-Bereich zurĂŒckschreibt.
- Im Task-Scheduler wurde der SCHED_DEADLINE-Servermechanismus hinzugefĂŒgt, der das Problem der unzureichenden CPU-Ressourcennutzung durch regulĂ€re Aufgaben in Situationen der CPU-Monopolisation durch hochpriorisierte (Echtzeit-)Aufgaben löst. Um die CPU-Monopolisation im Kernel zu verhindern, wurde zuvor der Mechanismus Realtime Throttling verwendet, der versuchte, 5 % fĂŒr niedrigpriorisierte Aufgaben zu reservieren und 95 % fĂŒr Echtzeitarbeiten. Dieser Mechanismus lieĂ jedoch zu wĂŒnschen ĂŒbrig, da regulĂ€re Aufgaben in vielen Situationen nicht genĂŒgend Rechenzeit erhielten. Der SCHED_DEADLINE-Server implementiert eine effektivere Ressourcenzuweisung.
- In das DAMON-System (Data Access MONitor), das den Zugriff von Prozessen auf Daten im Arbeitsspeicher verfolgt (zum Beispiel kann man herausfinden, auf welche Speicherbereiche der Prozess zugegriffen hat und welche Bereiche ungenutzt blieben), wurde ein Mechanismus zur automatischen Anpassung der AggressivitÀt des Speicherkonsums basierend auf festgelegten Quoten integriert.
- UnterstĂŒtzung fĂŒr mehrgröĂige Huge Pages im Speicher (mTHP â multi-size Transparent Huge Pages) wurde hinzugefĂŒgt, die eine Speicherzuweisung in Blöcken ermöglichen, die gröĂer sind als die Basis-SeitengröĂe, aber kleiner als die traditionelle THP-Seite.
- UnterstĂŒtzung fĂŒr groĂe Folios (Seitenfolliers, zusammengefasste Seiten im Speicher) fĂŒr anonymen Speicher (nicht an ein Dateisystem gebunden, zum Beispiel ĂŒber malloc zugewiesen) wurde hinzugefĂŒgt. Diese Ănderung zielt darauf ab, die Leistung zu verbessern, indem gröĂere Speicherblöcke beim Zugriff auf nicht zugewiesene Seiten im Speicher (Seitenfehler) zugewiesen werden. Zum Beispiel ermöglichte die Verwendung groĂer Folianten eine Verringerung der Zeit fĂŒr das Neucomposen des Kernels um 5 % (bei einer Reduzierung der Zeit auf Kernel-Ebene um 40 %).
- Der Konfigurationsparameter TRANSPARENT_HUGEPAGE_NEVER wurde zur Kernel-Konfigurationsdatei hinzugefĂŒgt, um die Nutzung von groĂen Seiten im Speicher (Transparent Huge Pages) zu deaktivieren.
- Im Systemaufruf userfaultfd(), der es ermöglicht, Handler fĂŒr Zugriffe auf nicht zugewiesene Seiten im Speicher (Seitenfehler) im Benutzerspeicher zu erstellen, wurde die Operation UFFDIO_MOVE hinzugefĂŒgt, die es ermöglicht, Seiten im virtuellen Adressraum bei der Heap-Kompression zu verschieben, ohne eine Seitenzuteilung durchzufĂŒhren. In durchgefĂŒhrten Tests erlaubte die Anwendung von UFFDIO_MOVE eine Reduzierung der Komprimierungszeit um 40 % im Vergleich zur Verwendung der Operation UFFDIO_COPY.
- Der Mechanismus âKSM Advisorâ wurde hinzugefĂŒgt, der es ermöglicht, die Parameter des Teilsystems zur ZusammenfĂŒhrung identischer Speicherseiten (KSM â Kernel Samepage Merging) automatisch zu optimieren.
- Der Transfer von Ănderungen aus dem Branch Rust-for-Linux wurde fortgesetzt, die sich auf die Nutzung der Programmiersprache Rust als zweite Sprache fĂŒr die Entwicklung von Treibern und Kernelmodulen beziehen (die UnterstĂŒtzung von Rust ist standardmĂ€Ăig nicht aktiviert und fĂŒhrt nicht dazu, dass Rust zu den obligatorischen Build-AbhĂ€ngigkeiten des Kernels gehört). In dieser neuen Version wurden Ănderungen integriert, die ein Rust-Binding ĂŒber der Abstraktionsschicht phylib hinzufĂŒgen, das den Treiber ax88796b_rust verwendet, der die UnterstĂŒtzung fĂŒr die PHY-Schnittstelle des Ethernet-Controllers Asix AX88772A (100 MBit) gewĂ€hrleistet. Funktional ist der Treiber in Rust vollstĂ€ndig Ă€quivalent zum alten Treiber ax88796b, der in C geschrieben ist, und kann mit den Netzwerkarten X-Surf 100 verwendet werden, die mit dem Chip AX88796B ausgestattet sind. FĂŒr die Architektur LoongArch wurde die Möglichkeit geschaffen, Module in der Programmiersprache Rust zu schreiben. Der Ăbergang zu Rust Version 1.74.1 wurde vollzogen.
- Der BPF-Token-Mechanismus wurde hinzugefĂŒgt, der es ermöglicht, die Verarbeitung einzelner BPF-Funktionen selektiv an nicht privilegierte Prozesse im Benutzerspeicher zu delegieren, deren GlaubwĂŒrdigkeit durch einen speziellen Token bestĂ€tigt wird.
- Die FunktionalitÀt des BPF-Programmverifikators wurde erweitert.
- Das Tool perf hat die UnterstĂŒtzung fĂŒr Datenprofiling hinzugefĂŒgt, das es ermöglicht, Lese- und SchreibvorgĂ€nge in Datenstrukturen zu verfolgen, um beispielsweise die am hĂ€ufigsten modifizierten Felder in Strukturen zu identifizieren. Auf Systemen mit Prozessoren, die die Erfassung von SpeichervorgĂ€ngen unterstĂŒtzen (Intel, AMD, ARM), sollte zum Sammeln von Statistiken der Befehl âperf mem recordâ verwendet werden, und zur Ausgabe eines Berichts ĂŒber Zugriffe auf Datenstrukturen âperf annotate âdata-typeâ.
- Die Leistung der Verarbeitung von Systemaufrufen auf der Architektur s390 (IBM Z) wurde optimiert, was zu einer etwa 11%igen Beschleunigung der Eingabe in Systemaufrufe in Tests fĂŒhrte.
- Die Möglichkeit zur Ănderung der GröĂe von Trace-Puffern, die zur Pufferung von Informationen ĂŒber nicht verwendbare Ereignisse verwendet werden, die an den Benutzerraum ĂŒbertragen werden, wurde bereitgestellt.
- Der zuvor als veraltet erklĂ€rte SLAB-Speicherverwaltungsmechanismus wurde entfernt, und im Kernel wird nun ausschlieĂlich SLUB verwendet. Als Grund werden Begleitprobleme, Fehler im Code und die doppelte FunktionalitĂ€t mit dem leistungsfĂ€higeren SLUB-Allocator angegeben.
- Beim Kompilieren des Kernels wurde das Flag â-Wmissing-prototypesâ aktiviert, das Warnungen fĂŒr Aufrufe globaler Funktionen generiert, die keinen Prototypen haben.
- FĂŒr die Architektur RISC-V auf Systemen mit UnterstĂŒtzung der SUSP-SBI-Erweiterung wurde die UnterstĂŒtzung fĂŒr den Wechsel in den Energiesparmodus bei gleichzeitiger Speicherung des Zustands im RAM implementiert. Es wurde die Möglichkeit eines Systemaufrufs riscv_hwprobe() bereitgestellt, um Informationen ĂŒber die unterstĂŒtzten Erweiterungen des RISC-V-Befehlssatzes zu erhalten.
- Virtualisierung und Sicherheit
- Neue Systemaufrufe lsm_list_modules(), lsm_get_self_attr() und lsm_set_self_attr() wurden hinzugefĂŒgt, um eine Liste der geladenen LSM-Module (Linux Security Modules) anzuzeigen und Attribute des LSM-Moduls abzurufen oder festzulegen. Eine neue Struktur lsm_ctx wurde hinzugefĂŒgt, um die Kommunikation im Kontext von LSM zwischen Benutzerraum und Kernel zu ermöglichen.
- Das AppArmor-Subsystem wurde auf die Verwendung des SHA-256-Algorithmus zur ĂberprĂŒfung von Regeln umgestellt, anstelle von SHA-1-Hashes.
- Die Implementierung der Funktion strlcpy() wurde aus dem Kernel entfernt, die im Sommer in die C-Bibliothek Glibc 3.38 aufgenommen wurde. Strlcpy ist eine Alternative zur Funktion strncpy(), die einen Schutz vor PufferĂŒberlĂ€ufen bietet und immer das Nullbyte als Abschlusszeichen setzt.
- Im Hypervisor KVM Die UnterstĂŒtzung fĂŒr das Guest-Memory-Subsystem (guest-first memory) wurde hinzugefĂŒgt, das Speicherverwaltungsfunktionen bereitstellt, die FĂ€higkeiten und Optimierungen ermöglichen, die mit dem Einsatz des gemeinsamen Speicherverwaltungssystems nicht erreichbar sind. Beispielsweise ermöglicht guest_memfd die Zuweisung und Spiegelung eines Speicherbereichs auf das Gastbetriebssystem, der fĂŒr die Host-Umgebung nicht zugĂ€nglich ist, was fĂŒr vertrauliche Berechnungen genutzt werden kann.
- FĂŒr Gastsysteme, die unter dem Hypervisor KVM laufen, wurde die UnterstĂŒtzung fĂŒr den in Intel-Prozessoren bereitgestellten LAM-Modus (Linear Address Masking) aktiviert, der es ermöglicht, Teile der 64-Bit-Zeiger (Bits 57 bis 62) zur Speicherung von nicht adressierungsbezogenen Metadaten zu verwenden.
- Im KVM-Hypervisor wurde die UnterstĂŒtzung fĂŒr 52-Bit (LPA2) physische Adressen fĂŒr ARM64-basierte Systeme hinzugefĂŒgt. FĂŒr x86-Architekturen besteht die Möglichkeit, ohne Emulation von Hyper-V-Hypercalls zu kompilieren, was die KernelgröĂe reduziert.
- Ein iaa (IAA Compression Accelerator)-Treiber wurde hinzugefĂŒgt, um den Vorgang der Datenkompression und -dekompression mit der DEFLATE-Methode zu beschleunigen, indem die Möglichkeiten der Intel Analytics Accelerator (IAA) Krypto-Beschleuniger genutzt werden.
- Auf der Seite der Host-Umgebung wurde UnterstĂŒtzung fĂŒr den Intel TDX (Trusted Domain Extensions)-Mechanismus implementiert, der es bei Verwendung des KVM-Hypervisors ermöglicht, sichere Gastumgebungen zu schaffen, in denen die SpeicherverschlĂŒsselung verwendet wird. virtuelle Maschinen.
- In SELinux wurde der SID-Identifikator 'init' hinzugefĂŒgt, der es ermöglicht, die beim Booten gestarteten Prozesse zu kennzeichnen, die vor der Anwendung der SELinux-Richtlinien gestartet wurden. Die Schnittstelle /sys/fs/selinux zur Verwaltung von SELinux wurde verbessert.
- Netzwerksubsystem
- Eine niedrigere Umstrukturierung der grundlegenden Netzwerk-Datenstrukturen wurde durchgefĂŒhrt, um die Effizienz des Cachings zu erhöhen. Zuvor waren die Felder in den Strukturen des Netzwerkstapels socks, netdev, netns und mibs der Reihenfolge nach angeordnet, was die Nutzung des Caches der CPU einschrĂ€nkte. Die ĂberprĂŒfung der Variablenplatzierung in den Strukturen fĂŒhrte zu einer merklichen Geschwindigkeitssteigerung der TCP-Leistung, da die Nutzung der Cache-Zeilen wĂ€hrend der DatenĂŒbertragung minimiert und der Zugriff auf Variablen optimiert wurde. Bei der Verarbeitung vieler paralleler TCP-Verbindungen kann die Beschleunigung bis zu 40 % betragen.
- Das bpfilter-Untermodul, das BPF zur Paketfilterung verwendet, wurde entfernt. Bpfilter wurde ab Version 4.18 bereitgestellt, konnte jedoch nicht auf ein fĂŒr den breiten Einsatz geeignetes Niveau gebracht werden. In den letzten Jahren wurde der Code von bpfilter im Kernel nicht weiterentwickelt, wobei die Entwicklung von Facebook in einem separaten Repository fortgesetzt wurde.
- AusrĂŒstung
- Im neuen Treiber ist ein neuer DRM-Treiber (Direct Rendering Manager) fĂŒr die Intel Xe-Architektur integriert, die in den Grafikkarten der Intel Arc-Familie und der integrierten Grafik ab den Tiger Lake-Prozessoren verwendet wird. Der Xe-Treiber wird als Grundlage fĂŒr die UnterstĂŒtzung neuer Chips positioniert, ohne an den Code fĂŒr Ă€ltere Plattformen gebunden zu sein. Der Treiber basiert auf einer neuen Architektur, die bestehende Komponenten des DRM-Subsystems aktiver nutzt sowie allgemeine Komponenten des i915-Treibers, die nicht auf bestimmte GPUs beschrĂ€nkt sind, beispielsweise der Code zur Interaktion mit Bildschirmen, das Speichermodell und die Implementierung von execbuf. In Mesa wird die OpenGL- und Vulkan-UnterstĂŒtzung ĂŒber den Xe-Treiber auf Basis der Ănderungen realisiert, die in die bestehenden Mesa-Treiber Iris und ANV eingeflossen sind.
- Im i915-Treiber wurde die UnterstĂŒtzung fĂŒr Intel LunarLake-Chips (Xe 2) weiter vorangetrieben. Die UnterstĂŒtzung fĂŒr Intel Meteor Lake-Chips wurde verbessert.
- Im Nouveau-Treiber wurde eine Konfiguration implementiert, die standardmĂ€Ăig die GSP-Firmwarefunktionen fĂŒr die Interaktion mit NVIDIA-GPUs auf Basis der Mikroarchitekturen Turing und Ampere nutzt, bei denen Initialisierungs- und Steuerungsoperationen von einem separaten Mikrocontroller GSP (GPU System Processor) durchgefĂŒhrt werden. Bei Aktivierung der Konfiguration arbeitet der Treiber ĂŒber den Zugriff auf die Firmware anstelle der direkten Programmierung von Hardwareinteraktionsoperationen.
- Im AMDGPU-Treiber wurde die UnterstĂŒtzung fĂŒr ACPI WBRF und VPE DPM implementiert, die Behandlung der PCIe-Kanalgeschwindigkeit wurde geĂ€ndert, in den fĂŒr die Synchronisierung verwendeten Warteschlangen werden 64-Bit Sequenznummern eingesetzt, spezifische Farbmanagementmechanismen von AMD wurden hinzugefĂŒgt, und ein Problem beimĂberwechseln in den Energiesparmodus wurde gelöst.
- Eine erste Implementierung des Treibers fĂŒr die GPU Broadcom VideoCore 7.1, die auf den Raspberry Pi 5-Platinen verwendet wird, wurde hinzugefĂŒgt.
- Ein Treiber fĂŒr die PowerVR 6-Serie von GPUs basierend auf der Rogue-Mikroarchitektur von Imagination Technologies wurde hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr Thunderbolt/USB4-Controller, die in Chips auf Basis der Intel Lunar Lake-Mikroarchitektur integriert sind, wurde hinzugefĂŒgt.
- Treiber fĂŒr die in SoC Starfive verwendeten Kameras GC2145/GC0308 von GalaxyCore sowie Chips&Media Wave und THine THP7312 wurden hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr NSO (Nintendo Switch Online) Spielcontroller wurde hinzugefĂŒgt â Varianten der alten Controller von SNES (Super Nintendo), Genesis und N64 (Nintendo 64), die fĂŒr die Nintendo Switch angepasst wurden. Ein Treiber fĂŒr die Adafruit Seesaw Gamepads wurde hinzugefĂŒgt. Der xpad-Treiber unterstĂŒtzt jetzt Lenovo Legion Go-Controller.
- Im DTS-Treiber wurde die UnterstĂŒtzung fĂŒr die Gaming-GerĂ€te Powkiddy RK2023, Powkiddy X55 und Anbernic RG351V hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr Audiosysteme, die in NXP i.MX8m MICFIL-, Qualcomm SM8250-, AMD ACP5x-, Intel Arrow Lake-, SM8550-, SM8650- und X1E80100-Chips verwendet werden, wurde hinzugefĂŒgt.
- Das Unternehmen AMD hat Ănderungen zur UnterstĂŒtzung der kommenden Prozessorreihe auf Basis der neuen Mikroarchitektur Zen 5 vorgenommen.
- Die UnterstĂŒtzung fĂŒr ARM64 SoC wurde hinzugefĂŒgt: Qualcomm SM8650 (Snapdragon 8 Gen 3), Qualcomm X1E80100 (Snapdragon X Elite), Samsung Exynos Auto v920, Google GS101 (Tensor G1), MediaTek MT8188 und Unisoc UMS9620 (Tanggula 7).
- Die UnterstĂŒtzung fĂŒr ARM-Plattformen und -GerĂ€te wurde hinzugefĂŒgt: Huashan Pi, Microsoft Lumia, HTC One Mini 2, Motorola MotoG 4G, Huawei Honor 5X/GR5, Anbernic RG351V, Powkiddy RK2023, Powkiddy X55, ComXpress basierend auf Marvell CN913x, Chromebook Lenovo, Asus und Acer basierend auf Mediatek MT8183, Toradex Verdin AM62, Platinen basierend auf Allwinner H616/H618.
- Die UnterstĂŒtzung fĂŒr ARM11 ARMv6K SMP-Prozessoren wurde eingestellt.
Gleichzeitig hat die lateinamerikanische Free Software Foundation eine Variante des vollstĂ€ndig freien Kernels 6.8 â Linux-libre 6.8-gnu, erstellt, die von Firmware- und Treiberkomponenten befreit wurde, die nicht freie Komponenten oder Codeabschnitte enthalten, deren Anwendung durch den Hersteller eingeschrĂ€nkt ist. In der Version 6.8 wurde der Code zur Bereinigung von Blobs in verschiedenen Treibern und Subsystemen aktualisiert. Treiber von Intel qat_420xx, Imagination PowerVR, Intel Xe, Chips&Media Wave5, Intel VSC, Aquantia PHY und Realtek rtw8922a wurden bereinigt. Aufgrund der Entfernung aus dem Kernel wurde die Bereinigung von Treibern wie atmel, hermes, orinoco_usb, libertas_cs und zd1201 eingestellt. Die Bereinigung von Blob-Namen in dts-Dateien (Device Tree) fĂŒr die Architekturen ARM und Aarch64 wurde durchgefĂŒhrt. Probleme mit der Bereinigung des Treibers i915 wurden behoben.
Quelle: opennet.ru
