Veröffentlichung des Linux-Kernels 5.7

Nach zwei Monaten der Entwicklung prĂ€sentierte Linus Torvalds vor die Kernel-Version Linux 5.7. 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.

Haupt- Neuheiten:

  • Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
    • Eine neue Implementierung des exFAT-Treibers wurde hinzugefĂŒgt, die basiert 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 veröffentlicht ö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.
    • Neu geschrieben 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 ist die Verwendung dĂŒrfen unprivilegierte Benutzer Kommandos ZBC ausfĂŒhren.
    • In dm_writecache wurde 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 hinzugefĂŒgt wurde die UnterstĂŒtzung fĂŒr den Befehl „discard“ hinzugefĂŒgt.
    • In null_blk hinzugefĂŒgt wurde die UnterstĂŒtzung fĂŒr Fehlerinjektionen zur Simulation von AusfĂ€llen wĂ€hrend der Tests hinzugefĂŒgt.
    • HinzugefĂŒgt Es besteht die Möglichkeit, udev-Benachrichtigungen ĂŒber Änderungen der GrĂ¶ĂŸe des BlockgerĂ€ts zu senden.
  • Netzwerksubsystem
    • In Netfilter wurden ÄnderungenFunktionen 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 wurden 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.
    • HinzugefĂŒgt 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.
    • HinzugefĂŒgt 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 hinzugefĂŒgt wurde ein Hook fĂŒr die Anschlussclassifizierung ausgehender Pakete (egress) hinzugefĂŒgt, der den zuvor vorhandenen Hook fĂŒr eingehende Pakete (ingress) ergĂ€nzt.
  • Virtualisierung und Sicherheit
    • Eine hardwarebasierte Implementierung der Zeigerauthentifizierung wurde hinzugefĂŒgt (Pointer Authentication), 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.
    • HinzugefĂŒgt 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 ist Ă€quivalent 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 ein neuer Display-Engine (DC) fĂŒr AMD APU der Serie HD 7000 (Sea Islands, GCN 1.1) hinzugefĂŒgt. Modul KRSI, 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.
    • DurchgefĂŒhrt wurde 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 ersetzt auf eine Variante aus der Bibliothek HACL, fĂŒr die angegeben Mathematische Beweise der formalen Verifikation von ZuverlĂ€ssigkeit.
    • HinzugefĂŒgt 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 hinzugefĂŒgt UnterstĂŒtzung von SR-IOV (Single-Root I/O Virtualization).
  • Speicher und Systemdienste
    • Von 80 bis 100 Zeichen erhöht 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 Manipulationen Spacing zu kĂŒmmern und sich freier bei der Ausrichtung des Codes zu fĂŒhlen, sowie zu verhindern, ĂŒbermĂ€ĂŸige ZeilenumbrĂŒche, die das Verstehen des Codes und die Suche behindern.
    • HinzugefĂŒgt 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.
    • StandardmĂ€ĂŸig aktiviert System zur Erkennung und Debugging von Split-Locks («split lock«), 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 (Thermal Pressure) 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 invariante Kennzahlen 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 schedutil.
    • 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 Möglichkeit 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 hinzugefĂŒgt 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 io_uring unterstĂŒtzung wurde hinzugefĂŒgt fĂŒr splice() und atomarer Pufferwahl.
    • 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 hinzugefĂŒgtwurde 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.
    • HinzugefĂŒgt 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
    • HinzugefĂŒgt 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 ein 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 wurde vorgeschlagen die Utility gpio-watch.
    • Im DRM-Treiber i915 fĂŒr Intel-Grafikkarten eingeschlossen 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 hinzugefĂŒgt 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 hinzugefĂŒgt 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 PinePhone 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

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster