Release van Linux-kernel 6.12 met ondersteuning voor Realtime-modus

Na twee maanden ontwikkeling heeft Linus Torvalds de release van de Linux-kernel 6.12 aangekondigd. De meest opvallende wijzigingen zijn onder andere: de mogelijkheid om de realtime-modus in te schakelen, sched_ext voor het creëren van CPU-schedulers via eBPF, het weergeven van een QR-code bij noodsituaties, het Device Memory TCP-mechanisme, het SCHED_DEADLINE-reserveringsmechanisme voor servers, verbeteringen aan de EEVDF-taakscheduler en de IPE-module voor beleidsmatig waarborgen van integriteit.

In de nieuwe versie zijn 14607 correcties door 2167 ontwikkelaars opgenomen, de patchgrootte is 37 MB (de wijzigingen zijn in 13087 bestanden doorgevoerd, met 507913 toegevoegd en 234083 regels code verwijderd). In de vorige release waren er 15130 correcties door 2078 ontwikkelaars, met een patchgrootte van 85 MB (in kernel 6.10 was de patchgrootte 41 MB). Ongeveer 45% van alle wijzigingen in 6.12 zijn gerelateerd aan stuurprogramma's, ongeveer 12% heeft betrekking op de update van hardware-specifieke code, 13% bevat wijzigingen in de netwerkstack, 6% is gerelateerd aan bestandssystemen en 3% aan interne subsysteem-verbeteringen in de kernel.

Hoofdvernieuwingen in kernel 6.12:

  • Geheugen en systeemdiensten
    • De mogelijkheid om de kernel te bouwen met de PREEMPT_RT-optie zonder extra patches voor realtime-operatie is beschikbaar gesteld. De laatste ontbroken mogelijkheid in de kernel die het activeren van de PREEMPT_RT-modus verhinderde, was de ondersteuning van niet-blokkerende atomische uitvoer via de printk-functie, die nu ook is opgenomen in de kernel. Ondersteuning voor PREEMPT_RT is beschikbaar voor de architecturen x86, x86_64, ARM64 en RISC-V. Tot nu toe werd de implementatie van de PREEMPT_RT-modus geleverd in de vorm van externe patches, waarop sommige distributies, zoals RHEL, SUSE en Ubuntu, aparte realtime-edities van hun producten maakten, die zeer gewild zijn in sectoren zoals financiële systemen, audio- en videobewerkingsapparaten, luchtvaart, geneeskunde, robotica, telecom en industriële systemen waar voorspelbare verwerkingstijden vereist zijn.
    • Er is een 'sched_ext' (SCX) mechanisme toegevoegd, waarmee eBPF kan worden gebruikt voor het maken van CPU-schedulers die vrijwel alle aspecten van taakuitvoering en CPU-resourcetoewijzing bestrijken. Dergelijke schedulers kunnen dynamisch worden geladen en binnen de Linux-kernel worden uitgevoerd. een virtuele machine eBPF. De sched_ext-mechanisme vereenvoudigt de creatie van taak-specifieke schedulers, stelt je in staat om te experimenteren met verschillende technieken en strategieën voor scheduling, en maakt het mogelijk om snel werkende prototypes te creëren en schedulers on-the-fly te vervangen in werk infrastructuren. Bijvoorbeeld, met behulp van sched_ext kan een scheduler worden gemaakt die rekening houdt met de specificiteit van een bepaalde applicatie en dynamisch de scheduling-strategie voor de uitvoering verandert, afhankelijk van de toestand van het systeem en andere extra factoren.
    • De rest van de patches die nodig zijn voor de werking van het SCHED_DEADLINE-servermechanisme is inbegrepen, dat het probleem oplost van CPU-resources die niet worden toegewezen aan standaard taken in situaties waar CPU gemonopoliseerd wordt door hoge-prioriteit (realtime) taken. Om de monopolisatie van de CPU te voorkomen, werd eerder in de kernel het Realtime throttling-mechanisme gebruikt, dat probeerde 5% te reserveren voor lage-prioriteitstaken, waarbij 95% van de tijd voor realtime-taken overbleef. Dit mechanisme liet veel te wensen over, omdat standaard taken in veel situaties niet genoeg processor tijd kregen. De SCHED_DEADLINE server implementeert een effectievere manier van resource-reservering.
    • De integratie van de EEVDF (Earliest Eligible Virtual Deadline First) taak scheduler is voltooid, die de CFS (Completely Fair Scheduler) vervangt, die vanaf kernelversie 2.6.23 werd geleverd. De nieuwe scheduler houdt bij het kiezen van het volgende proces dat uitvoering krijgt rekening met processen die niet genoeg CPU-resources hebben ontvangen of onterecht te veel processor tijd hebben gekregen. In het eerste geval wordt de overdracht van controle naar het proces geforceerd, en in het tweede geval juist uitgesteld. De oude CFS-scheduler gebruikte heuristieken en fijne afstellingen om processen te identificeren die speciale aandacht nodig hadden, terwijl de nieuwe scheduler ze explicieter bijhoudt en geen fijne afstelling vereist. Het wordt vermoed dat EEVDF de latenties bij het uitvoeren van taken kan verminderen, waar CFS problemen had met scheduling.
    • In de kernel's noodverwerkingshandler - DRM Panic, dat de DRM (Direct Rendering Manager) subsysteem gebruikt om een visueel rapport in de stijl van een 'blauwe scherm van de dood' weer te geven, is de mogelijkheid toegevoegd om een logo en QR-code met het kmsg-rapport op het scherm te tonen bij een noodsituatie. Aangezien er slechts 2953 byte in de QR-code passen, is er een optie DRM_PANIC_SCREEN_QR_CODE_URL voorzien, waarbij het kmsg-rapport wordt gecomprimeerd met zlib en als parameter aan de URL wordt gehecht, waardoor ongeveer 7500 byte via QR-code V40 kunnen worden verzonden. Bij het bouwen van pakketten met de kernel kunnen distributies een basislink voor de URL opgeven, wat de overgang naar de pagina voor het indienen van een probleemrapport mogelijk maakt. Voor de keuze van het QR-codeformaat is er een instelling DRM_PANIC_SCREEN_QR_VERSION beschikbaar.
    • Ondersteuning voor de ARM POE (Permission Overlay Extension) uitbreiding is toegevoegd, die het mogelijk maakt om toegangsrechten voor geheugengebieden in te stellen. Met deze uitbreiding kan op systemen met ARM64-processors een mechanisme voor geheugenbeschermingssleutels worden geïmplementeerd dat wordt gebruikt om de toegang tot geheugenslices te beperken zonder de paginatabellen te wijzigen.
    • Voor de architecturen Loongarch, ARM64, PowerPC en s390 is de implementatie van de systeemaanroep getrandom() overgebracht, geoptimaliseerd met behulp van het vDSO (virtual dynamic shared object) mechanisme, waardoor de handler van de systeemaanroep van de kernel naar de gebruikersruimte kan worden verplaatst en contextwisselingen kunnen worden vermeden. Deze optimalisatie kan het verkrijgen van willekeurige getallen tot 15 keer versnellen.
    • In het io_uring subsystem voor asynchrone invoer/uitvoer is de mogelijkheid toegevoegd om absolute timeouts te gebruiken, die in werking treden wanneer een bepaald tijdstip op de systeemklok is bereikt (voorheen konden alleen relatieve timeouts worden ingesteld, waarbij de duur vanaf het begin van de operatie werd opgegeven).
    • Bestanden zijn toegevoegd voor het genereren van bindings voor de libcpupower bibliotheek met behulp van de SWIG-toolset, die het mogelijk maakt om bindings van C/C++-code voor verschillende programmeertalen te vormen. Bindings maken het mogelijk om scripts in Python en andere talen te maken en deze te gebruiken om de functionaliteit van de libcpupower bibliotheek, die een API biedt voor het beheren van cpufreq en stuurprogramma's vanuit de gebruikersruimte, uit te breiden.
    • In de cpuidle-tool is de waarde van de idle-status 'residency' geïmplementeerd, die wordt gebruikt voor realtime-systemen en rekening houdt met de minimale tijd dat de processor in de idle-status moet doorbrengen om de energiekosten voor het overgaan naar deze status en het verlaten ervan te rechtvaardigen.
    • De mogelijkheid om de Clang-compiler te gebruiken voor het bouwen van de standaard C-bibliotheek nolibc is toegevoegd. Deze bibliotheek maakt deel uit van de broncode van de Linux-kernel en biedt een koppelvlak voor de basis-systeemaanroepen. Bij het bouwen van nolibc in Clang is het toegestaan om optimalisatie tijdens de linkfase (LTO) te gebruiken.
    • Bepaalde interfaces van cgroup1 zijn verouderd verklaard, zoals TCP-accounting, de eerste versie van soft limits en beheer van het opraken van vrij geheugen. Ondersteuning voor deze functies blijft voorlopig volledig beschikbaar, en de waarschuwing is gemaakt om het aantal gebruikers die deze mogelijkheden blijven gebruiken te onderzoeken.
    • De mogelijkheid om de ringbuffer voor tracing in te stellen voor het opslaan van verzamelde gegevens na herstart is toegevoegd, wat het mogelijk maakt om verzamelde debug-informatie niet te verliezen in het geval van een noodstop van de kernel. Gegevens worden in het geheugen opgeslagen. Inschakeling gebeurt via de kernel commandoregelparameter trace_instance, bijvoorbeeld instellen van 'trace_instance=boot_map@0x285400000:12M' reserveert 12 MB geheugen op adres 0x285400000 voor de buffer 'boot_map', die toegankelijk zal zijn via het bestand /sys/kernel/tracing/instances/boot_map.
    • De overdracht van wijzigingen uit de Rust-for-Linux branch is voortgezet, met betrekking tot het gebruik van de programmeertaal Rust als tweede taal voor de ontwikkeling van stuurprogramma's en kernelmodules (ondersteuning voor Rust is standaard niet geactiveerd en leidt niet tot de opname van Rust als een verplichte bouwafhankelijkheid voor de kernel). Modules 'list' en 'rbtree' zijn toegevoegd voor het werken met dubbel gekoppelde lijsten en rode-zwart bomen (red-black tree). De mogelijkheden van de modules 'init', 'sync', 'types' en 'error' zijn uitgebreid. De mogelijkheid is geboden om Rust-code te gebruiken bij het bouwen van de kernel met bescherming tegen Spectre-aanvallen (opties MITIGATION_{RETHUNK, RETPOLINE, SLS}), het gebruik van het KASAN-debugging-systeem, mechanisms voor kCFI (kernel Control Flow Integrity) en Shadow Call, evenals bij het gebruik van extra GCC-plugins. Een driver voor de Ethernet-controller Applied Micro QT2025 PHY, geschreven in Rust, is toegevoegd. Een aparte website met documentatie is voorbereid — rust.docs.kernel.org.
    • In de bronbestanden van de kernel is de utility xdrgen toegevoegd voor de conversie van XDR-specificaties (eXternal Data Representation) naar XDR-coderings- en decoderingfuncties, geschreven in de C-stijl die in de Linux-kernel is aangenomen.
    • Een wijziging is in de kernel aangenomen met de implementatie van een mechanism voor het maskeren van pointers om het aantal langzame aanroepen van barrier_nospec() in de 64-bits functie copy_from_user() te verminderen, die wordt gebruikt om gegevens van de gebruikersruimte naar de kernel te kopiëren. Het gebruik van masking versnelt de test ‘per_thread_ops’ met 2.6%, die het aantal bewerkingen beoordeelt die in één thread kunnen worden uitgevoerd.
    • Een nieuwe USB-driver is toegevoegd, die het mogelijk maakt om het 9pfs-protocol als transportmiddel te gebruiken voor het verzenden en ontvangen van gegevens van een USB-apparaat, bij het koppelen van een 9p-bestandssysteem bovenop USB (bijvoorbeeld ‘mount -t 9p -o trans=usbg,aname=/path/to/fs /mnt/9’). Als voorbeeld van het gebruik van de nieuwe driver wordt genoemd dat deze in plaats van NFS wordt gebruikt voor het opzetten van de opstartpartitie bij de ontwikkeling van embedded devices.
  • Opslagsubsystemen, invoer/uitvoer en bestandssystemen
    • In de VFS-subsystem is de mogelijkheid toegevoegd om te werken met opslagapparaten waarvan de blokgrootte groter is dan de paginagrootte in het systeem. In bestandssystemen wordt deze mogelijkheid voorlopig alleen ondersteund in XFS.
    • In het FUSE-subsysteem, dat het mogelijk maakt om besturingssystemen te implementeren die in de gebruikersruimte draaien, is ondersteuning toegevoegd voor het mapperen van gebruikersidentificatoren van ingemonteerde besturingssystemen, wat wordt gebruikt om bestanden van een bepaalde gebruiker op een ingemonteerde externe partitie te koppelen aan een andere gebruiker in het huidige systeem.
    • Een nieuwe fcntl-operatie, F_CREATED_QUERY, is geïmplementeerd, die de applicatie in staat stelt te bepalen of een bestand dat is geopend met de vlag O_CREAT is aangemaakt of al bestond.
    • In de systeemaanroep name_to_handle_at() is de mogelijkheid toegevoegd om unieke 64-bits identifiers voor mountpoints te gebruiken om racecondities bij het parseren van /proc/mountinfo te voorkomen.
    • De grootte van de 'file' structuur in de kernel is verminderd van 232 naar 184 bytes, wat het geheugenverbruik op systemen die intensief met bestanden werken, verlaagt.
    • Het is niet toegestaan om besturingssystemen te monteren op mountpoints binnen de hiërarchie /proc, bijvoorbeeld in /proc/PID/fd, omdat dit potentiële beveiligingsproblemen creëerde.
    • In het pseudo-bestandssysteem NSFS (NameSpace FS), dat wordt gebruikt voor het werken met namespaces, is de voorziening voor extra informatie over namespaces van mountpoints geïmplementeerd.
    • In het EROFS-bestandssysteem (Extendable Read-Only File System), dat bedoeld is voor gebruik op partities die alleen-lezen toegankelijk zijn, is ondersteuning toegevoegd voor het monteren van besturingssystemen rechtstreeks vanuit schijfbeelden die zijn opgeslagen als bestanden.
    • In XFS zijn nieuwe ioctl-opdrachten XFS_IOC_START_COMMIT en XFS_IOC_COMMIT_RANGE toegevoegd voor het uitwisselen van inhoud tussen twee bestanden.
    • In NFS is ondersteuning toegevoegd voor het 'LOCALIO'-protocol, dat de mogelijkheid biedt om te bepalen of de client en NFS op dezelfde host zijn, om de bijbehorende optimalisaties in te schakelen. server In het Btrfs-bestandssysteem zijn prestatieoptimalisaties voorgesteld, is de code herzien, is de blokkeringsscope van extensies bij leesbewerkingen verminderd, is het proces van conversie naar paginafolio's voortgezet, en is automatische geheugenafgifte voor de btrfs_path-structuur geïmplementeerd.
    • In het Ext4-bestandssysteem zijn fouten verholpen die verband hielden met bloktoewijzing, het beheren van extensies, het mechanisme van 'fast commit' en journaling.
    • In het Ext4-bestandssysteem zijn fouten verholpen die verband hielden met bloktoewijzing, het beheer van extensies, het 'fast commit'-mechanisme en journaling.
  • Virtualisatie en beveiliging
    • De LSM-module IPE (Integrity Policy Enforcement), ontwikkeld door Microsoft, is toegevoegd om het bestaande systeem van mandaatbeheer uit te breiden. De module maakt het mogelijk om een algemene beleidslijn voor integriteitsbewaking vast te stellen die aangeeft welke operaties zijn toegestaan en op welke manier de authenticiteit van componenten moet worden geverifieerd. Bijvoorbeeld, met behulp van IPE kan worden opgegeven welke uitvoerbare bestanden mogen worden uitgevoerd, rekening houdend met de controle van hun overeenkomst met de referentieversie aan de hand van cryptografische hashes die door het systeem dm-verity worden geleverd.
    • In de compileerfase van de kernel is de mogelijkheid toegevoegd om beschikbare beschermingsmethoden tegen verschillende spectre-kwetsbaarheden in CPU's afzonderlijk in te schakelen. In Kconfig zijn nieuwe parameters voorgesteld: MITIGATE_MDS (bescherming tegen de kwetsbaarheid van Microarchitectural Data Sampling), MITIGATE_TAA (bescherming tegen de kwetsbaarheid van TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (bescherming tegen de kwetsbaarheid van MMIO Stale Data), MITIGATE_L1TF (bescherming tegen de kwetsbaarheid van L1 Terminal Fault), MITIGATE_RETBLEED (bescherming tegen de kwetsbaarheid van Retbleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (bescherming tegen de kwetsbaarheden van Spectre), MITIGATE_SRBDS (bescherming tegen de kwetsbaarheid van Special Register Buffer Data Sampling), MITIGATE_SSB (bescherming tegen de kwetsbaarheid van Speculative Store Bypass).
    • De commandoregelparameter proc_mem.force_override en een set bouwinstellingen in Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE en PROC_MEM_FORCE_NEVER) zijn toegevoegd, waardoor het mogelijk is om wijzigingen in het geheugen via /proc/pid/mem te verbieden.
    • De LSM-submodule (Linux security module) is overgeschakeld naar het gebruik van statische oproepen, wat de beveiliging heeft versterkt en de prestaties heeft verbeterd.
    • De mogelijkheid is geboden om standaard kernelversies voor de ARM64-architectuur te gebruiken in gastomgevingen die draaien op Android-systemen met een gemodificeerde KVM-hypervisor (protected KVM).
    • In de LSM-module Landlock, die het mogelijk maakt de interactie van een groep processen met de externe omgeving te beperken, is het concept van 'IPC scoping' geïmplementeerd om gerichte beperkingen op te leggen aan de interactie met sandbox-omgevingen, waarbij gebruik wordt gemaakt van Unix-sockets en signalen. Bijvoorbeeld, het kan verboden worden om verbindingen op te zetten met behulp van Unix-sockets vanuit een sandbox-omgeving naar processen waarin geen isolatie wordt toegepast, maar verbindingen met processen in hetzelfde scope-gebied kunnen worden toegestaan.
    • In de KVM-hypervisor is in CPUID voor gastsystemen een vlag toegevoegd die aangeeft dat de extensies AVX10.1 worden ondersteund.
  • Netwerk subsysteem
    • Er is een mechanisme voor Device Memory TCP toegevoegd, waarmee netwerksockets kunnen worden gebruikt voor directe verzending van de inhoud van het geheugen van randapparatuur over het netwerk (zero-copy modus) en directe plaatsing van de inhoud van netwerkpakketten in het geheugen van het apparaat aan de ontvangende kant. De gegevens die in pakketten worden verzonden, gaan rechtstreeks van de netwerkkaart naar het geheugen van de randapparatuur of vice versa, zonder tussenkomst van de CPU, terwijl de headers van de pakketten in de gebruikelijke buffers van de kernel terechtkomen.
    • De mogelijkheden van veel Ethernet- en draadloze drivers zijn uitgebreid. Bijvoorbeeld, in de Intel iwlwifi-driver is ondersteuning toegevoegd voor het verplaatsen van RLC/SMPS-operaties naar de firmware-kant, in de RealTek rtw89-driver is de prestaties verhoogd en is ondersteuning toegevoegd voor RTL8852BT/8852BE-VT (WiFi 6) chips, in de Ethernet-driver van Microchip is ondersteuning toegevoegd voor de IEEE 802.3bw (100BASE-T1) en IEEE 802.3bp specificaties, en de implementaties van virtuele Ethernet Microsoft vNIC en IBM veth zijn verbeterd. Nieuwe drivers zijn toegevoegd voor de Realtek Ethernet-chips RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 en Microchip LAN8650/1 10BASE-T1S MAC-PHY.
    • In MPTCP (MultiPath TCP), een uitbreiding van het TCP-protocol voor het tegelijkertijd afleveren van TCP-pakketten via meerdere paden door verschillende netwerkinterfaces, is de grootte van de bij routing gebruikte gewichten verhoogd van 8 naar 16 bits. Er is een detectie van verloren (blackhole) verkeer geïmplementeerd en de pogingen voor het opzetten van verbindingen met systemen die leiden tot verlies van verkeer worden tijdelijk gepauzeerd.
    • Voor IPv6 is ondersteuning voor de 'p' vlag in PIO (Prefix Information Option) gerealiseerd, die wordt gebruikt in RA (IPv6 Router Advertisements) om het model voor de implementatie van clients via DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) te kiezen in plaats van het toewijzen van afzonderlijke adressen op basis van prefixen, met gebruik van SLAAC (Stateless Address Autoconfiguration). In IPv6 IOAM6 is ondersteuning voor een nieuwe encapsulatiemodus tunsrc toegevoegd, waarmee een hogere prestaties kan worden bereikt.
    • De prestaties van de verwerking van IPsec-beheerpakketten zijn verhoogd.
    • De prestaties bij het flushen van grote sets regels voor nftables zijn verhoogd. Ondersteuning voor het SCTP-protocol is verbeterd in nfnetlink_queue.
    • In de API ethtool is ondersteuning toegevoegd voor het koppelen van meerdere netwerkkaarten aan één netwerkinterface.
  • Apparatuur
    • In de AMDGPU-driver is het werk aan de ondersteuning voor de GPU AMD RDNA4 ('GFX12') voortgezet. De mogelijkheid om afzonderlijke taakqueues te resetten zonder de status van de hele GPU te resetten is toegevoegd.
    • Het werk aan de drm-driver (Direct Rendering Manager) Xe voor GPU's gebaseerd op de Intel Xe-architectuur, die gebruikt wordt in Intel Arc-grafische kaarten en geïntegreerde graphics, is voortgezet met de processoren van Tiger Lake. De nieuwe versie bevat ondersteuning voor GPU's gebaseerd op de microarchitecturen Battlemage en Lunar Lake. Ondersteuning voor CCS-modifiers (Color Control Surface) Xe2 is geïntroduceerd voor het beheer van de parameters van geïntegreerde en discrete GPU's.
    • In de i915-driver is de mogelijkheid geïmplementeerd om via de HWMON- of sysfs-interface (attribut 'fan1_input') informatie over de rotatiesnelheid van de ventilator weer te geven. De parameter 'i915.modeset' is als verouderd verklaard; in plaats van 'i915.modeset=0' moet de parameter 'i915.nomodeset' worden gebruikt.
    • In de DRM-driver msm (GPU Qualcomm Adreno) is ondersteuning toegevoegd voor de GPU A615, A306 en A621.
    • In de Nouveau-driver zijn de interne structuren herzien en opgeschoond.
    • In de intel_pstate-driver, die de energieconsumptieparameters (P-state) op systemen met Intel-processoren beheert, is ondersteuning toegevoegd voor hybride systemen met asymmetrische (verschillende specificaties) CPU's, evenals ondersteuning voor energiemanagement van processors gebaseerd op de microarchitecturen Granite Rapids en Sierra Forest. In de intel_idle-driver is ondersteuning toegevoegd voor de CPU Xeon Granite Rapids. In de intel_rapl-driver is herkenning van processen van het AMD 1Ah-familie en Intel ArrowLake-U-processoren in kaart gebracht.
    • De wijzigingen voor de ondersteuning van de ARM SoC Snapdragon X Elite, die een eigen 12-core CPU Qualcomm Oryon en GPU Qualcomm Adreno gebruikt, worden voortgezet. De chip is gericht op gebruik in laptops en PC's, en presteert beter dan de Apple M3- en Intel Core Ultra 155H-chips in veel prestatietests.
    • Ondersteuning toegevoegd voor ARM-platformen, SoC's en apparaten: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010, Surface Laptop 7, Anbernic RG35XXSP, Firefly Core-PX30-JD4, Lunzn Fastrhino R68S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS433, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R2S Plus, ExynosAuto v920, SOPHGO SG2002, Qualcomm IPQ5332, LG G4 (h815), Cool Pi CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6.
    • Ondersteuning toegevoegd voor beeldschermen Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1, BOE TV101WUM-LL2, BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, BOE NE140WUM-N6G, CMN N116BCA-EA2, CMN N116BCP-EA2, CSW MNB601LS1-4, Starry er88577.
    • In het geluidsysteem is ondersteuning toegevoegd voor de RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825 chips en codecs. De oude geluidsdrivers voor ASoC Intel zijn als verouderd verklaard; in plaats daarvan wordt aanbevolen om de AVS-drivers te gebruiken. Er zijn veel verbeteringen aangebracht aan de SoundWire-driver.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster