Na twee maanden ontwikkeling heeft Linus Torvalds de release van de Linux-kernel 7.3 gepresenteerd. Onder de meest opvallende veranderingen bevinden zich: een isolatiemechanisme voor bestandssystemen gebaseerd op de pseudo-bestandssysteem failfs en de systeemaanroep fchroot(), ondersteuning voor het creëren van geneste planningsschema's SCHED_EXT, BPF-handlers voor het uitvoeren van uitvoerbare bestanden, alternatieve gegevensstromen in NTFS3, prestatie-optimalisaties voor FUSE, Btrfs en Ext4, ondersteuning voor Apple Time Machine in ksmbd, verwijdering van de bestandssystemen EFS en FreeVxFS, directe toegang tot blokapparaten, verbeterde verwerking van gebrek aan videogeheugen, tracking van geheugenverzoeken van het gastbesturingssysteem via userfaultfd, compressie van AppArmor-regels, beperking van de toegang tot AF_ALG, ondersteuning voor de Apple M3 Pro, Max en Ultra-chips.
In de nieuwe versie zijn 20260 correcties opgenomen van 3171 ontwikkelaars, waarvan 807 hun wijzigingen voor het eerst in de kernel hebben ingediend. De patch is 63 MB groot (de wijzigingen hebben betrekking op 14923 bestanden, er zijn 943849 regels code toegevoegd,
297515 regels verwijderd). In de vorige release waren er 17833 correcties van 2766 ontwikkelaars, de patchgrootte was 68 MB. Ongeveer 44% van alle wijzigingen in 7.3 heeft betrekking op apparaatdrivers, ongeveer 12% van de wijzigingen heeft betrekking op code-updates die specifiek zijn voor hardwarearchitecturen, 12% is gerelateerd aan de netwerkstack, 5% betreft bestandssystemen en 3% aan interne subsysteem van de kernel.
De belangrijkste vernieuwingen in kernel 7.3 (1, 2, 3):
- Opslagsubsystemen, invoer/uitvoer en bestandssystemen
- De prestatie van het bestandssysteem Btrfs is geoptimaliseerd. Voor niet-SSD-opslag zijn onnodige vertragingen verwijderd, wat leidde tot een vijfvoudige toename van de doorvoer voor workloads die intensief gebruikmaken van de fsync-functie, zoals het schrijven van logboeken. In fsync is de detectie van gaten in bestanden met een groot aantal extents en zonder gaten uitgeschakeld, wat de uitvoering van bepaalde specifieke tests vijf keer versneld heeft.
Bij het volgen van niet-cachebare buffers van extents is de xarray-structuur vervangen door een lokale LRU-lijst, wat de prestaties van deze bewerkingen met drie keer heeft verhoogd. Prestatieproblemen bij gebruik van de directe invoer/uitvoer-modus, veroorzaakt door regressies in eerdere kernelversies, zijn verholpen. Blokkades bij voorspellend lezen van extents zijn verminderd, wat de overhead heeft verlaagd bij het benaderen van overlappende gebieden door verschillende taken.
- In Btrfs is de ondersteuning voor de eerste versie van de cache met informatie over vrije ruimte verwijderd. Bestandenystemen die op oude systemen zijn gemaakt, moeten worden omgezet naar de tweede versie van de cache met behulp van de btrfstune utility, anders zullen ze trager werken. Ook is de mountoptie 'usebackuproot' verwijderd; in plaats daarvan moet 'rescue=usebackuproot' worden gebruikt.
- In het Ext4-filesysteem is de prestaties van gelijktijdige schrijfoperaties bij directe invoer/uitvoer (Direct I/O) verbeterd en is het reserveren van lege gebieden versneld via de fallocate() aanroep. Een regressie die de prestaties bij gebufferd schrijven verminderde, is verholpen.
- In het Ext4-bestandssysteem is de mountoptie 'data=journal' naar de verouderde status verplaatst. Ondersteuning voor deze mountoptie wordt beoogd te beëindigen in 2028. De optie 'data=journal' omvat een modus van volledige journaling, waarbij niet alleen metadata maar ook de gegevens zelf in het journal worden vastgelegd, wat hoge robustheid in geval van storingen biedt, maar de onderhoudskosten voor de code verhoogt en aanzienlijke prestatievermindering met zich meebrengt in vergelijking met de modi 'data=ordered' en 'data=writeback'.
- Het bestandssysteem EFS is verwijderd, dat in vroege versies van het IRIX-besturingssysteem werd gebruikt, ongeveer 30 jaar geleden niet meer gebruikt werd en al meer dan 20 jaar niet meer wordt onderhouden. Voor degenen die toegang tot EFS-partities nodig hebben, zijn er hulpprogramma's die in de gebruikersruimte werken.
- Het FreeVxFS-bestandssysteem, dat het VERITAS VxFS-bestandsformaat implementeert en in SCO UnixWare in de jaren 90 werd gebruikt, is verwijderd en wordt al lang niet meer in de praktijk gebruikt.
- In de mechanisme voor het creëren van bestandssystemen in gebruikersruimte via FUSE zijn de prestaties verbeterd en het geheugengebruik verminderd bij het gebruik van het systeem voor asynchrone invoer/uitvoer io_uring. De versnelling is bereikt door het toevoegen van de mogelijkheid om buffers van de gebruikersruimte naar de kernel over te dragen en onnodige buffering (zero-copy) uit te sluiten bij de toegang van de FUSE-server tot het geheugenseite van het klantproces of het pagina-cache.
- Voor blokapparaten is de vlag RWF_DONTCACHE geïmplementeerd, die vergelijkbaar is met de modus voor directe invoer/uitvoer.
(Direct I/O), dat kan worden gebruikt in de functies preadv2() en pwritev2() of in lees- en schrijfoverleggen via io_uring voor toegang tot een blokapparaat, om het paginacache te omzeilen. Het vlag kan bijvoorbeeld in DBMS worden toegepast voor low-level interacties met blokapparaten. - In het overlayfs-bestandssysteem is ondersteuning toegevoegd voor het mappen van gebruikersidentificaties, die worden gebruikt om bestanden van een bepaalde gebruiker op een gemounte externe partitie aan een andere gebruiker in het huidige systeem toe te wijzen.
- De ondersteuning voor het monteren van meerdere bestandssystemen van één blokapparaat is verbeterd.
- In de ntfs3-driver is initiële ondersteuning geïmplementeerd voor alternatieve gegevensstromen, die via een dubbele punt in de bestandsnaam worden gedeeld. Voor het maken van een nieuwe alternatieve stroom kan de opdracht 'touch file:stroom' worden gebruikt, voor lezen 'cat file:stroom', voor verwijderen 'rm file:stroom' en voor het tonen van beschikbare stromen 'cat file:query_streams'.
- In de nieuwe implementatie van NTFS (ntfsplus) in alleen-lezen modus is ondersteuning toegevoegd voor transparante bestandcompressie met behulp van overlayfilters WOF (Windows Overlay Filter).
- In de NFS-server is ondersteuning toegevoegd voor de CB_NOTIFY-operatie, waarmee de client directorymetadata aan zijn zijde kan cachen en meldingen van wijzigingen van de server kan ontvangen.
- In het F2FS-bestandssysteem is ondersteuning toegevoegd voor het dynamisch (zonder het bestandssysteem te demonteren) verwijderen van partijen uit een gezamenlijke pool, met automatische gegevensoverdracht naar andere partijen en terug (bijvoorbeeld, een opslagapparaat tijdelijk uitsluiten voor andere doeleinden).
- In XFS is ondersteuning toegevoegd voor de FALLOC_FL_WRITE_ZEROES-vlag in de systeemoproep fallocate(), waarmee een aangegeven bereik in een bestand met nullen kan worden gevuld door gebruik te maken van de WRITE_ZERO-opdracht die door sommige SSD's wordt ondersteund, waardoor nullen kunnen worden geschreven zonder invoer-/uitvoertaken.
- De prestatie van het bestandssysteem Btrfs is geoptimaliseerd. Voor niet-SSD-opslag zijn onnodige vertragingen verwijderd, wat leidde tot een vijfvoudige toename van de doorvoer voor workloads die intensief gebruikmaken van de fsync-functie, zoals het schrijven van logboeken. In fsync is de detectie van gaten in bestanden met een groot aantal extents en zonder gaten uitgeschakeld, wat de uitvoering van bepaalde specifieke tests vijf keer versneld heeft.
- Geheugen en systeemdiensten
- Verbeterde verwerking van video-geheugentekort. In het geval van uitgeputte vrije video-geheugen probeert de kernel nu buffers van applicaties zonder gegarandeerde geheugenquota (dmem cgroup) uit het video-geheugen naar het systeemgeheugen (GTT) te verplaatsen in plaats van direct het toewijzen van video-geheugen te weigeren. Deze aanpak garandeert de toewijzing van middelen aan een applicatie waarvoor het systeem een bepaalde hoeveelheid video-geheugen heeft gereserveerd, zelfs als het geheugen al aan andere applicaties is toegewezen. Eerder, als een applicatie zonder quota al video-geheugen had gekregen, kon een applicatie met gegarandeerde quota dit niet krijgen bij video-geheugentekort, en in plaats van video-geheugen werd trager systeemgeheugen, aangeroepen vanuit de GPU via de TTM-subsystemen (Translation Table Maps), toegewezen aan de applicatie.
Ondersteuning voor dmem cgroup is geïmplementeerd voor de stuurprogramma's nouveau, xe en amdgpu. - In het SCHED_EXT-mechanisme, dat BPF gebruikt voor het creëren van CPU-schedulers, is het werk aan de mogelijkheid om geneste schedulers (sub-scheduler) te creëren voltooid, waarmee elke cgroup zijn eigen taak scheduler kan gebruiken.
- Verbeteringen zijn aangebracht in de taak scheduler met betrekking tot de verwerking van cgroup en het oplossen van problemen met gewichtstoewijzing, die extra overhead en vertragingen veroorzaakten. Verschillende methoden voor gewichtstoewijzing voor cgroup zijn voorgesteld – 'up', 'max', 'concur' en 'tasks', die worden ingesteld via de cgroup_mode parameter. Een enkele uitvoer queue (runqueue) is in gebruik voor het plannen van taken binnen cgroup. Vertragingen bij het plannen van taken met korte tijdslices zijn verminderd door
de mogelijkheid om indien nodig taken die zijn beschermd tegen verdringing, te annuleren, bij te werken of de uitvoeringstijd te minimaliseren. - het binfmt_misc mechanisme (\/proc\/sys\/fs\/binfmt_misc) is geïmplementeerd.
de mogelijkheid om BPF-handlers aan te sluiten voor het toevoegen van ondersteuning voor nieuwe uitvoerformaten. De wijziging stelt ons in staat om bij elke uitvoering programatisch het type uitvoerbaar bestand te analyseren en de juiste interpreter of dynamische loader te selecteren zonder hacks zoals het gebruik van de patchelf utility en scriptomsluitingen. Bijvoorbeeld, in een BPF-programma kunnen uitvoerbare bestanden voor andere architecturen of platforms worden gedefinieerd en bijbehorende emulators of Wine worden uitgevoerd, evenals het vergemakkelijken van de organisatie van uitvoerbare bestanden in pakketten die in verschillende mappen zijn geïnstalleerd in systemen met de pakketbeheerder Nix. - De wijzigingen uit de Rust-for-Linux tak zijn verder overgezet, gerelateerd aan het gebruik van de programmeertaal Rust als tweede taal voor het ontwikkelen van stuurprogramma's en modules van de kernel (ondersteuning voor Rust is standaard niet ingeschakeld en leidt er niet toe dat Rust een verplichte bouwafhankelijkheid van de kernel wordt). Het is nu mogelijk om Rust te gebruiken voor de PowerPC-architectuur. Geïmplementeerd zijn: een module voor verliesloze gehele getal conversies, een modus voor het obfusceren van logwaarden van pointers om het lekken van informatie over het adresruimte te voorkomen, een wrapper boven de functie synchronize_rcu(), geheugenbarrières, een interrupt module voor het in- en uitschakelen van interrupts, types voor invoer/uitvoer, wrappers boven fwctl, een SRCU-mechanisme (sleepable read-copy-update), wrappers boven gem shmem.
spinlock-locks SpinLockIrq, die interrupts in kritieke secties voorkomen. - Een sysctl-parameter syscall_user_dispatch is toegevoegd voor het beheren van het inschakelen van de dispatchmodus voor systeemaanroepen in de gebruikersruimte, waardoor één proces systeemaanroepen van een ander proces kan onderscheppen (gebruikt in Wine voor het emuleren van Windows systeemaanroepen).
- Een functie bpf_sock_read_xattr() is toegevoegd aan BPF, waarmee BPF-programma's de door de gebruiker ingestelde uitgebreide attributen kunnen lezen
(user.*) van de inode van sockets. In BPF-toepassingen is het nu mogelijk om globale variabelen te definiëren die aan de CPU zijn gebonden. In de BPF-programmaverificator is aanvullende informatie over gevonden fouten verstrekt, waardoor het identificeren van de oorzaak van problemen wordt vergemakkelijkt. - In de traceermechanismen kprobes, uprobes en fprobes is ondersteuning voor typeconversie geïmplementeerd, met behulp van BTF (BPF Type Format) gegevens die informatie bevatten voor typecontroles in BPF-pseudocode, en zijn verbeterde extractie van informatie over variabelen.
- In het DAMON-systeem (Data Access MONitor), dat het mogelijk maakt om de toegang van een proces tot gegevens in het geheugen te volgen (bijvoorbeeld om te achterhalen welke geheugengebieden door het proces zijn aangesproken en welke ongebruikt zijn gebleven), is de mogelijkheid toegevoegd om wijzigingen in data-attributen te monitoren (anoniem geheugen, gemapte bestanden, alleen-lezen toegang, geen toegang tot geheugen, enz.).
- In het KHO-mechanisme (Kexec HandOver), dat wordt gebruikt om een nieuwe kernel te starten vanuit een oude zonder de systeemstatus te verliezen, is rekening gehouden met de toewijzing van grote gehepages (huge pages) tijdens het opstarten. Dergelijke gehepages worden nu gemarkeerd en opgeslagen na het opstarten van de nieuwe kernel.
- De low-level code van het swap-systeem is overgezet naar een nieuwe low-level datastructuur swap_ops, die het onderhoud van de code heeft vereenvoudigd en de abstracties heeft geïmplementeerd die nodig zijn voor toekomstige functionaliteitsuitbreidingen.
- Nieuw toegevoegde ioctl-commando's ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT en ALLOCINFO_IOC_GET_NEXT maken het mogelijk om selectief profielgegevens over geheugentoewijzing naar de gebruikersruimte door te geven. In vergelijking met de eerder beschikbare interface /proc/allocinfo, bieden de voorgestelde ioctl-aanroepen een tot 20 keer hogere prestaties voor het profileren van aanvragen door overbodige gegevens te filteren.
- Verbeterde verwerking van video-geheugentekort. In het geval van uitgeputte vrije video-geheugen probeert de kernel nu buffers van applicaties zonder gegarandeerde geheugenquota (dmem cgroup) uit het video-geheugen naar het systeemgeheugen (GTT) te verplaatsen in plaats van direct het toewijzen van video-geheugen te weigeren. Deze aanpak garandeert de toewijzing van middelen aan een applicatie waarvoor het systeem een bepaalde hoeveelheid video-geheugen heeft gereserveerd, zelfs als het geheugen al aan andere applicaties is toegewezen. Eerder, als een applicatie zonder quota al video-geheugen had gekregen, kon een applicatie met gegarandeerde quota dit niet krijgen bij video-geheugentekort, en in plaats van video-geheugen werd trager systeemgeheugen, aangeroepen vanuit de GPU via de TTM-subsystemen (Translation Table Maps), toegewezen aan de applicatie.
- Virtualisatie en beveiliging
- Een nieuw isolatiemechanisme is voorgesteld dat de toegang tot de inhoud van bestandssystemen blokkeert, behalve voor bronnen die expliciet via bestandshandles aan de sandbox-omgeving zijn doorgestuurd. Dit mechanisme is geïmplementeerd met behulp van een pseudo-bestandssysteem failfs en een systeembel om fchroot.
De pseudo-FS failfs lijkt op het FS nullfs, maar in tegenstelling tot de laatste implementeert het principe 'niets wordt ondersteund' in plaats van 'niets wordt opgeslagen'. Deze eigenschap staat niet toe om iets bovenop failfs te monteren, het klonen van FS uit te voeren of de status te volgen via statmount(), listmount(), /proc//mountinfo en /proc/filesystems. Als de root- of werkdirectory van het proces zich in failfs bevindt, worden alle pogingen om door het FS te navigeren met behulp van absolute padnamen, symbolische links en relatieve padnamen die afhankelijk zijn van de huidige werkdirectory, geblokkeerd. Het proces heeft alleen de mogelijkheid om toegang te krijgen tot een bepaalde directory via bestandsdescriptoren die vóór isolatie zijn geopend.
Om over te schakelen naar de nieuwe isolatiemodus is de systeemaanroep fchroot toegevoegd, die lijkt op de systeemaanroep chroot, maar werkt op het niveau van bestandsdescriptoren. Aan de systeemaanroepen fchdir is de vlag FD_FAILFS_ROOT toegevoegd om de werkdirectory van het proces naar het FS failfs te verplaatsen.
Een vergelijkbare vlag is beschikbaar in de systeemaanroep fchroot. - Een mogelijkheid om toegang tot het geheugen van het gastensysteem te volgen is toegevoegd via het mechanisme userfaultfd, dat het mogelijk maakt om handlers te creëren voor toegang tot niet-toegewezen of beschermde geheugensegmenten in de gebruikersruimte. In de praktijk stelt deze mogelijkheid de hypervisor in staat om geheugensegmenten te identificeren die in de virtuele machine niet zijn aangesproken, zodat ze naar langzamere geheugentypen of externe opslag kunnen worden verplaatst. Om schendingen van de ingestelde in- en uitvoerbeperkingen in het opvolggebied bij te houden, is de vlag UFFDIO_REGISTER_MODE_RWP toegevoegd, die kan worden gebruikt als een meer prestatiegerichte analoog voor het toepassen van mprotect(PROT_NONE) in combinatie met een signaalhandler, die wordt gegenereerd bij toegang tot geheugen waarvoor een lees- en schrijfbewaking is ingesteld (in het geval van userfaultfd wordt een exceptie gegenereerd die in de gebruikersruimte wordt afgehandeld). Deze wijziging is voorbereid met hulp van AI ('Assisted-by: Claude:claude-opus-4-6').
- De scheiding tussen kernelthreads (kthread) en het init-proces (PID 1) is versterkt. Voorheen werd de status van het bestandssysteem gezamenlijk gebruikt in kernelthreads en PID 1.
wat het mogelijk maakte om met de oproep pivot_root() de staat van het bestandssysteem voor alle kernelthreads te herschrijven. In de nieuwe versie is er een volledig aparte structuur fs_struct gebruikt voor PID 1, en worden kernelthreads geïsoleerd in een aparte mount-punt met nullfs. - De geïntegreerde cryptografische bibliotheek (libcrypto) heeft ondersteuning toegevoegd voor AES-versleutelmodi — ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM en CCM.
- In het systeem van mandaat gecontroleerde toegang AppArmor is het mogelijk gemaakt om gecomprimeerde regelsets te laden en is er een auditmodus toegevoegd.
- Er is een sysctl-parameter af_alg_restrict toegevoegd, die het inschakelen van toegang tot de cryptografische API AF_ALG vanuit de gebruikersruimte regelt. AF_ALG maakt gebruik van hardwareversnellers voor cryptografische berekeningen in de Crypto API van de kernel, maar wordt in vrij specifieke situaties toegepast en biedt niet altijd een prestatieverbetering ten opzichte van gebruikersruimteversnelling. Bovendien zijn er in de AF_ALG-handlers een aantal kwetsbaarheden ontdekt, zoals Copy Fail, die het mogelijk maken om gegevens in de paginacache te wijzigen. Om het aanvalsvlak te verkleinen, is de toegang tot AF_ALG standaard gedeeltelijk beperkt. Er wordt overwogen om AF_ALG in een van de toekomstige versies te verwijderen.
- De verificatie van BPF-programma's die zijn ondertekend met een digitale handtekening is aangescherpt. Er is een controle van de integriteit van de metadata van het BPF-programma toegevoegd voordat het wordt geladen.
- In de systeemoproep landlock_restrict_self(), die wordt gebruikt om Landlock-vergrendelingen te activeren, is een vlag toegevoegd
LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, die het huidige proces verbiedt nieuwe privileges te verwerven. Het Landlock-mechanisme stelt niet-geprivilegieerde programma's in staat om ongewenste privileges die niet nodig zijn voor hun werking op te geven, waardoor ze hun verdere toegang tot het systeem vrijwillig beperken voor een verhoogde veiligheid, bijvoorbeeld ter bescherming tegen pogingen om kwetsbaarheden in het programma te exploiteren. - In de VirtIO-GPU-driver, die de werking van de virtuele GPU mogelijk maakt, is ondersteuning voor de slaapstand S4 (hibernatie) toegevoegd.
- Een nieuw isolatiemechanisme is voorgesteld dat de toegang tot de inhoud van bestandssystemen blokkeert, behalve voor bronnen die expliciet via bestandshandles aan de sandbox-omgeving zijn doorgestuurd. Dit mechanisme is geïmplementeerd met behulp van een pseudo-bestandssysteem failfs en een systeembel om fchroot.
- Netwerk subsysteem
- In ksmbd, de in de kernel ingebouwde server voor het SMB-protocol, is ondersteuning toegevoegd voor Apple Time Machine-extensies voor het opslaan van back-ups die zijn gemaakt in macOS via deze applicatie. Er is een mechanisme geïmplementeerd voor het isoleren van SMB-opdrachten op basis van MessageId om aanvallen door het verzenden van ongeldige of dubbele verzoeken te blokkeren. Ondersteuning is toegevoegd voor het verzenden van herhaalde verzoeken via het SMB3-protocol zonder de sessiestatus te verstoren, als het vorige verzoek verloren is gegaan. In SMB3 is de mogelijkheid voor encryptie op niveau van afzonderlijke gedeelde opslag (share) geïmplementeerd. Er is ondersteuning toegevoegd voor encryptie van de communicatiekanaal SMB Direct, dat gebruikmaakt van RDMA-technologie (Remote Direct Memory Access).
- Er is een mogelijkheid geïmplementeerd om TCP-pakketten met de BIG TCP-extensie te gebruiken, waarmee de maximale grootte van een TCP-pak tot 4 GB kan worden vergroot, in UDP-tunnels op basis van de VXLAN- en GENEVE-protocollen.
- Ondersteuning is toegevoegd voor het doorsturen van het MCTP-protocol (Management Component Transport Protocol) over USB (MCTP-over-USB 1.1).
- Er is een mogelijkheid geboden voor het uitschakelen (unregistration) van netwerkapparaten (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan, enz.) voor geselecteerde namespace.
- Voor Bluetooth 6.2+ is er ondersteuning voor het SCI-mechanisme (Shorter Connection Interval) geïmplementeerd om de latentie bij gegevensoverdracht in Bluetooth LE (Low Energy) te verminderen.
- In de API nl80211 is een uniforme mechanisme (NL80211_CMD_PROBE_PEER) toegevoegd voor het controleren van aangesloten peers, werkend zowel in draadloze toegangsnetwerken als aan de clientzijde.
- Apparatuur
- Oude ARM-platforms, die bijna niet meer worden gebruikt en die het onderhoud van actuele subsystemen bemoeilijken, zijn als verouderd verklaard en in versie 7.5 van de kernel voor verwijdering gepland. Bijna 55.000 regels code die verband houdt met de ondersteuning van de platforms sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, oude pxa-borden, orion, dove en mv78xx0, chips zonder geheugenbeheerder (MMU) en microcontrollers stm32f4/f7/h7 zullen worden verwijderd.
- Er is een initiële ondersteuning toegevoegd voor de Apple M3 Pro, Max en Ultra-chips. Energiebeheer voor de SoC Apple is geïmplementeerd.
- In het DRM-systeem (Direct Rendering Manager) is de eigenschap ‘color format’ toegevoegd, waarmee de gebruiker het weergavekleurenformaat voor het uitvoerapparaat kan schakelen. Deze eigenschap is geïmplementeerd voor de GPU-stuurprogramma's i915 (HDMI, DP), amdgpu (HDMI, DP) en rockchip (HDMI). Voor testdoeleinden kan een opdracht zoals ‘modetest -s 115:1920×1080-60@NV12 -w 115:’color format’:4’ worden gebruikt, waarbij 115 de connector-ID is en ‘4’ het formatnummer YUV420.
- De amdgpu-driver heeft ondersteuning gekregen voor DRM-modifiers voor AMD GPU's van de serie GFX6-8 (Southern Islands, Sea Islands en Volcanic Islands). Beginondersteuning voor DCN 6.0.0 (Display Core Next) is geïmplementeerd. Oude code is opgeschoond.
Ondersteuning voor CACP (Content Adaptive Contrast and Power) is ingeschakeld, waarmee het energieverbruik van OLED-panelen kan worden verlaagd. Voor display-engines op de DCN4-architectuur is ondersteuning voor het IPS-mechanisme (Idle Power State) ingeschakeld om het energieverbruik tijdens inactiviteit te verminderen. Ondersteuning is toegevoegd voor AMD Barco grafische kaarten. - In de i915-driver is de code vernieuwd voor het bepalen van de mogelijkheden en het herstellen van de status van DisplayPort-connectoren. Voor de GPU Novalake (NVL) is ondersteuning toegevoegd voor CMTG (Common mode timing generator) en DC3DO (Display C3 met klok uit).
- De ontwikkeling van de drm-driver (Direct Rendering Manager) Xe voor GPU's op basis van de Intel Xe-architectuur, die wordt gebruikt in Intel grafische kaarten uit de Arc-familie en geïntegreerde graphics, beginnend met de Tiger Lake-processors, gaat door. Nieuwe identificatoren voor ondersteunde apparaten zijn toegevoegd. In configfs is het attribuut ‘enable_multi_queue’ geïmplementeerd om het gelijktijdig gebruik van meerdere command queue's uit te schakelen. De ondersteuning voor de slaapstand is verbeterd.
- De integratie van drivercomponenten voor de Nova-driver voor NVIDIA GPU's, uitgerust met GSP-firmware, die worden gebruikt vanaf de NVIDIA GeForce RTX 2000-serie op basis van de Turing-microarchitectuur, is voortgezet. De driver is geschreven in Rust. In de nieuwe versie is de overstap gemaakt naar nieuwe firmwarebeelden TLV, in plaats van de oude varianten die in de Nouveau-driver werden gebruikt. Ondersteuning is toegevoegd
voor het opstarten van de firmware voor de GSP-chip (GPU System Processor) met inschakeling van vGPU. Een API is toegevoegd om informatie over de videogeheugengrootte te verkrijgen. - In de Tyr-driver, geschreven in Rust en die ondersteuning biedt voor GPU ARM Mali, is de mogelijkheid toegevoegd om firmware in Mali CSF-formaat te laden, om GPU virtueel geheugen te activeren en om MCU op te starten.
- In de msm-driver is ondersteuning toegevoegd voor GPU Adreno Shikra (A704) en Eliza (722).
- Ondersteuning voor geluidsapparaten en ASoC is toegevoegd: Pioneer DJ DJM-S11,
AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1. - Ondersteuning voor de Steam Controller (2026-model) is toegevoegd; muizen Logitech G502 X Plus en G502 X Lightspeed; toetsenborden Endorfy Thock TKL, Zenbook A16; headsets Nova 5X, Nova 7 en Arctis 7; racestuur Turtle Beach VelocityOne Race; gamepads MSI Claw.
- De ondersteuning voor geluid op ASUS VivoBook M515DA/X515DAP apparaten is verbeterd.
LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx en HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
ThinkPad X1 Carbon 6e, HP ProBook 440 G5, Acer Aspire A515-57. - Ondersteuning toegevoegd voor smartphones, tablets en laptops: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini en Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
- Ondersteuning toegevoegd voor ARM-platforms en SoC Samsung Exynos 1580 (gebruikt in vlaggenschip-smartphones vanaf 2024), Orange Pi 5 pro, Sophgo SG2000 (hybride Arm/RISC-V), BeagleBadge, Qualcomm ‘Shikra’ en ‘Altera’ (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM en kaarten Sonata/Symphony gebaseerd op deze, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.
Tegelijkertijd heeft de Latijns-Amerikaanse Stichting voor Vrije Software
de versie van de volledig vrije kernel 7.3 — Linux-libre 7.3-gnu, ontdaan van firmware en stuurprogramma's die niet-vrije componenten of codefragmenten bevatten waarvan het toepassingsgebied door de fabrikant is beperkt. In versie 7.3 is de opruiming van blobben voor nieuwe stuurprogramma's voor GPU Mali Tyr, Morse Micro mm81x wifi, NXP wifi, en netwerkkaarten op Realtek-chips uitgevoerd. De opruimcode is bijgewerkt in de drivers nova-core, amdgpu, adreno, tegra, iris, rtw89 en mt76 wifi, Qualcomm Q6V5 PAS, qla2xxx scsi en audiocodecs aw88399. Namen van blobs zijn opgeruimd in dts-bestanden (devicetree) voor ARM-chips van Qualcomm.
Bron: opennet.ru
