Linux 6.14

Linux 6.14

Nach zwei Monaten der Entwicklung prĂ€sentierte Linus Torvalds vor Die Veröffentlichung des Linux-Kernels 6.14. Zu den bemerkenswertesten Änderungen gehören: der ntsync-Treiber mit Synchronisierungsprimtiven fĂŒr Windows NT, die Anpassung der Lastverteilung von LesevorgĂ€ngen in Btrfs RAID1, UnterstĂŒtzung fĂŒr Reflink in XFS im Echtzeitmodus, die Möglichkeit von nicht zwischengespeichertem, gepuffertem Ein-/Ausgabe, dmem-Cgroup zur Begrenzung des GPU-Speichers, die Nutzung von io_uring in FUSE, die Delegierung von Attributen in NFS, UnterstĂŒtzung fĂŒr atomare SchreibvorgĂ€nge im Device Mapper, Beschleunigung von symbolischen Links, Verwaltung der ScriptausfĂŒhrungsrechte, UnterstĂŒtzung fĂŒr Qualcomm Snapdragon 8 Elite-Chips, Treiber fĂŒr NPU AMD.

In die neue Version wurden 12115 Korrekturen von 1984 Entwicklern ĂŒbernommen, die PatchgrĂ¶ĂŸe betrĂ€gt 39 MB (Änderungen betreffen 10170 Dateien, 531586 Codezeilen wurden hinzugefĂŒgt und 235999 Zeilen entfernt). In der vorherigen Version gab es 14172 Korrekturen von 2086 Entwicklern, die PatchgrĂ¶ĂŸe betrug 46 MB. Etwa 41% aller in 6.14 eingefĂŒhrten Änderungen betreffen GerĂ€tetreiber, ungefĂ€hr 13% haben mit der Aktualisierung von architekturspezifischem Code zu tun, 14% beziehen sich auf das Netzwerk-Stack, 7% auf die Dateisysteme und 4% auf die internen Subsysteme des Kernels.

Haupt- Neuheiten:

  • Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
    • Im Btrfs-Dateisystem ein UnterstĂŒtzung neuer Methoden zur Lastverteilung von LesevorgĂ€ngen zwischen den in das RAID1-Array eingebundenen Speicherlaufwerken. Neben der bisherigen Lastverteilung basierend auf Prozess-IDs (pid) werden in der neuen Version drei neue Lastverteilungsmodi angeboten: „rotation“ (gleichmĂ€ĂŸige Lastverteilung ĂŒber alle Speicher, dieser Modus ist standardmĂ€ĂŸig aktiviert); „latency“ (Verteilung unter BerĂŒcksichtigung der Latenzen, kann bei AusfĂ€llen oder instabiler Leistung der Speicher nĂŒtzlich sein); devid (manuelle Steuerung). FĂŒr die Änderung des Lastverteilungsmodus wurde hinzugefĂŒgt Schnittstelle /sys/fs/btrfs//read_policy. Zu den weiteren Änderungen in Btrfs gehören die Implementierung ioctl FS_IOC_READ_VERITY_METADATA.
    • HinzugefĂŒgt Modus der nicht zwischengespeicherten, gepufferten Ein-/Ausgabe, bei dem Daten sofort aus dem Seiten-Cache entfernt werden, nachdem die Lese- oder Schreiboperationen abgeschlossen sind. Diese Änderung kann nĂŒtzlich sein, wenn sehr schnelle SpeichergerĂ€te verwendet werden, deren Caching in RAM ĂŒberflĂŒssig ist. FĂŒr solche GerĂ€te ermöglicht der neue Modus, ĂŒbermĂ€ĂŸigen Speicherverbrauch durch den Seiten-Cache zu vermeiden, ohne auf die komplizierte API der direkten Ein-/Ausgabe (Direct I/O) zurĂŒckgreifen zu mĂŒssen.
    • In fsnotify, dem Mechanismus zur Überwachung von Änderungen im Dateisystem, hinzugefĂŒgt Neues Ereignis FS_PRE_ACCESS, das in der Phase vor dem Zugriff auf den Inhalt einer Datei generiert wird. Das Ereignis wird synchron verarbeitet, d. h. der Kernel sendet das Ereignis und wartet auf eine Antwort. Wenn die Antwort empfangen wird, wird die Operation ausgefĂŒhrt; bei einem Fehler gibt der Systemaufruf einen Fehlercode an den Benutzerraum zurĂŒck. Mit FS_PRE_ACCESS kann im Benutzerraum beispielsweise das FĂŒllen einer Datei organisiert werden, wenn die Daten im langsamen Speicher bereitstehen.
    • In das FUSE-Subsystem, das die Implementierung von Dateisystemen im Benutzerraum ermöglicht, wurde hinzugefĂŒgt Support der Datenaustausch zwischen dem Kernel und dem Handler im Benutzerraum unter Verwendung des io_uring-I/O-Mechanismus. Die Änderung ermöglicht eine höhere FUSE-Leistung durch Reduzierung der Kontextwechsel zwischen Kernel und Benutzerraum.
    • Im XFS-Dateisystem wurde hinzugefĂŒgt die Möglichkeit die Nutzung von Reverse-Mapping (rmap, RĂŒckwĂ€rtige Abbildung) im Betrieb mit vorhersehbaren Latenzen ("Realtime-GerĂ€t"). Mit Reverse-Mapping kann bestimmt werden, welche Datei in einem bestimmten Block auf dem Speichermedium abgelegt ist. Mit rmap wurde im XFS fĂŒr den Realtime-Modus die UnterstĂŒtzung der reflink-Operation implementiert, die das Erstellen von Datei-Kopien durch Klonen der Metadaten der Datei und das Erstellen eines Links zu bereits vorhandenen Daten ohne deren tatsĂ€chliche Kopie ermöglicht.
    • Im VFS wurde implementiert die Zwischenspeicherung der GrĂ¶ĂŸe von symbolischen Links, die die AusfĂŒhrung der Operation readlink um 1,5 % beschleunigte (im Test mit /initrd.img in ext4). Die Zwischenspeicherung ist in den Dateisystemen ext4 und tmpfs aktiviert.
    • In die Implementierung von NFSv4.2 wurde die UnterstĂŒtzung fĂŒr die Delegierung von Datei-Attributen, die es ermöglicht, solche Datei-Attribute wie Änderungszeit (mtime) zur Seite des NFS-Clients zu verwalten, ohne die Änderungen auf den Server zurĂŒcksetzen zu mĂŒssen. In NFS wurde auch die UnterstĂŒtzung des Protokolls "LOCALIO“, das feststellt, ob der NFS-Client und der NFS-Server auf demselben Host sind, um entsprechende Optimierungen zu nutzen, wie die Nutzung von Direct I/O durch den Client.
    • Die Leistung von Leseoperationen in den Dateisystemen NETFS, CIFS und AFS (Andrew File System) wurde verbessert.
    • In Squashfs ein neuer Display-Engine (DC) fĂŒr AMD APU der Serie HD 7000 (Sea Islands, GCN 1.1) hinzugefĂŒgt. Betriebsmodus fĂŒr das direkte Laden von Blöcken in den Seiten-Cache (SQUASHFS_FILE_DIRECT), der es ermöglicht, ohne separaten Cache read_page auszukommen. Diese Änderung hat den Speicherbedarf bei der Arbeit mit Squashfs reduziert.
    • Im Systemaufruf statx() wurde implementiert der FLAG STATX_DIO_READ_ALIGN, um das erforderliche Alignment fĂŒr Leseoperationen aus einer Datei zu bestimmen.
    • Im Dateisystem Bcachefs wurde aktualisiert und stabilisiert das Format der DatentrĂ€gerstrukturen. Alle weiteren Änderungen am Format werden als optional eingestuft und sollen in Form von optionalen ErgĂ€nzungen umgesetzt werden. Die Geschwindigkeit der IntegritĂ€tsprĂŒfungen des Dateisystems wurde erheblich erhöht. DarĂŒber hinaus wurde die FunktionalitĂ€t im Nur-Lese-Modus in Bcachefs verbessert; Probleme, die zu Zugriffen auf Speicher nach dessen Freigabe fĂŒhrten (Use after free), wurden behoben; Probleme mit Reflink-Zeigern in fsck wurden gelöst; die Verarbeitung von Transaktionsneustarts wurde korrigiert.
    • Wurde wiederhergestellt das Modul md-linear, das fĂŒr die ZusammenfĂŒhrung von BlockgerĂ€ten vorgesehen ist. Dieses Modul wurde zuvor als veraltet erklĂ€rt und aus dem Kernel 6.8 entfernt, stellte sich jedoch als gefragt heraus und wurde daher nun wiederhergestellt.
    • Die Dateisysteme F2FS und SQUASHFS wurden auf die Verwendung von 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 (Seiten-Folios) umgestellt.
    • Im Treiber null_blk wurde das Attribut „rotational“ implementiert, das ĂŒber configfs gesetzt wird und die Simulation der Arbeit mit einem GerĂ€t auf Basis von Rotationsdisketten ermöglicht, um die Tests von Kernel-Funktionen zu erleichtern.
    • Im Device-Mapper-System und in den Modulen dm-mirror, dm-io, dm-table, dm-linear, dm-stripe und dm-raid1 wurde wurde die UnterstĂŒtzung fĂŒr atomare SchreibvorgĂ€nge hinzugefĂŒgt.
  • Speicher und Systemdienste
    • Mechanismus wurde abgeschlossen, Die Integration des Treibers ntsync, der das ZeichengerĂ€t /dev/ntsync und eine Sammlung von Synchronisationsprimitive implementiert, die im Windows NT-Kernel verwendet werden. Die Implementierung solcher Primitive auf der Kernel-Ebene kann die Leistung von Windows-Spielen erheblich steigern, die mithilfe von Wine ausgefĂŒhrt werden. Die Leistungssteigerung wird durch den Wegfall von Overhead-Kosten erreicht, die mit der Verwendung von RPC im Benutzerspeicher verbunden sind. Die Schaffung eines separaten Treibers fĂŒr den Linux-Kernel erklĂ€rt sich aus den Schwierigkeiten bei der korrekten Implementierung des NT-Synchronisations-APIs ĂŒber bestehende Primitive im Kernel.
    • Ein neuer cgroup-Controller wurde hinzugefĂŒgt DMEM fĂŒr die separate Buchhaltung von Speicherbereichen von GerĂ€ten wie GPUs. DMEM ermöglicht es, separate cgroups fĂŒr verschiedene Aufgaben zu erstellen, die mit der GPU arbeiten, damit sie unabhĂ€ngig voneinander ausgefĂŒhrt werden können. Die neue Funktion löst das Problem des erzwungenen Abbruchs von GPU-Operationen bei Erschöpfung des verfĂŒgbaren Speichers, indem der Speicher, der von der GPU und von den Treibern der CPU verwendet wird, in separaten cgroups berĂŒcksichtigt wird.
    • Optimierungen fĂŒr die Skalierung der Flush-Operation des TLB (Translation Lookaside Buffer), das zur Beschleunigung der Umwandlung virtueller Adressen in physische Adressen verwendet wird, wurden implementiert. Die hinzugefĂŒgten Optimierungen beschrĂ€nken sich auf die verzögerte Aktualisierung bestimmter Datenstrukturen wĂ€hrend des Kontextwechsels, was die Leistung bei einigen Tests verbessert.
    • Die Leistung des Mechanismus MGLRU (Multi-Generational LRU), das zur Bestimmung verwendet wird, welche Speicherseiten verwendet werden und welche in den Auslagerungsbereich verschoben werden können.
    • Fortgesetzt Übertragung von Änderungen aus dem Branch Rust-for-Linux, die mit der Verwendung der Programmiersprache Rust als zweite Sprache fĂŒr die Entwicklung von Treibern und Kernelmodulen verbunden sind (Rust-UnterstĂŒtzung ist standardmĂ€ĂŸig nicht aktiviert und fĂŒhrt nicht dazu, dass Rust zu den zwingenden Build-AbhĂ€ngigkeiten des Kerns gehört). Die Möglichkeit wurde bereitgestellt, im Kerncode das Makro „derive(CoercePointee)“ zu verwenden, das die Verwendung von Smart-Pointern mit Trait-Objekten ermöglicht. In den Kern aufgenommen Rust-Wraps fĂŒr PCI, Plattformen, Open Firmware, symbolische GerĂ€te und einige Eingabe-/Ausgabefunktionen. Greg Kroah-Hartman, der fĂŒr die UnterstĂŒtzung der stabilen Kernel-Version des Linux-Kerns verantwortlich ist, charakterisierte den aktuellen Stand als „fast bereit, einen echten Treiber in Rust zu schreiben“.
    • In den Build-Szenarien vorgeschlagen neuer Code zur Generierung von Versionen von Debug-Symbolen fĂŒr ladbare Module, der jetzt Informationen aus den Debug-EintrĂ€gen im DWARF-Format verwendet, anstatt den Quellcode direkt zu analysieren. Diese Änderung ermöglicht die Anwendung der Versionierung von Debug-Symbolen fĂŒr Module, die in Rust geschrieben sind. Die alte Implementierung bleibt ebenfalls im Kernel erhalten, und der Generator wird auf Ebene der Build-Optionen ausgewĂ€hlt.
    • FĂŒr die PowerPC-Architektur wurde UnterstĂŒtzung des Modus fĂŒr das lĂ€stige Aussetzen von Aufgaben (PREEMPT_LAZY, lazy preemption), der dem Modus des vollstĂ€ndigen Aussetzens („full preemption“) fĂŒr Echtzeit-Aufgaben (RR/FIFO/DEADLINE) entspricht, jedoch das Aussetzen normaler Aufgaben (SCHED_NORMAL) bis zur Taktgrenze verzögert.
    • In das Leistung-Profilierungssystem perf hinzugefĂŒgt UnterstĂŒtzung fĂŒr EnergieverbrauchszĂ€hler von AMD-Prozessoren. HinzugefĂŒgt Möglichkeit, auf Systemen mit bis zu 2048 CPU-Kernen zu arbeiten.
    • Bereitgestellt Möglichkeit zur Verwendung des sysctl-Parameters pid_max mit Prozess-ID-NamensrĂ€umen (ID namespace). Der pid_max-Parameter dient zur Begrenzung des maximalen Wertes von Prozess-IDs (PID) und kann jetzt verwendet werden, um die maximal mögliche Anzahl von Prozessen, die in dem angegebenen Namensraum ausgefĂŒhrt werden, zu beschrĂ€nken. Die Verarbeitung des Parameters erfolgt hierarchisch, d. h. EinschrĂ€nkungen in Ă€ußeren NamensrĂ€umen gelten fĂŒr geschachtelte NamensrĂ€ume.
    • Bei der Verwendung des Systemaufrufs execveat wird in der Dateisystem-/proc nun der Name der gestarteten Datei angezeigt, anstelle der Nummer des Dateideskriptors.
    • Im Quellcode des Kernels (im Verzeichnis samples) wurde das Tool mountinfo hinzugefĂŒgt, das die Verwendung der Systemaufrufe statmount() und listmount() demonstriert.
    • Im BPF-Subsystem angeboten Neue Funktionen bpf_local_irq_save() und bpf_local_irq_restore() zum vorĂŒbergehenden Deaktivieren von Interrupts auf der lokalen CPU. Die Funktionen können zur Implementierung von Strukturen verwendet werden, deren Verarbeitung nicht durch Interrupts unterbrochen wird.
    • Im Systemaufruf madvise() bei Verwendung der Flags MADV_DONTNEED und MADV_FREE sichergestellt wird der Seiten-Speichertabelle, die mit dem freigegebenen Adressbereich verbunden ist, freigegeben, da in einigen Situationen leere Seiten genĂŒgend Speicherplatz belegen können.
    • FĂŒr die OpenRISC-Architektur wurde die UnterstĂŒtzung fĂŒr das Mechanismus der erneut startbaren Sequenzen (rseq, restartable sequences), das fĂŒr die schnelle atomare AusfĂŒhrung von Operationen gedacht ist, die im Falle einer Unterbrechung durch einen anderen Thread gelöscht werden und ein erneuter Versuch der AusfĂŒhrung unternommen wird.
    • Der Code wurde reorganisiert mit der Implementierung der Algorithmen CRC32 und CRC-T10DIF, die nicht mehr mit dem Subsystem crypto kreuzen und direkt ĂŒber die BibliotheksoberflĂ€che aufgerufen werden. Diese Änderung ermöglichte eine Vereinfachung des Codes und steigerte dessen Effizienz.
    • In das System fĂŒr asynchrone Eingabe/Ausgabe io_uring wurde hinzugefĂŒgt Schnittstelle zur Übertragung zusĂ€tzlicher Metadaten zur IntegritĂ€t bei Lese- und Schreiboperationen.
  • Virtualisierung und Sicherheit
    • Im Systemaufruf execveat wurde hinzugefĂŒgt Flag AT_EXECVE_CHECK, das es erlaubt eine ÜberprĂŒfung der ZulĂ€ssigkeit der DateiausfĂŒhrung durchzufĂŒhren, ohne die Datei tatsĂ€chlich auszufĂŒhren, jedoch unter BerĂŒcksichtigung von Sicherheitsrichtlinien, Zugriffsrechten und aktiven LSM-Modulen. FĂŒr die Verwendung zusammen mit AT_EXECVE_CHECK wurden die Securebit-Flags SECBIT_EXEC_RESTRICT_FILE und SECBIT_EXEC_DENY_INTERACTIVE vorgeschlagen, die zur EinschrĂ€nkung der AusfĂŒhrung von Dateien mit Skripten in interpretierbaren Programmiersprachen eingesetzt werden können. Das Flag SECBIT_EXEC_RESTRICT_FILE weist Compiler und Interpreter an, die Option AT_EXECVE_CHECK zur ÜberprĂŒfung der ZugĂ€nglichkeit zu verwenden, wĂ€hrend das Flag SECBIT_EXEC_DENY_INTERACTIVE die Verarbeitung interaktiver Befehle verbietet. Die Hauptidee der Änderung besteht darin, Sicherheitsrichtlinien nicht nur auf traditionelle ausfĂŒhrbare Dateien, sondern auch auf Textdateien mit Skripten anzuwenden, die durch das Starten eines Interpreters geladen werden können (d. h. das AusfĂŒhrungsverbot kann nicht nur beim AusfĂŒhren von './script.sh' sondern auch in der Form 'sh script.sh' umgesetzt werden).
    • Auf x86-Systemen wurde UnterstĂŒtzung fĂŒr geschĂŒtzte Zeitgeber fĂŒr Gastbetriebssysteme implementiert, die es nicht erlauben, die Systemuhren des Gastbetriebssystems aus der Hostumgebung zu Ă€ndern. Diese FĂ€higkeit basiert auf dem Mechanismus AMD SEV (Secure Encrypted Virtualization), der in Virtualisierungssystemen verwendet wird, um virtuelle Maschinen vor Eingriffen durch den Hypervisor oder den Administrator des Hostsystems zu schĂŒtzen.
    • In das SELinux-Mandatory Access Control-System hinzugefĂŒgt Support xperm-Regeln, die es ermöglichen, SELinux-Richtlinien an bestimmte Aufrufe von ioctl() oder netlink-Nachrichten zu binden.
    • FĂŒr die digitale Signatur von Kernelmodulen wird standardmĂ€ĂŸig anstelle von SHA1 wurde der Algorithmus SHA512 verwendet.
    • In den Treibern fĂŒr Gastbetriebssysteme von VirtualBox eingeschlossen wurde UnterstĂŒtzung fĂŒr die ARM64-Architektur implementiert.
    • Im Hypervisor KVM wird fortgesetzt Arbeit unter Nutzung des Intel TDX (Trusted Domain Extensions) Mechanismus zur VerschlĂŒsselung des Speichers von Gastbetriebssystemen.
    • In virtio_blk hinzugefĂŒgt wurde UnterstĂŒtzung fĂŒr den Fehlerwiederherstellungsmodus hinzugefĂŒgt.
  • Netzwerksubsystem
    • In der Implementierung des Protokolls RxRPC ein wurde die Nutzung großer UDP-Frames zur Steigerung der Bandbreite ermöglicht.
    • FĂŒr TCP wurde UnterstĂŒtzung fĂŒr den Algorithmus RACK-TLP zur Erkennung von Paketverlusten hinzugefĂŒgt.
    • HinzugefĂŒgt neuer sysctl-Parameter tcp_tw_reuse_delay, der im Zusammenhang mit dem Namensraum (network namespace) wirkt und es ermöglicht, die Verzögerung zu definieren, bevor das System die Nummer eines Netzwerkports nach der Schließung eines TCP-Sockets erneut verwenden kann.
    • HinzugefĂŒgt Möglichkeit zur Auswahl eines Zeitgeberanbieters (PTP) zur Bildung von Zeitstempeln auf PHY- und MAC-Ebenen.
    • FĂŒr IPsec wurde UnterstĂŒtzung des Aggregations- und Fragmentierungsmechanismus fĂŒr inkapsulierte IP-Pakete - IP-TFS/AGGFRAG (IP Traffic Flow Security/Aggregation and Fragmentation Mode for Encapsulating Security Payload).
    • In das Netzwerksocketsystem hinzugefĂŒgt Support Übermittlung von Informationen zur PrioritĂ€t (SO_PRIORITY) in Form von Steuer-Nachrichten (cmsg — control messages). FĂŒr Netzwerksockets hinzugefĂŒgt Option SO_RCVPRIORITY, die in den Funktionen recvmsg() die Übermittlung von Informationen zur PrioritĂ€t des Sockets aktiviert.
  • AusrĂŒstung
    • HinzugefĂŒgt Treiber amdxdna fĂŒr integrierte NPU (Neural Processing Unit) Beschleuniger in AMD CPUs, basierend auf der Architektur XDNA, die zur Beschleunigung von operationen im Bereich des maschinellen Lernens verwendet werden. NPU auf Basis der Architektur XDNA wird in den Serien 7040 und 8040 von AMD Ryzen-Prozessoren, AMD Alveo V70-Beschleunigern und SoCs von AMD Versal angeboten.
    • In den i915-Treibern Methoden text(), arrayBuffer() und stream() hinzugefĂŒgt, um bestimmte Datentypen zu lesen; Identifikatoren neuer GPUs, ein Fehlerbehandlungsmechanismus fĂŒr die HDMI-Initialisierung wurde implementiert, die ZuverlĂ€ssigkeit des Neustarts von GPU-Engines auf Haswell und Ă€lteren Systemen wurde verbessert.
    • Fortgesetzt Arbeiten am drm-Treiber (Direct Rendering Manager) Xe fĂŒr GPUs auf Basis der Intel Xe Architektur, die in Intel Grafikkarten der Arc-Familie und in integrierter Grafik ab Tiger Lake Prozessoren verwendet wird.
    • Im Nouveau-Treiber wurde die Möglichkeit hinzugefĂŒgt, GSP-RM-Logbuffer ĂŒber debugfs zu ĂŒbermitteln.
    • Im AMDGPU-Treiber wurde die UnterstĂŒtzung des DRM-Panikmechanismus realisiert, der eine Art "blauer Bildschirm des Todes" bei AbstĂŒrzen anzeigt. Die Vorbereitungen zur UnterstĂŒtzung der bevorstehenden Radeon RX 9000 Grafikkartenserie auf der RDNA4-Architektur wurden fortgesetzt. Die UnterstĂŒtzung fĂŒr DCN 3.5, GG 9.5, IH 4.4, PSP 13.x, SMU 13.x, VCN 5.x, JPEG 5.x, GC 12.x, DC FAMS, RAS und ISP wurde aktualisiert.
    • Im DRM-Treiber msm (GPU Qualcomm Adreno) wurde die UnterstĂŒtzung der Qualcomm SM6150-Plattform (QCS615) hinzugefĂŒgt.
    • Im DRM-Treiber panfrost wurde die UnterstĂŒtzung des MediaTek MT8188 SoC mit Mali-G57 GPU hinzugefĂŒgt.
    • Im DRM-Treiber vc4 wurde die UnterstĂŒtzung des Broadcom BCM2712 SoC (Raspberry Pi 5) hinzugefĂŒgt.
    • Im vfio-Treiber nvgrace-gpu hinzugefĂŒgt Support der NVIDIA Grace Blackwell 200 Chips.
    • Umfang ein neuer Display-Engine (DC) fĂŒr AMD APU der Serie HD 7000 (Sea Islands, GCN 1.1) hinzugefĂŒgt. Treiber fĂŒr Intel THC (Touch Host Controller), der zur Interaktion mit Touchscreens und Touchpads auf bestimmten Laptops verwendet wird. UnterstĂŒtzung fĂŒr Wacom-GerĂ€te mit PCI-Schnittstelle wurde hinzugefĂŒgt. HinzugefĂŒgt UnterstĂŒtzung fĂŒr Gaming-Controller von QH Electronics.
    • HinzugefĂŒgt Support ARM-Plattform, SoC und GerĂ€te: Qualcomm Snapdragon 8 Elite (SM8750), Qualcomm Snapdragon AR2 (SAR2130P), Qualcomm IQ6/IQ8, Snapdragon 425 (MSM8917), Samsung Exynos 9810, Blaize BLZP1600, Microchip SAMA7D65, Renesas R-Car V4H ES3.0, Renesas RZ/G3E. UnterstĂŒtzung fĂŒr SoC hinzugefĂŒgt SpacemiT K1 basierend auf der RISC-V-Architektur.
    • Im AudiounterstĂŒtzungssystem ALSA fĂŒr MIDI 2.0 wurden die API rawmidi und Sequencer. Im API fĂŒr das Auslagern von Komprimierungsoperationen zur Soundkarte wurde die UnterstĂŒtzung fĂŒr ASRC (Asynchronous Sample Rate Conversion) hinzugefĂŒgt.
    • UnterstĂŒtzung fĂŒr Audiosysteme von GerĂ€ten Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE, TAS2781, Focusrite Scarlett 4. Generation 16i16, 18i16 und 18i20 hinzugefĂŒgt. HinzugefĂŒgt UnterstĂŒtzung fĂŒr drahtlose Kopfhörer SteelSeries Arctis 9.

Quelle: linux.org.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