Nach zwei Monaten der Entwicklung prĂ€sentierte Linus Torvalds die Kernel-Version . Zu den auffĂ€lligsten Ănderungen gehören: die neue Implementierung des exFAT-Dateisystems, das BareUDP-Modul zur Erstellung von UDP-Tunneln, pointerbasierte Authentifizierungssicherheit fĂŒr ARM64, die Möglichkeit, BPF-Programme an LSM-Handler anzuhĂ€ngen, eine neue Implementierung von Curve25519, der "Split-Lock"-Detektor, die BPF-KompatibilitĂ€t mit PREEMPT_RT, die Aufhebung der 80-Zeichen-BeschrĂ€nkung im Code, die BerĂŒcksichtigung der CPU-Temperaturwerte im Task-Scheduler, die Möglichkeit, clone() zur Erzeugung von Prozessen in einer anderen cgroup zu verwenden, und der Schutz vor Schreibzugriffen im Speicher mithilfe von userfaultfd.
In die neue Version wurden 15033 Korrekturen von 1961 Entwicklern aufgenommen,
die PatchgröĂe betrĂ€gt 39 MB (Ănderungen betrafen 11590 Dateien, 570560 Zeilen Code wurden hinzugefĂŒgt,
297401 Zeilen wurden gelöscht). Etwa 41 % aller Ănderungen in 5.7
beziehen sich auf GerĂ€tetreiber, etwa 16 % der Ănderungen betreffen
beziehen sich auf die Aktualisierung von kodera spezifisch fĂŒr Hardwarearchitekturen, 13%
den Netzwerkstack, 4 % auf Dateisysteme und 4 % auf interne
Subsystemen des Kernels.
:
- Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
- Eine neue Implementierung des exFAT-Treibers wurde hinzugefĂŒgt, auf dem aktuellen Code der "sdfat" (2.x), die von Samsung fĂŒr seine Android-Smartphones entwickelt wird. Der zuvor ins Kernel hinzugefĂŒgte Treiber basierte auf veraltetem Samsung-Code (Version 1.2.9) und fiel hinsichtlich der Leistung gegenĂŒber dem neuen Treiber um etwa 10 % zurĂŒck. Es sei daran erinnert, dass die UnterstĂŒtzung von exFAT im Kernel möglich wurde, nachdem Microsoft öffentlich zugĂ€ngliche Spezifikationen bereitgestellt und die kostenlose Nutzung von Patenten fĂŒr exFAT in Linux ermöglicht hat.
- In Btrfs wurde ein neuer ioctl()-Befehl - BTRFS_IOC_SNAP_DESTROY_V2 - implementiert, der das Löschen von Unterverzeichnissen anhand ihrer ID ermöglicht. VollstĂ€ndige UnterstĂŒtzung fĂŒr die Klonierung von Inline-Extents wurde gewĂ€hrleistet. Die Anzahl der Rollback-Punkte bei Umverteilungsoperationen wurde erweitert, was zu verkĂŒrzten Wartezeiten bei der AusfĂŒhrung des Befehls 'balance cancel' fĂŒhrte. Die Bestimmung von RĂŒckverweisen auf Extents wurde beschleunigt (z. B. reduzierte sich die AusfĂŒhrungszeit des Testszenarios von einer Stunde auf mehrere Minuten). Es wurde die Möglichkeit hinzugefĂŒgt, an jedem Inode des Datei-Extent-Baums angehĂ€ngt zu werden. Das Sperrschema, das bei SchreibvorgĂ€ngen auf Unterverzeichnisse und beim Ausschluss von NOCOW verwendet wird, wurde ĂŒberarbeitet. Die Effizienz von fsync fĂŒr Bereiche wurde erhöht.
- In XFS wurde die MetadatenĂŒberprĂŒfung und die AusfĂŒhrung von fsck fĂŒr aktive Partitionen verbessert. Eine Bibliothek zum Wiederaufbau von BĂ€umen (btree) wurde vorgeschlagen, die in Zukunft fĂŒr die Ăberarbeitung von xfs_repair verwendet werden soll und die Möglichkeit der Wiederherstellung ohne Abmontierung der Partition umsetzt.
- In CIFS wurde die experimentelle UnterstĂŒtzung fĂŒr das Anlegen einer Swap-Partition in SMB3-Speichern hinzugefĂŒgt. POSIX-Erweiterungen in readdir, die in der Spezifikation SMB3.1.1 definiert sind, wurden implementiert. Die Schreibgeschwindigkeit fĂŒr Seiten mit einer GröĂe von 64 KB wurde bei aktivem Modus cache=strict und Verwendung von Protokollversionen 2.1+ verbessert.
- Das EXT4-Dateisystem wurde von bmap und iopoll auf die Nutzung von iomap umgestellt.
- In F2FS wurde optionale UnterstĂŒtzung fĂŒr die Datenkompression mittels des zstd-Algorithmus implementiert. StandardmĂ€Ăig wird der LZ4-Algorithmus zur Kompression verwendet. Die UnterstĂŒtzung des Kommandos âchattr -c commitâ wurde hinzugefĂŒgt. Die Anzeige der Montagezeit wurde sichergestellt. Der ioctl F2FS_IOC_GET_COMPRESS_BLOCKS wurde hinzugefĂŒgt, um Informationen ĂŒber die Anzahl der komprimierten Blöcke abzurufen. Kompressionsdaten werden nun ĂŒber statx ausgegeben.
- In der Ceph-Dateisystem wurde die Möglichkeit hinzugefĂŒgt, Dateioperationen (Erstellung und Löschung (unlink)) lokal auszufĂŒhren, ohne auf die Antwort des Servers zu warten (asynchroner Betrieb). Diese Ănderung verbessert beispielsweise signifikant die Leistung des Tools rsync.
- In OVERLAYFS wurde die Möglichkeit hinzugefĂŒgt, virtiofs als oberstes Dateisystem zu verwenden.
- wurde der Code zur Pfadnavigation in VFS, der Code zum Parsen von symbolischen Links umgeschrieben und die Navigation von EinhÀngepunkten vereinheitlicht.
- Im SCSI-Subsystem dĂŒrfen unprivilegierte Benutzer Kommandos ZBC ausfĂŒhren.
- In dm_writecache wurde die Möglichkeit zur schrittweisen Bereinigung des Caches basierend auf dem Parameter max_age, der die maximale Lebensdauer eines Blocks angibt, hinzugefĂŒgt.
- In dm_integrity wurde die UnterstĂŒtzung fĂŒr den Befehl âdiscardâ hinzugefĂŒgt.
- In null_blk wurde die UnterstĂŒtzung fĂŒr Fehlerinjektionen zur Simulation von AusfĂ€llen wĂ€hrend der Tests hinzugefĂŒgt.
- Es besteht die Möglichkeit, udev-Benachrichtigungen ĂŒber Ănderungen der GröĂe des BlockgerĂ€ts zu senden.
- Netzwerksubsystem
- In Netfilter wurden Funktionen hinzugefĂŒgt, die die Verarbeitung groĂer Zuordnungsliste (nftables set), in denen eine ĂberprĂŒfung von Subnetzen, Netzwerkports, Protokollen und MAC-Adressen erforderlich ist, erheblich beschleunigen.
Optimierungen Im Modul nft_set_pipapo (PIle PAcket POlicies), das die Zuordnung des Paketinhalts zu den in den Filterregeln verwendeten beliebigen Zustandsbereichen, wie IP-Bereichen und Netzwerkports, behandelt (nft_set_rbtree und nft_set_hash manipulieren die Zuordnung von Intervallen und das direkte Spiegeln von Werten). Die mit 256-Bit AVX2-Instruktionen vektorisierte Version von pipapo auf einem AMD Epyc 7402-Prozessor zeigte eine Leistungssteigerung von 420 % beim Parsen von 30.000 EintrĂ€gen, die Port-Protokoll-Bindungen umfassen. Die Steigerung bei der Zuordnung von Subnetz- und Portnummernbindungen beim Parsen von 1.000 EintrĂ€gen betrug 87 % fĂŒr IPv4 und 128 % fĂŒr IPv6. - Das bareudp-Modul ermöglicht die Kapselung verschiedener L3-Protokolle wie MPLS, IP und NSH in einem UDP-Tunnel.
- Die Integration von MPTCP (MultiPath TCP)-Komponenten wurde fortgesetzt, eine Erweiterung des TCP-Protokolls zur Organisation von TCP-Verbindungen, die Pakete gleichzeitig ĂŒber mehrere Routen durch verschiedene Netzwerk Schnittstellen mit unterschiedlichen IP-Adressen liefern.
- UnterstĂŒtzung fĂŒr Hardwarebeschleunigungsmechanismen zur Kapselung von Ethernet-Frames in 802.11 (Wi-Fi).
- Beim Verschieben eines GerĂ€ts von einem Netzwerk-Namespace in einen anderen wurde die Anpassung der Zugriffsrechte und des EigentĂŒmers der entsprechenden Dateien in sysfs sichergestellt.
- Nutzern ohne Root-Rechte wurde die Verwendung des Flags SO_BINDTODEVICE ermöglicht.
- Der dritte Teil der Patches wurde angenommen, der das Werkzeug ethtool von ioctl() auf eine Verwendung der Netlink-Schnittstelle umstellt. Die neue Schnittstelle vereinfacht das HinzufĂŒgen von Erweiterungen, verbessert das Fehlermanagement, ermöglicht die Versendung von Benachrichtigungen bei StatusĂ€nderungen, vereinfacht die Interaktion zwischen Kernel und Benutzerspace und verringert die Anzahl synchronisierter benannter Listen.
- Die Möglichkeit zur Nutzung spezieller Hardwarebeschleuniger fĂŒr Verbindungsverfolgungsoperationen wurde hinzugefĂŒgt.
- In netfilter wurde ein Hook fĂŒr die Anschlussclassifizierung ausgehender Pakete (egress) hinzugefĂŒgt, der den zuvor vorhandenen Hook fĂŒr eingehende Pakete (ingress) ergĂ€nzt.
- In Netfilter wurden Funktionen hinzugefĂŒgt, die die Verarbeitung groĂer Zuordnungsliste (nftables set), in denen eine ĂberprĂŒfung von Subnetzen, Netzwerkports, Protokollen und MAC-Adressen erforderlich ist, erheblich beschleunigen.
- Virtualisierung und Sicherheit
- Eine hardwarebasierte Implementierung der Zeigerauthentifizierung wurde hinzugefĂŒgt (), die spezielle ARM64-CPU-Anweisungen verwendet, um Angriffe abzuwehren, die auf RĂŒcksprungorientiertem Programmieren (ROP) basieren, bei denen der Angreifer nicht versucht, eigenen Code im Speicher zu platzieren, sondern mit bereits in geladenen Bibliotheken vorhandenen Maschinenanweisungen arbeitet, die mit einer RĂŒcksprunganweisung enden. Der Schutz besteht in der Verwendung digitaler Signaturen zur ĂberprĂŒfung von RĂŒcksprungadressen auf Kernel-Ebene. Die Signatur wird in den ungenutzten oberen Bits des Zeigers gespeichert. Im Gegensatz zu softwarebasierten Implementierungen werden die Erstellung und ĂberprĂŒfung digitaler Signaturen mit speziellen CPU-Anweisungen durchgefĂŒhrt.
- die Möglichkeit, einen Speicherbereich vor Schreibzugriffen mit dem Systemaufruf userfaultfd() zu schĂŒtzen, der zur Verarbeitung von Seitenfehlern (Zugriff auf nicht zugewiesene Speicherseiten) im Benutzerspeicher gedacht ist. Die Idee besteht darin, userfaultfd() auch zur Verfolgung von Zugriffsverletzungen auf als schreibgeschĂŒtzt markierte Seiten zu nutzen und einen Handler aufzurufen, der auf solche Schreibversuche reagieren kann (zum Beispiel zur Verarbeitung von Ănderungen beim Erstellen von Live-Snapshots aktiver Prozesse, zur Fixierung des Zustands beim Speichern von Speicherabbildern auf die Festplatte, zur Implementierung von gemeinsamem Speicher, zur Ăberwachung von Ănderungen im Speicher). Die FunktionalitĂ€t zur Anwendung von mprotect() in Verbindung mit dem Signalhandler SIGSEGV, arbeitet jedoch deutlich schneller.
- In SELinux wurde die Option «checkreqprot», die die ĂberprĂŒfung des Speicherschutzes bei der Verarbeitung von Regeln deaktivierte (was die Verwendung ausfĂŒhrbarer Speicherbereiche unabhĂ€ngig von den in den Regeln festgelegten Anforderungen erlaubte), als veraltet erklĂ€rt. Symbolischen Links in kernfs ist das Vererben des Kontexts von ĂŒbergeordneten Verzeichnissen erlaubt.
- Umfang Modul , das das Anheften von BPF-Programmen an beliebige LSM-Hooks im Kernel ermöglicht. Diese Ănderung ermöglicht die Erstellung von LSM-Modulen (Linux Security Module) in Form von BPF-Programmen zur Lösung von Audit- und mandatorischen Zugriffskontrollaufgaben.
- Optimierung der Leistung von /dev/random durch die paketweise Ăbertragung von CRNG-Werten anstelle einzelner RNG-Anweisungen. Die FunktionalitĂ€t von getrandom und /dev/random auf ARM64-Systemen, die RNG-Anweisungen bereitstellen, wurde verbessert.
- Implementierung der elliptischen Kurve Curve25519 auf eine Variante aus der Bibliothek , fĂŒr die Mathematische Beweise der formalen Verifikation von ZuverlĂ€ssigkeit.
- Mechanismus zur Information ĂŒber freie Speicherseiten. Mit diesem Mechanismus können Gast-Systeme der Host-System Informationen ĂŒber Seiten ĂŒbermitteln, die nicht mehr genutzt werden, und diese Seiten kann der Host zurĂŒckfordern.
- In vfio/pci UnterstĂŒtzung von SR-IOV (Single-Root I/O Virtualization).
- Speicher und Systemdienste
- Von 80 bis 100 Zeichen EinschrĂ€nkung fĂŒr die maximale LĂ€nge von Zeilen in Quelltexten. Entwickler werden weiterhin empfohlen, sich an der Grenze von 80 Zeichen pro Zeile zu orientieren, aber dies ist jetzt kein striktes Limit mehr. Das Ăberschreiten des Zeilenlimits fĂŒhrt nun nur dann zu einer Warnung wĂ€hrend des Builds, wenn das Tool checkpatch mit der Option "âstrict" ausgefĂŒhrt wird. Diese Ănderung ermöglicht es den Entwicklern, sich weniger um das Spacing zu kĂŒmmern und sich freier bei der Ausrichtung des Codes zu fĂŒhlen, sowie ĂŒbermĂ€Ăige ZeilenumbrĂŒche, Verstehen des Codes und die Suche behindern.
- UnterstĂŒtzung des gemischten Bootmodus EFI, der es ermöglicht, einen 64-Bit-Kernel aus einer 32-Bit-Firmware, die auf einem 64-Bit-CPU lĂ€uft, ohne Verwendung eines spezialisierten Bootloaders zu laden.
- System zur Erkennung und Debugging von Split-Locks (««), die beim Zugriff auf nicht ausgerichtete Daten im Speicher auftreten, da bei der AusfĂŒhrung atomarer Anweisungen Daten zwei CPU-Cache-Linien ĂŒberschreiten. Solche Locks fĂŒhren zu erheblichen LeistungseinbuĂen (bis zu 1000 Zyklen langsamer als atomare Operationen, bei denen die Daten in eine Cache-Linie fallen). AbhĂ€ngig vom Bootparameter «split_lock_detect» kann der Kernel solche Locks zur Laufzeit erkennen und Warnungen ausgeben oder ein SIGBUS-Signal an die Anwendung senden, die den Lock verursacht hat.
- Im Task-Scheduler wird die Ăberwachung der Temperaturen von TemperaturfĂŒhlern gewĂ€hrleistet () und die Ăberwachung der Ăberhitzung bei der AusfĂŒhrung von Aufgaben wurde implementiert. Anhand der bereitgestellten Statistiken kann der Temperaturregler (thermal governor) die maximale CPU-Frequenz bei Ăberhitzung anpassen, und der Task-Scheduler berĂŒcksichtigt jetzt den RĂŒckgang der Rechenleistung aufgrund einer solchen Frequenzreduzierung bei der Planung von AufgabenausfĂŒhrungen (frĂŒher reagierte der Scheduler mit einer gewissen Verzögerung auf FrequenzĂ€nderungen und basierte eine Zeit lang auf ĂŒberhöhten Annahmen ĂŒber verfĂŒgbare Rechenressourcen).
- Im Task-Scheduler werden zur Lastverfolgung eingesetzt, die eine korrekte Bewertung der Last unabhĂ€ngig von der aktuellen CPU-Frequenz ermöglichen. Die Ănderung ermöglicht eine genauere Vorhersage des Verhaltens von Aufgaben unter Bedingungen dynamischer Spannungs- und FrequenzĂ€nderungen der CPU. Zum Beispiel wird eine Aufgabe, die bei 1000 MHz 1/3 der CPU-Ressourcen verbrauchte, bei einer Frequenzreduzierung auf 500 MHz 2/3 der Ressourcen verbrauchen, was zuvor zu falschen Annahmen ĂŒber eine totale Ausnutzung (d.h. Aufgaben fĂŒr den Scheduler erschienen gröĂer nur aufgrund der Frequenzsenkung, was zu falschen Entscheidungen im schedutil cpufreq governor fĂŒhrte) fĂŒhrte.
- Der Intel P-state-Treiber, der fĂŒr die Auswahl der Leistungsmodi verantwortlich ist, wurde auf die Nutzung .
- Implementiert wurde die Möglichkeit, das BPF-Subsystem im Echtzeitkern (PREEMPT_RT) zu verwenden. FrĂŒher musste BPF beim Aktivieren von PREEMPT_RT deaktiviert werden.
- Ein neuer Typ von BPF-Programmen wurde hinzugefĂŒgt â BPF_MODIFY_RETURN, die an Funktionen im Kernel angehĂ€ngt werden können, um den von dieser Funktion zurĂŒckgegebenen Wert zu Ă€ndern.
- HinzugefĂŒgt die Verwendung des Systemaufrufs clone3() zur Erstellung eines Prozesses in einer cgroup, die sich von der der ĂŒbergeordneten cgroup unterscheidet, wodurch der ĂŒbergeordnete Prozess EinschrĂ€nkungen anwenden und das Accounting sofort nach der Erzeugung eines neuen Prozesses oder Threads aktivieren kann. Zum Beispiel kann der Dienstmanager neue Dienste direkt in separate cgroups zuweisen, und neue Prozesse, die in âeingefroreneâ cgroups verschoben werden, werden sofort angehalten.
- in Kbuild UnterstĂŒtzung der Umgebungsvariable âLLVM=1â zum Wechsel in das Clang/LLVM-Toolset beim Kernbau. Die Anforderungen an die Version von binutils wurden erhöht (2.23).
- In debugfs wurde der Abschnitt /sys/kernel/debug/kunit/ mit den Ergebnissen der Kunit-Tests hinzugefĂŒgt.
- Der Parameter zum Laden des Kernels pm_debug_messages wurde hinzugefĂŒgt (analog zu /sys/power/pm_debug_messages), der die Ausgabe von Debug-Informationen ĂŒber das Systemmanagement der Energieversorgung enthĂ€lt (nĂŒtzlich zur Fehlersuche bei Problemen mit dem Schlaf- und Ruhezustand).
- In die Schnittstelle fĂŒr asynchrone Eingabe/Ausgabe unterstĂŒtzung wurde hinzugefĂŒgt fĂŒr und .
- Die Profilierung von cgroups wurde durch das perf-Werkzeug verbessert. Zuvor konnte perf Aufgaben nur in einer bestimmten cgroup profilieren und wusste nicht, zu welcher cgroup die derzeitige Probe gehörte. Jetzt erhĂ€lt perf Informationen ĂŒber die cgroup fĂŒr jede Probe, sodass mehr als eine cgroup profiliert und nach cgroup in den Berichten sortiert werden kann.
cgroup in den Berichten. - In cgroupfs, dem Pseudo-Dateisystem zur Verwaltung von cgroups, wurde die UnterstĂŒtzung fĂŒr erweiterte Attribute (xattrs) hinzugefĂŒgt, mit denen beispielsweise zusĂ€tzliche Informationen fĂŒr Handler im Benutzerspeicher hinterlassen werden können.
- Im cgroup-Speichercontroller wurde die UnterstĂŒtzung fĂŒr die rekursive Schutzvorkehrung des Wertes âmemory.lowâ implementiert, der die minimal zur VerfĂŒgung stehende Menge an Arbeitsspeicher fĂŒr Gruppenmitglieder regelt. Bei der Montage einer cgroup-Hierarchie mit der Option âmemory_recursiveprotâ wird der fĂŒr die unteren Knoten festgelegte Wert von âmemory.lowâ automatisch auf alle untergeordneten Knoten verteilt.
- Der Uacce-Framework (Unified/User-space-access-intended Accelerator Framework) ermöglicht den gemeinsamen Zugriff auf virtuelle Adressen (SVA, Shared Virtual Addressing) zwischen CPU und PeripheriegerÀten, was Hardware-Beschleunigern den Zugriff auf Datenstrukturen im Haupt-CPU ermöglicht.
- Hardware-Architekturen
- FĂŒr die ARM-Architektur wurde die Möglichkeit zur Hot-Plugging von Speicher implementiert.
- FĂŒr die RISC-V-Architektur wurde die UnterstĂŒtzung fĂŒr Hot-Plugging und das Hot-Plugging von CPUs (CPU hotplug) hinzugefĂŒgt. FĂŒr 32-Bit-RISC-V wurde ein eBPF JIT implementiert.
- Die Möglichkeit, 32-Bit-ARM-Systeme fĂŒr die AusfĂŒhrung von KVM-GĂ€beumgebungen zu verwenden, wurde entfernt.
- Die 'fiktive' NUMA-Implementierung fĂŒr die s390-Architektur wurde entfernt, da fĂŒr diese keine Nutzungsszenarien gefunden wurden, die eine Leistungssteigerung ermöglichen.
- FĂŒr ARM64 wurde die UnterstĂŒtzung fĂŒr die AMU-Erweiterung (Activity Monitors Unit) eingefĂŒhrt, die in ARMv8.4 definiert ist und LeistungszĂ€hler bereitstellt, die zur Berechnung von Frequenzskalierungsfaktoren im Scheduler verwendet werden.
- AusrĂŒstung
- UnterstĂŒtzung von vDPA-GerĂ€ten, bei denen ein Datenaustauschkanal verwendet wird, der den Virtio-Spezifikationen entspricht. vDPA-GerĂ€te können sowohl physisch angeschlossene Hardware als auch softwareemulierte virtuelle GerĂ€te sein.
- Im GPIO-Subsystem wurde ein neuer ioctl()-Befehl fĂŒr die Ăberwachung von Ănderungen eingefĂŒhrt, der es ermöglicht, den Prozess ĂŒber den Zustand einer beliebigen GPIO-Leitung zu informieren. Als Beispiel fĂŒr die Verwendung dieses neuen Befehls die Utility gpio-watch.
- Im DRM-Treiber i915 fĂŒr Intel-Grafikkarten wurde standardmĂ€Ăig die UnterstĂŒtzung fĂŒr Tigerlake-Chips (âGen12â) hinzugefĂŒgt und die anfĂ€ngliche UnterstĂŒtzung fĂŒr die Steuerung der OLED-Hintergrundbeleuchtung verbessert. AuĂerdem wurde die UnterstĂŒtzung fĂŒr Ice Lake, Elkhart Lake, Baytrail und Haswell-Chips verbessert.
- Im Treiber amdgpu die Möglichkeit zur Laden von Firmware in den USBC-Chip fĂŒr ASIC. Die UnterstĂŒtzung fĂŒr AMD Ryzen 4000 âRenoirâ-Chips wurde verbessert. Die Steuerung von OLED-Panels wurde hinzugefĂŒgt. Der Status der Firmware wird in debugfs angezeigt.
- Im DRM-Treiber vmwgfx fĂŒr VMware-Virtualisierungssysteme wurde die Möglichkeit hinzugefĂŒgt, OpenGL 4 in Gastsystemen zu verwenden (zuvor wurde OpenGL 3.3 unterstĂŒtzt).
- Ein neuer DRM-Treiber tidss fĂŒr das Display-System der TI Keystone-Plattform wurde hinzugefĂŒgt.
- Treiber fĂŒr LCD-Panels wurden hinzugefĂŒgt: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech RK101II01D-CT, Frida FRD350H54004.
- Im Energiemanagementsystem die UnterstĂŒtzung fĂŒr die Intel Jasper Lake (JSL) Plattform auf Atom-Basis.
- Die UnterstĂŒtzung fĂŒr den Pinebook Pro Laptop auf Basis des Rockchip RK3399, des Pine64 PineTab-Tablets und des Smartphones auf Basis des Allwinner A64.
- Die UnterstĂŒtzung neuer Audiocodecs und -chips wurde hinzugefĂŒgt:
Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc. - Die UnterstĂŒtzung fĂŒr ARM-Platinen und die Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron âsl28â, 11 Varianten der i.MX6 TechNexion Pico-Platine, drei neue Toradex Colibri-Varianten, Samsung S7710 Galaxy Xcover 2 auf Basis von ST-Ericsson u8500, DH Electronics DHCOM SoM und PDK2, Renesas M3ULCB, Hoperun HiHope, Linutronix Testbox v2, PocketBook Touch Lux 3-Platinen wurde hinzugefĂŒgt.
Quelle: opennet.ru
