Na twee maanden ontwikkeling heeft Linus Torvalds de release van de Linux-kernel 6.16 aangekondigd. Enkele van de meest opvallende wijzigingen zijn: een stuurprogramma voor het versnellen van OpenVPN, het Kexec HandOver-mechanisme, de standaard inschakeling van vijf niveaus van paginatabellen voor x86, de verwijdering van het DCCP-protocol, de blokdriver zloop, de mogelijkheid om core-dumps via een UNIX-socket te verzenden, ondersteuning voor atomische opschrijving in XFS, offload-verwerking van audio voor USB-apparaten, optimalisaties in Ext4, een virtuele TPM-driver (Trusted Platform Module), een volledige implementatie van Device Memory TCP, ondersteuning voor ongeïnstrumenteerde kanalen in io_uring, voorbereiding op de integratie van de DRM-driver Asahi, het 'usermode queue'-mechanisme in de AMDGPU-driver, ondersteuning voor Intel TDE (Trusted Domain Extensions) en Intel APE (Advanced Performance Extensions).
In de nieuwe versie zijn 15924 correcties door 2145 ontwikkelaars opgenomen, de patchgrootte is 50 MB (de wijzigingen betroffen 13793 bestanden, 655451 regels code zijn toegevoegd, 316441 regels zijn verwijderd). In de vorige release waren er 15945 correcties van 2154 ontwikkelaars, de patchgrootte was 59 MB. Ongeveer 45% van alle wijzigingen in 6.16 heeft betrekking op stuurprogramma's voor apparaten, ongeveer 16% van de wijzigingen heeft betrekking op de update van hardware-architectuur-specifieke code, 13% heeft betrekking op de netwerstack, 4% op bestandssystemen en 3% op interne subsystemen van de kernel.
De belangrijkste innovaties in kernel 6.16:
- Opslagsubsystemen, invoer/uitvoer en bestandssystemen
- Een zloop-driver is toegevoegd voor het maken van gezoneerde blokken loopback-apparaten die in loop-modus zijn gemonteerd. De driver emuleert de werking van normale blockdevices met behulp van meerdere bestanden uit het bestaande bestandssysteem (één bestand voor het opslaan van elke zone). Deze mogelijkheid kan nuttig zijn voor het testen van bestandssystemen, device mapper-processors en toepassingen op hun ondersteuning voor gezoneerde apparaten, die gebruik maken van groepsscheiding van blokken of sectoren, waarin alleen sequentiële gegevensaanvullingen zijn toegestaan met de volledige update van de hele groep blokken.
- In het XFS-bestandssysteem is ondersteuning voor atomisch schrijven van grote hoeveelheden gegevens geïmplementeerd - meerdere blokken kunnen nu atomisch worden geschreven (of alle blokken worden succesvol geschreven, of geen enkele blok wordt geschreven).
- In het Ext4-bestandssysteem is de prestaties van het "fast commit"-mechanisme verbeterd. Er is ondersteuning toegevoegd voor grote geheugenpagina's (large folios) voor gewone bestanden, wat in uitgevoerde tests de prestaties bij intensieve sequentiële invoer/uitvoer met 37% heeft verhoogd. Ondersteuning voor atomische schrijfoperaties die meerdere blokken omvatten, is toegevoegd.
- In de driver voor het ext2-bestandssysteem is de ondersteuning voor het DAX-mechanisme, dat directe toegang tot het bestandssysteem mogelijk maakt om het paginacache te omzeilen, als verouderd verklaard. Verwijdering van DAX uit de ext2-driver is gepland voor het einde van het jaar. Als reden wordt genoemd dat de ext2-driver wordt beschouwd als een stabiele referentie-implementatie waarin het gebruik van specifieke functies, die niet voldoende zijn verspreid, niet is toegestaan.
- De bestandssystemen OrangeFS, UFS, BFS en OMFS zijn overgeschakeld naar het gebruik van de nieuwe API voor het mounten van partities.
- In sysctl is de instelling vfs_cache_pressure_denom toegevoegd om het aantal ingangen in de "dentry"-cache (de interne weergave van directory-elementen) te beheren bij geheugentekort in het systeem. Hoe hoger de waarde, hoe meer ingangen uit de cache kunnen worden verwijderd (minder ingangen blijven in de cache) bij geheugengebrek.
- In het Bcachefs-bestandssysteem is de optie "rebalance_on_ac_only" toegevoegd, die het uitvoeren van rebalance- en achtergrondcompressie-operaties voorkomt wanneer het systeem op batterijvoeding werkt. De verwijderoperaties van snapshots en apparaten zijn versneld. Het geheugengebruik bij het mounten in alleen-lezen modus is verminderd. Er is de mogelijkheid toegevoegd om enkele hersteloperaties na een storing op de achtergrond uit te voeren zonder de werking met het bestandssysteem te stoppen.
- De energiesubsysteem is toegestaan om zelfstandig besturingssystemen en EFI-variabelen voor de slaap- en sluimerstand te bevriezen (als de filesystemen al zijn bevroren door de gebruikersruimtedriver wordt er geen herbevriezing uitgevoerd).
- De snelheid van EROFS kan worden verhoogd met behulp van de in Intel-processoren ingebouwde QAT (QuickAssist Technology) accelerator, die middelen biedt voor het versnellen van compressie- en versleutelingsgerelateerde berekeningen.
- In NFS is de maximale batchgrootte voor lees- en schrijfoperaties verhoogd van 1 MB naar 4 MB (de standaardwaarde is 1 MB, omdat niet alle clients een grotere grootte ondersteunen).
- Niet-privilege gebruikers met CAP_SYS_ADMIN rechten in een aparte gebruikersnaamruimte hebben de mogelijkheid om het fanotify-mechanisme te gebruiken om wijzigingen in bestandssystemen te volgen.
- Voor bestandssystemen die de FUSE-subsysteem gebruiken, is functionaliteit toegevoegd om alle gecachete directory-informatie (dentries) in één keer te wissen. Ondersteuning voor grote pagina's in het geheugen is toegevoegd aan het FUSE-subsysteem.
- In de OverlayFS is ondersteuning toegevoegd voor het creëren van lagen met gegevens in niet-privilege gebruikersnaamruimten, waarbij integriteitscontrole is gebaseerd op de dm-verity module. Deze mogelijkheid maakt het mogelijk om betrouwbare metadata-lagen te combineren met onbetrouwbare gegevenslagen die worden verwerkt in niet-privilege gebruikersnaamruimten.
- Geheugen en systeemdiensten
- Er is een KHO (Kexec HandOver) mechanisme toegevoegd voor het starten van een nieuwe kernel vanuit een oude zonder de systeemstatus te verliezen. Voordat de controle aan de nieuwe kernelversie wordt overgedragen, kan de status van belangrijke subsysteem van de kernel met behulp van KHO worden geserialiseerd in een geheugenruimte die niet door verdere operaties wordt aangetast. De nieuwe kernel herstelt de geserialiseerde status zodra deze de controle overneemt. Op basis van KHO wordt het Live Update Orchestrator (LUO) subsysteem ontwikkeld, waarmee de kernel kan worden herstart zonder apparaten stop te zetten.
- Een nieuwe kernelcompileeroptie CONFIG_X86_NATIVE is toegevoegd, waardoor de optie '-march=native' kan worden gebruikt voor optimalisatie op basis van de mogelijkheden van de processor in het huidige systeem.
- Ondersteuning is toegevoegd voor de Intel APX (Advanced Performance Extension) instructiesetarchitectuur, die 16 extra algemene registers biedt (bovenop de bestaande 16), waardoor het aantal geheugenlees- en schrijfoperaties in de code kan worden verminderd om de prestaties te verbeteren en energieverbruik te verlagen.
- Een modus voor automatische aanpassing van het geheugenverdelingsbeleid in NUMA-systemen is toegevoegd, waarbij alle gewichten van knooppunten worden herberekend op basis van nieuwe informatie over de doorvoer tijdens het opstarten of bij het hot-pluggen van geheugen.
- In de implementatie van futexen is ondersteuning toegevoegd voor de lokale hash-tabel van processen (local futex_hash_bucket), die, in tegenstelling tot de eerder ondersteunde globale hash-tabel voor alle processen, lokaal is voor een afzonderlijk proces en gezamenlijk wordt gebruikt door alle threads van dat proces. Lokale hash-tabellen worden alleen toegepast voor de futex-operatie PROCESS_PRIVATE. Bovendien is in deze nieuwe release ondersteuning toegevoegd voor de opties FUTEX2_NUMA en FUTEX2_MPOL, waarmee de plaatsing van futexen in het geheugen kan worden beïnvloed, zodat ze dichter bij de processen komen die ze gebruiken.
- Voor x86_64-systemen is permanente ondersteuning ingeschakeld voor vijf-niveaus paginatabellen in het geheugen (CONFIG_X86_5LEVEL parameter, die de inschakeling van vijf-niveaus tabellen beheerde, is verwijderd).
- In de intel_pstate-driver, die de stroomverbruikparameters (P-state) op systemen met Intel-processors beheert, is ondersteuning toegevoegd voor het werk van de taakplanner met inachtneming van het stroomverbruik (EAS — Energy Aware Scheduling) op hybride processors, die krachtige en energiezuinige CPU-kernen combineren, zoals Intel Lunar Lake.
- In sysfs zijn de interfaces toegevoegd: ‘/sys/devices/system/cpu/cpuN/cpu_capacity’ voor het verkrijgen van informatie over de mogelijkheden van verschillende CPU's in hybride processors en ‘/sys/devices/system/cpu/cpuidle/intel_c1_demotion’ voor het beheren van de mogelijkheid om de CPU in een productievere toestand te laten, zelfs als de kern probeert de CPU naar een lagere energietoestand over te brengen (bijvoorbeeld kan de kern verzoeken om over te schakelen naar de C6 energietoestand, maar kan de firmware bij hoge ontwakingsintensiteit de CPU in C1-status laten blijven).
- Voor de ARM64-architectuur is ondersteuning ingeschakeld voor de modus van lui taakontheffing (PREEMPT_LAZY, lazy preemption), die overeenkomt met de modus van volledige ontheffing (‘full preemption’) voor realtime-taken (RR/FIFO/DEADLINE), maar het ontheffen van gewone taken (SCHED_NORMAL) vertraagt tot de tikgrens.
- Voor de ARM64-architectuur is ondersteuning toegevoegd voor het gebruik van SME-extensies (Scalable Matrix Extension), ingeschakeld via de parameter CONFIG_ARM64_SME.
- De overdracht van wijzigingen uit de Rust-for-Linux-tak is voortgezet, met betrekking tot het gebruik van de programmeertaal Rust als tweede taal voor het ontwikkelen van stuurprogramma's en kernelmodules (ondersteuning voor Rust is standaard niet geactiveerd en leidt niet tot het opnemen van Rust in de verplichte build-onderdelen voor de kernel). Voor modules geschreven in Rust is de mogelijkheid geboden om configfs te gebruiken. Er zijn abstraheringen toegevoegd die nodig zijn voor de ontwikkeling van grafische stuurprogramma's. De mogelijkheden van de modules alloc, time, str, list, workqueue en page zijn uitgebreid. Ondersteuning voor de macro "assert!" in tests op basis van KUnit is toegevoegd. Een set abstraheringen voor het beheer van de CPU-frequentie en het gebruik van API's gerelateerd aan energiebeheer is toegevoegd. Ondersteuning voor de gegevenstructuur 'xarray' is toegevoegd.
- Voor de RISC-V-architectuur is de implementatie van de systeemaanroep getrandom() overgezet, geoptimaliseerd met behulp van het vDSO (virtual dynamic shared object)-mechanisme, dat de mogelijkheid biedt om de systeemaanroepverwerker uit de kernel naar de gebruikersruimte te verplaatsen en contextwisselingen te vermijden. In uitgevoerde tests versneld deze optimalisatie het verkrijgen van willekeurige getallen met 17 keer. Voor RISC-V is ook ondersteuning geïmplementeerd voor de vectoruitbreidingen Zicbop, Zabha en Svinval, die worden gebruikt in SiFive-processors.
- Voor de LoongArch-architectuur is de limiet op het aantal CPU's in het systeem verhoogd van 256 naar 2048. Ondersteuning voor de taakplanner SCHED_MC (Multi-core) is toegevoegd.
- De mogelijkheid om Unix-sockets te gebruiken voor het doorgeven van bestandshandleidingen is toegevoegd. Om deze mogelijkheid uit te schakelen, kunnen applicaties de SO_PASSRIGHTS-vlag gebruiken in setsockopt().
- De mogelijkheid om de ringbuffer, gebruikt voor het traceren van de werking van de kernel, in het geheugen van de gebruikersruimte te mappen, is geboden.
- Crash-dumpverwerkers, die worden gebruikt om een probleemrapport op te stellen na een onjuist afsluiten van de kernel, kunnen nu de door de foutieve kernel gebruikte LUKS-sleutels inzetten om crash-dumps op te slaan in versleutelde besturingssystemen.
- De io_uring-asynchrone invoer/uitvoer heeft de operatie IORING_OP_PIPE toegevoegd voor het creëren van onbenoembare kanalen, die vergelijkbaar is met de systeemaanroep pipe2, met uitzondering van de ondersteuning voor vaste bestandshandleidingen.
- De kernelopdrachtregeloptie "rt_group_sched" is toegevoegd voor het beheren van de inschakeling van de scheduler voor het uitvoeren van groepen realtime-taken (SCHED_RR). Deze optie is vergelijkbaar met de instelling RT_GROUP_SCHED in Kconfig.
- Voor apparaten die zijn gebaseerd op de CXL-bus (Compute Express Link), die wordt gebruikt voor het realiseren van hoogsnelheidsinteractie tussen de CPU en geheugenapparaten, is ondersteuning voor RAS-extensies (Reliability, Availability, Serviceability) geïmplementeerd, waarmee verschillende schema's voor foutdetectie en -correctie kunnen worden gerealiseerd. CXL maakt het mogelijk om nieuwe geheugengebieden, geleverd door externe geheugenapparaten, aan te sluiten en deze te gebruiken als extra middelen binnen de fysieke adresruimte ter uitbreiding van het systeemgeheugen (DDR) of het permanente geheugen (PMEM).
- De vereiste minimale versie van GCC voor het bouwen van de kernel voor alle architecturen is verhoogd naar de GCC 8-tak. Voor de bouw is nu ook minimaal versie 2.30 van het pakket binutils vereist.
- De systeemaanroep uselib() is verwijderd, die al lange tijd als verouderd is verklaard, en in plaats daarvan wordt mmap() gebruikt voor de gezamenlijke toegang van programma's tot gedeelde bibliotheken.
- Virtualisatie en beveiliging
- Beginondersteuning is toegevoegd voor het gebruik van het Intel TDX-mechanisme (Trusted Domain Extensions) ter bescherming van gastsystemen die worden beheerd door de KVM-hypervisor, tegen inmenging en analyse door de beheerder van de host-systeem en fysieke aanvallen op de hardware. Bescherming wordt geboden door middel van geheugens encryptie. virtuele machines.
- Er is een virtuele TPM-stuurprogramma (Trusted Platform Module) toegevoegd, waardoor virtuele machines kunnen interageren met TPM-apparaten (Trusted Platform Module), die worden geëmuleerd door de SVSM-module (Secure VM Service Module).
- De mogelijkheid om de GCC-plug-in randstruct te gebruiken is hersteld, die de indeling van gegevensstructuren randomiseert tijdens de compilatiefase om het exploiteren van kwetsbaarheden te bemoeilijken.
- De mogelijkheid om de IMA-technologie (Integrity Measurement Architecture) te gebruiken voor integriteitscontroles bij het opstarten van nieuwe kernels met behulp van de systeemaanroep kexec is toegevoegd.
- Er is gewerkt aan het verminderen van de impact van het gebruik van SELinux op de prestaties. Om de werking te versnellen is er een cache toegevoegd met de resultaten van toegangscontroles op mappen. In de genfscon-regels is de mogelijkheid toegevoegd om maskers te gebruiken.
- In de code voor interactie met EFI is de mogelijkheid geïmplementeerd om een SBAT-sectie (UEFI Secure Boot Advanced Targeting) met metadata over ingetrokken versies van opstartcomponenten in te voegen.
- In de opstartmodules is de sectie '.static_call_sites' overgezet naar alleen-lezen modus na voltooiing van de initialisatie.
- Voor 64-bits ARM-systemen is in de hypervisor KVM ondersteuning voor geneste virtualisatie geïmplementeerd (standaard uitgeschakeld).
- In de hypervisor KVM is stabiele ondersteuning voor de RISC-V-architectuur uitgeroepen.
- Netwerk subsysteem
- De ovpn-driver is aangenomen, die de prestaties van OpenVPN aanzienlijk versnelt door versleuteling, pakketverwerking en het beheer van de communicatielijn naar de Linux-kernel over te brengen. Deze driver elimineert overheadkosten die gepaard gaan met contextwisselingen, maakt optimalisatie mogelijk door directe toegang tot interne kernel-API's en voorkomt langzame gegevensoverdracht tussen de kernel en de gebruikersruimte (versleuteling, ontsleuteling en routering worden uitgevoerd door de module zonder verkeer naar de handler in de gebruikersruimte te sturen). Om contextwisselingen te vermijden, wordt dit naar de kernel verplaatst.
- De Device Memory TCP-mechanisme heeft ondersteuning gekregen voor het verzenden van gegevens vanuit het apparaatgeheugen (TX-pad). Eerder was de functionaliteit beperkt tot het accepteren van gegevens (RX-pad) om de integratie van Device Memory TCP in de kernel te vereenvoudigen. Device Memory TCP stelt netwerk-sockets in staat om rechtstreeks de inhoud van het geheugen van het randapparaat over het netwerk te verzenden (zero-copy modus), evenals de directe plaatsing van de inhoud van netwerkpakketten in het geheugen van het apparaat aan de ontvangende kant. Gegevens die in pakketten worden verzonden, worden van de netwerkkaart naar het geheugen van het randapparaat (DMABUF) overgebracht, bijvoorbeeld naar het videogeheugen van de GPU, of rechtstreeks van het apparaatgeheugen naar de netwerkkaart, waarbij de CPU wordt omzeild, terwijl de pakketheaders in gewone kernelbuffers komen.
- Het is nu mogelijk om de inhoud van core-dumps te verzenden via een AF_UNIX-socket, wat het mogelijk maakt om veiligere handlers voor core-dumps in de gebruikersruimte te creëren, die niet afhankelijk zijn van het aanroepen van geprivilegieerde processen door de kernel.
- De ondersteuning voor het netwerprotocol DCCP (Datagram Congestion Control Protocol) is verwijderd, omdat het geen brede toepassing heeft gevonden en al vijf jaar geen onderhoud in de kernel heeft gekregen. Het verwijderen van DCCP uit de kernel zal obstakels wegnemen die de herstructurering van de gegevensstructuur inet_connection_sock belemmeren voor een verbeterde efficiëntie van de TCP-stack. De ondersteuning voor netfilter-modules voor het filteren van DCCP-pakketten blijft behouden.
- Om het verwerken van fouten bij het gebruik van sockets te vereenvoudigen, kan de kernel nu pidfd doorgeven voor reeds beëindigde processen (pidfd is gekoppeld aan specifieke processen en wordt in tegenstelling tot pid niet opnieuw toegewezen).
- Met behulp van BPF kunnen nu verwerkers voor het beheer van pakketwachtrijen in de netstack (qdiscs) worden gemaakt om invloed uit te oefenen op de volgorde van verwerking van netwerkpakketten.
- In het netwerkbestandssysteem AFS is GSSAPI (Generic Security Services API) betrokken voor het beheren van de versleuteling van verbindingen met servers YFS en OpenAFS.
- Er zijn aanzienlijke optimalisaties doorgevoerd. De organisatie van vergrendelingen voor IPv6-routeringstabellen is herschikt (bepaalde route-operaties worden nu tot 3 keer sneller uitgevoerd). De programmatische berekening van crc32c-controlegetallen is versneld. De GRO-engine voor getunnelde UDP-verkeer is met 10% versneld. De automatische instellingen voor de ontvangbuffer voor TCP zijn verbeterd en de standaardlimieten zijn verhoogd (in uitgevoerde tests is de doorvoer voor enkele stromen via een 200Gbs-kanaal met 60% toegenomen).
- In Netfilter is de mogelijkheid toegevoegd om maskers te gebruiken in de namen van netwerkapparaten die worden gebruikt in netdev en flowtable. In de infrastructuur van nft trace is informatie over connectietracking (conntrack) geïntegreerd. Het extraheren van conntrack-tabellen via procfs is versneld.
- Apparatuur
- Ondersteuning toegevoegd voor het verplaatsen van de verwerking van audiostreams naar de geluidapparaten met een USB-interface (USB audio offload). Deze wijziging maakt het mogelijk om het energieverbruik van draagbare apparaten aanzienlijk te verminderen doordat de verwerking van de audiostream doorgaat terwijl de rest van het systeem in de slaapstand is. Eerder werden er in kernen voor het Android-platform specifieke implementaties van audio offload verwerking voor USB-apparaten aangeboden, maar nu is er een universele implementatie in de hoofdkernel die door elk project kan worden gebruikt.
- De integratie van de Nova-drivercomponenten voor NVIDIA GPU's met GSP-firmware is voortgezet, die wordt gebruikt vanaf de NVIDIA GeForce RTX 2000-serie op basis van de Turing-microarchitectuur. De driver is geschreven in Rust. Naast de component nova-core, die in de vorige release werd toegevoegd en een basisniveau van abstracties bovenop de API's van GSP-firmware implementeert, is in versie 6.16 een eerste implementatie van de DRM-driver nova-drm (Direct Rendering Manager) opgenomen voor interactie met de GPU vanuit de gebruikersruimte.
- Het proces van de integratie van de Asahi DRM-driver voor Apple AGX GPU's, die worden gebruikt in Apple Silicon-chips, is begonnen. De driver is geschreven in Rust. Op dit moment zijn alleen de headerbestanden met UAPI van de Asahi-driver geïntegreerd die nodig zijn voor Mesa; de hoofdcode van de Asahi-driver zal later worden geïntegreerd.
- De Nouveau-driver heeft ondersteuning gekregen voor NVIDIA GPU's uit de Hopper- en Blackwell-families.
- Het werk aan de drm-driver (Direct Rendering Manager) Xe voor GPU's op basis van de Intel Xe-architectuur, gebruikt in Intel Arc grafische kaarten en geïntegreerde graphics vanaf de Tiger Lake-processors, is voortgezet. Er is ondersteuning toegevoegd voor het gebruik van verschillende firmwarebestanden voor verschillende Intel GPU-families.
- In de AMDGPU-driver is ondersteuning gerealiseerd voor het 'usermode queue'-mechanisme, waarmee gebruikers hun eigen werkqueues in de gebruikersruimte kunnen aanmaken en deze rechtstreeks naar de GPU kunnen sturen zonder tussenkomst van de scheduler in de kernel. Ondersteuning voor 'usermode queue' is ingeschakeld voor Navi 4X GPU's en GFX 12.
- Ondersteuning toegevoegd voor Intel WCL (Whiskey Lake) geluidsystemen, AMD ACP 7.x (Audio Co-Processor), Cirrus Logic CS35L63 en CS48L32, Everest Semiconductor ES8375 en ES8389, Pioneer DJM-V10, Longsoon-1 AC’97, NVIDIA Tegra264, Richtek ALC203, RT9123 en Rockchip SAI, evenals nieuwe Intel AVS-platforms.
- Ondersteuning toegevoegd voor ARM-platforms, SoC's en apparaten: Samsung Exynos7870, Qualcomm Snapdragon X1P42100, Qualcomm MSM8926, RK3562, NXP i.MX94, Renesas RZ/V2N, Amlogic S6/S7/S7D, WonderMedia wm8950, Amlogic s805y, Allwinner A523, Toradex Verdin AM62P, ROCK 5B+, Nitrogen8M Plus, Retronix R-Car V4H Sparrow Hawk, MT8186 Ponyta Chromebook, VIA APC Rock/Paper, Renesas rz/t2h, ASUS Transformer Pad LTE TF300TL, LG Nexus 4, Google Pixel 4a, Raspberry Pi 2.
- De driver voor videoinvoerapparaten op STA2X11-chips is verwijderd.
Tegelijkertijd heeft de Latijns-Amerikaanse Vrije Software Stichting een versie van de volledig vrije kernel 6.16 — Linux-libre 6.16-gnu, ontwikkeld, die is ontdaan van firmware- en stuurprogrammavormen met niet-vrije componenten of codefragmenten, waarvan het gebruik is beperkt door de fabrikant. In de release 6.16 is de laadtijd van blobs in de nieuwe Intel qat 6xxx crypto-drivers, ST vd55g1-sensor, ath12k AHB wifi, Aeonsemi AS21xxx en MediaTek 25Gb Ethernet geneutraliseerd. De namen van blobs zijn opgeschoond in dts-bestanden (devicetree) voor ARM-chips van Qualcomm en MediaTek. De code voor het opschonen van blobs in de Nova Core, Nouveau, Realtek r8169 Ethernet, Qualcomm Iris, Venus, Mediatek mt7996 wifi, Qualcomm ath11k en ath12k wifi-drivers, Texas Instruments tas2781 en Renesas R-Car gen4 PCIe is vernieuwd.
Bron: opennet.ru
