Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds Är kÀrnlansering Linux 6.19. Bland de mest pÄtagliga förÀndringarna: Live Update Orchestrator-systemet, stöd för PCIe Link Encryption, systemanropet listns, Zero-Copy Receive-lÀget i io_uring, stöd för ARM-förlÀngningen MPAM, klp-build för att generera live-patchar, stöd för LoongArch32-arkitekturen, QoS för s2idle, optimering av revisionssystemet, Intel LASS för att skydda mot Spectre, stöd för hash-algoritmerna SHA-3 och BLAKE2b, Confidential VMBus-mekanismen, TX-optimeringar i nÀtverksunderlaget, CAN XL-protokollet, API för hÄrdvaruaccelerering av HDR-utmatning.
I meddelandet om den nya versionen sa Linus att nÀsta kÀrnversion kommer att fÄ nummer 7.0, eftersom tillrÀckligt med utgÄvor har samlats i 6.x-grenen för att förÀndra det första numret i versionsnumret (vid den tiden bildades version 6.0 strax efter 5.19). Numreringen Àndras av estetiska skÀl och Àr ett formellt steg som avlÀgsnar obehaget av att ha ett stort antal utgÄvor i serien. Linus skÀmtade om att han blir förvirrad av stora nummer, dÀr han inte har tillrÀckligt med fingrar pÄ hÀnder och fötter. Samtidigt finns det formellt skÀl för att göra en betydande Àndring av versionsnumret, eftersom det börjar med nÀsta utgÄva stödet för Rust beslutats att flytta frÄn experimentella till de grundlÀggande funktionerna i kÀrnan.
I den nya versionen har 15657 korrigeringar frÄn 2237 utvecklare antagits, patchstorleken Àr 52 MB (förÀndringarna berörde 13682 filer, 794649 rader kod tillkom, 335498 rader togs bort). I förra utgÄvan var det 15035 korrigeringar frÄn 2217 utvecklare, patchstorleken var 45 MB. UngefÀr 40 % av alla förÀndringar i 6.19 Àr relaterade till enhetsdrivrutiner, cirka 13 % av förÀndringarna har att göra med uppdatering av arkitekturspecifik kod, 12 % relaterar till nÀtverksstacken, 5 % till filsystem och 3 % till interna kÀrnsystem.
De viktigaste nyheterna i kÀrnan 6.19 (1, 2, 3):
- Disksubsystem, in- och utmatning och filsystem
- I Btrfs filsystemkontrollprocesser (scrub) och enhetsbyte blockerar inte lÀngre systemövergÄngen till vilolÀge (vid nedstÀngning sparas tillstÄndet för scrub-kontrollen; efter att systemet vaknat fortsÀtter scrub-kontrollen och enhetsbytesoperationen startar om pÄ nytt). Support för block som överskrider storleken pÄ minnessidan har lagts till RAID56-implementeringen. Förberedelser har gjorts för stöd för fscrypt . Prestandan vid hantering av lÄs vid utförande av operationer relaterade till utrymmesreserv Àr förbÀttrad.. Tillagd stöd för ioctl-operationen shutdown, som gör att filsystemet kan gÄ in i ett tillstÄnd dÀr befintliga operationer försöker avslutas, men nya operationer blockeras.
- I filsystemet Ext4 Àr inkluderad stöd för block som överstiger storleken pÄ en minnessida (>4KB pÄ x86-system). AnvÀndning av stora block möjliggör ökar prestandan för buffrade skrivoperationer med i genomsnitt 50%, men sÀnker prestandan för direkt in-/utmatning pÄ grund av ökad tid för berÀkning av kontrollsummor. I den nya versionen har Àven har lagts till optimeringar införts som ökar bandbredden vid online-defragmentering.
- I undersystemet FUSE har det förbÀttrade stödet för buffrat lÀsande vid anvÀndning av stora minnessidor (large folios). Genom iomap har det blivit möjligt att spÄra delvis aktuella folios för att bara ladda data som saknas i bufferten.
- I VFS har stöd införts för Äterkalleligt delegering av katalogkontroll (recallable directory delegation), vilket gör det möjligt att NFS överföra katalogkontrollen frÄn servern till klienten, sÄ att NFS-klienten kan spÄra katalogens tillstÄnd baserat pÄ en lokal cache utan att behöva kontakta NFS-servern. Om en annan NFS-klient gör Àndringar relaterade till denna katalog, kommer kontrollen att Äterkallas frÄn den första klienten.
- För NFS har lagts till har stöd för lÀsning i direkt in-/utmatningslÀge (direct I/O) införts. Genomfört instÀllningar /sys/kernel/debug/nfsd/io_cache_read och /sys/kernel/debug/nfsd/io_cache_write för att hantera aktiveringen av caching och direkt in-/utmatning. Manövrering av dessa instÀllningar kan minska overhead för NFS-klienten vid utförande av stora in-/utmatningsoperationer.
- I NTFS stöd för ioctl-operationen shutdown har implementerats, Rust-bindningar för standardmonteringsalternativen acl och prealloc, stöd för tid fram till 1 januari 1970 har lagts till.
- För blockenheter och filsystem inkluderat standardmÀssigt separat caching av objekt "bio" (Block I/O), som definierar aktiva in-/utmatningsoperationer.
- Minne och systemtjÀnster
-
I kÀrnan Àr inkluderad undersystemet Live Update Orchestrator (LUO), som gör det möjligt att fullstÀndigt omstarta och uppdatera kÀrnan utan att stoppa driften och utan att förlora systemets, enheternas och processernas tillstÄnd. LUO-systemet bygger pÄ en mekanism som tidigare lagts till kÀrnan. KHO (Kexec HandOver) och utöver möjligheten att starta en ny kÀrna frÄn en gammal utan att förlora systemets tillstÄnd, löser det sÄdana uppgifter som att spara tillstÄndet för enheter och RAM, samt sÀkerstÀlla kontinuitet i operationer relaterade till DMA och avbrottshantering. TillstÄndet sparas fram till bytet till den nya kÀrnan och ÄterstÀlls efter att den nya kÀrnan aktiverats utan att avbryta de kontinuerliga operationerna med enheterna som systemet och applikationerna i anvÀndarrummet utför.
-
Tillagd systemanropet listns() för att visa en lista över befintliga namnrymder i systemet utan att behöva iterera över /proc//ns/ för alla processer.
Det asynkrona in-/utdata systemet io_uring har fÄtt stöd för att placera element av olika storlek i sÀndningskön (SQE, Submission Queue Entry), likt hur det i den föregÄende versionen blev möjligt att blanda storleken pÄ elementen i resultatkön (CQE, Completion Queue Event). Tidigare var alla element i kön tvungna att ha samma storlek, vilket ledde till onödig minnesanvÀndning pÄ grund av behovet av att anvÀnda den maximala storleken för alla element i kön.
I io_uring har ocksÄ stöd lagts till för mekanismen zcrx (Zero-Copy Receive) för att ta emot data utan kopiering mellan kÀrnan och anvÀndarutrymmet. Stöd för förfrÄgningar om minneslayout för köerna SQ (Submission Queue) och CQ (Completion Queue) har lagts till, vilket gör det möjligt att fÄ information om storleken pÄ cirkulÀrt buffertutrymme, vilket Àr nödvÀndigt vid anvÀndartilldelning av minne med hjÀlp av flaggorna IORING_SETUP_NO_MMAP och IORING_MEM_REGION_TYPE_USER.
För snabb spÄrning av stacken med hjÀlp av verktyg som perf har stöd för SFrame-formatet lagts till, vilket innehÄller information om avveckling av funktionsanrop (unwind). SFrame stöds redan i GCC och binutils, pÄverkar inte prestandan och, till skillnad frÄn DWARF-formatet, innehÄller endast en minimal uppsÀttning information som behövs för att spÄra stacken.
-
I verktyget perf har lagts till stöd för en enhetlig beskrivning av metrik och hÀndelser i JSON-format, samt fördröjd avveckling (deferred unwinding) av stacken i anvÀndarutrymmet.
För AMD-processorer implementerat en mekanism för att införa data direkt i L3-cachen pÄ CPU:n frÄn in-/utmatningsenheter utan att först placera dem i RAM.
Stöd för MPAM (Memory System Resource Partitioning and Monitoring), utvidningar av ARMv8-A kommandosetets arkitektur för att mÀrka varje minnesanrop med en sektionens identifierare (PARTID, Partition ID) och en övervakningsgrupps identifierare (PMG, Monitoring Group ID). I förhÄllande till PARTID kan resursförbrukning, sÄsom minnesbandbredd eller cache-storlek, begrÀnsas sÄ att en viss uppgiftsgrupp inte upptar alla resurser. I sammanhanget av övervakning kan kombinationen av PMG och PARTID anvÀndas för att spÄra minnesresursförbrukning under vissa typer av belastningar.
NÀr en process ovÀntat avslutas efter att ha mottagit en signal, kan en annan process som har pidfd för den avslutade processen nu bestÀmma nummer pÄ signalen som ledde till processens avslutning.
Implementeringen av omstartbara sekvenser (restartable sequences), som tillÄter applikationer att organisera ett pseudo-atomÀrt, icke-interruptible utförande av en grupp instruktioner (vid avbrott av en annan trÄd görs ett försök att Äter utföra sekvensen). Den nya implementationen erbjuder högre prestanda.
-
För BPF-program implementeras instruktioner BPF_JMP, BPF_X och BPF_JA för att utföra indirekta hopp till en viss position i hopp-tabellen. Konceptet av dynamiska pekare har lagts till (dynptr), vilket gör det möjligt att lÀsa data frÄn strukturerade filer. Tillagd möjlighet att fÀsta flera byte med metadata till nÀtverkspaket.
Moduler skrivna i Python, som anvÀnds för att bearbeta dokumentation till kÀrnan, har flyttats till en separat katalog tools/lib/python.
-
Funktionalitet har lagts till mempool_alloc_bulk() för sÀker allokering av element frÄn minnespoolen för flera objekt samtidigt.
-
Fortsatt överföring av förĂ€ndringar frĂ„n grenen Rust-for-Linux, relaterat till anvĂ€ndningen av Rust-sprĂ„ket som ett andra sprĂ„k för utveckling av drivrutiner och kĂ€rnmoduler (stöd för Rust Ă€r inte aktiverat som standard och leder inte till att Rust ingĂ„r bland kĂ€rnans obligatoriska byggberoenden). I den nya versionen Ă€r kĂ€rnan inbyggd biblioteket âsyn» med Rust-kodparser som förenklar skrivandet av komplexa makron. Utökade funktioner i biblioteken kernel, pin-init och rbtree. En ny bibliotek num har lagts till med typalen Integer för manipulering av heltal. Makrot module! har fĂ„tt stöd för heltalsparametrar. Möjlighet har implementerats att ange parametrar vid inlĂ€sning av kĂ€rnmoduler skrivna i Rust. Abstraktioner för subsystem har implementerats. I2C och PWM (Pulsbreddsmodulering).
-
Tillagd makrot at_least (till exempel, param[at_least 7], som informerar om den minimi tillÄtna storleken pÄ matrisen som skickas till funktionen. Om en matris med fÀrre element Àn sÄ hÀr skickas till funktionen, kommer kompilatorn att ge en varning.
-
I sammansĂ€ttningen pĂ„slagen skriptet klp-build för att generera kĂ€rnmoduler som gör Ă€ndringar i den körande kĂ€rnan (livepatch) baserat pĂ„ en patchfil. Ăndringar har införts i verktyget objtool som Ă€r nödvĂ€ndiga för att skapa live-patchar.
-
I User-mode Linux (köra kÀrnan som en anvÀndarprocess) har lagts till begrÀnsat stöd för multiprocessoritet, men trÄdar inom en enda process kan för nÀrvarande inte köras parallellt. Har startat portering av User-mode Linux till biblioteket nolibc.
-
Tillagd stöd för arkitektur LoongArch32 (LA32R, LA32S) utöver LoongArch64.
-
Tillagd möjlighet att stÀlla in QoS-grÀnser för intensiteten av processorvÀckning i energibesparande lÀge s2idle (Suspend-To-Idle), som fryser körningen av processer i anvÀndarutrymmet, men lÄter vissa hanterare i kÀrnan förbli aktiva.
-
Tillagd stöd för att hantera minnessidtabeller för kontroller IOMMU (Input-Output Memory Management Unit), som utför översÀttning av virtuella adresser som syns för hÄrdvaran till fysiska adresser, med möjlighet att filtrera DMA-operationer baserat pÄ virtuella adresser, samt att begrÀnsa och isolera in- och utdataoperationer.
I hÀndelser av spÄrning av systemanrop har möjligheten att lÀsa buffertar frÄn anvÀndarutrymmet och inkludera deras innehÄll (till exempel filnamn) i resultaten av spÄrningen implementerats.
-
**Vaktminnessidor(( (guard page), Ätkomst till vilka orsakar ett undantag och kraschar processen (SIGSEGV), Àr nu markerade med en speciell etikett i filen /proc/PID/smaps.
-
Tillagd möjlighet att hantera stora minnessidor (transparent huge page) i privat minne pÄ zonerade enheter.
-
I enheten zram, som anvÀnds för komprimerad lagring av swap-partitionen i minnet, har möjligheten stöd för att utvisa flera «bio»-strukturer (Block I/O) i batchlÀge (writeback batching).
Typsnittet ingĂ„r «Terminus 10Ă18», vilket förbĂ€ttrar lĂ€sbarheten av information frĂ„n konsolen pĂ„ skĂ€rmar av medelhög upplösning (1440Ă900).
-
Betydligt optimerad arbete revisionssystem â en halvering av overheadkostnaderna har observerats.
-
- Virtualisering och sÀkerhet
- Stödet för den funktion som erbjuds av Intel-processorer har lagts till separation av linjĂ€rt adressutrymme (LASS, linear address-space separation) gör att man hĂ„rdvarumĂ€ssigt kan separera adresseringsomrĂ„dena för anvĂ€ndarutrymmet och kĂ€rnan för att öka sĂ€kerheten. Adressutrymmet separeras efter den högsta adressbiten â hĂ€lften av adressutrymmet med den högsta biten satt anvĂ€nds för kĂ€rnan, medan den nedre anvĂ€nds för anvĂ€ndarutrymmet. Under den tidiga exekveringsfasen av instruktioner (före spekulativ exekvering) utförs en kontroll av giltigheten för Ă„tkomst frĂ„n anvĂ€ndarutrymmet till adresser med den högsta biten satt och vice versa. Denna separation möjliggör blockering av kĂ€rnminneslĂ€ckor till anvĂ€ndarutrymmet via sidokanaler Ă€ven vid spekulativ exekvering av instruktioner, vilket gör att LASS kan anvĂ€ndas för att skydda mot attacker av klassen Meltdown och Spectre utan att orsaka stora overheadkostnader.
- Möjlighet till aktivering har lagts till. tillĂ€gg förstĂ€rkning av sĂ€kerheten pĂ„ PCI Express-bussen â PCIe Link Encryption och PCIe Device Authentication, som gör det möjligt att bekrĂ€fta Ă€ktheten och kryptera kommunikationskanalen mellan PCIe-enheten och den virtuella maskinen, som skyddas av mekanismer frĂ„n Intel TDX (Trusted Domain Extensions) och AMD SEV-SNP (Secure Nested Paging). De implementerade teknologierna tillĂ„ter inte att man fĂ„ngar, analyserar och injicerar data i DMA-trafiken vid tillgĂ„ng till vĂ€rdsystemet eller andra enheter.
- I den inbyggda kryptografiska biblioteket har lagts till stödet för algoritmerna SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 och BLAKE2b.
- För LSM-moduler (Linux Security Modules) och sÀrskilt för SELinux, har möjligheten möjligheten att spÄra skapandet av memfd-deskriptorer för att tillÀmpa sÀkerhetspolicys pÄ associerade objekt.
- I LSM-modulen IPE (Integrity Policy Enforcement), som definierar en övergripande policy för att sÀkerstÀlla integriteten för hela systemet, har stöd för flaggan AT_EXECVE_CHECK i funktionen execveat(), som inkluderar en kontroll av skriptets integritet innan det körs av tolken.
- Primtalen scoped_user_read_access(), scoped_user_write_access och scoped_user_rw_access har lagts till för begrÀnsad Ätkomst till data i anvÀndarutrymmet med skydd mot spekulativa attacker.
- Tillagd stöd för mekanismen Confidential VMBus, som anvÀnds i HyperV-hypervÀxeln för att möjliggöra sÀker interaktion mellan gÀstsystemet som körs i konfidentiellt lÀge (med minneskryptering och registerisolering baserat pÄ AMD SNP- och Intel TDX-teknologier), och paravisorn som ansvarar för Ätkomsten till enheter som hanterar konfidentiella data.
- Tillagd möjlighet att överföra information om en process som avslutats ovÀntat (för att generera coredump) via mekanismen pidfd. PIDFD-identifikatorn kopplas till en specifik process och förÀndras inte, medan PID kan kopplas till en annan process efter att den aktuella processen kopplad till detta PID har avslutats. AnvÀndningen av pidfd möjliggör blockering av att attacker ersÀtta den ovÀntat avslutade suid-processen med en annan process, vilket Ästadkommer en race-tillstÄnd under tiden efter att kÀrnan har pÄbörjat bearbetningen av det ovÀntade avslutet men före att anvÀndarutrymmesbehandlaren har kontrollerat processparametrarna.
- NĂ€tverkssystemet
- I nÀtverksunderdelarna har optimeringar införts för att öka effektiviteten i datatransmission (TX). Genom att avlÀgsna spin-lÄsningen frÄn funktionen __dev_queue_xmit() och anvÀnda en lÄsfria strukturen llist möjliggjordes en fyrfaldig ökning av prestandan under hög belastning och en fördubblad paketutsÀndningsintensitet vid lÀgre CPU-belastning.
- TillhandahÄllet att avstÀngning av systemgrÀnser för minnesanvÀndning för specifika nÀtverksockets (i det hÀr fallet kommer gemensamma minnesgrÀnser som anges för specifika containrar att anvÀndas). För att hantera borttagning av grÀnser föreslÄs sysctl net.core.bypass_prot_mem och flaggan SK_BPF_BYPASS_PROT_MEM i funktionen bpf_setsockopt.
- Tillagd stöd för utvidgningen RFC 5837, som lÀgger till data om inkommande nÀtverksgrÀnssnitt i ICMP-meddelanden Time Exceeded, som returneras nÀr paketets livslÀngd (TTL) löper ut, för att fÄ mer detaljerad information vid spÄrning av rutter med traceroute-verktyget.
- Tillagd stöd för kontinuerlig aktiv polling (busy polling) i en separat kÀrntrÄd för att hÀmta descriptors frÄn RX/TX-köer för applikationer som krÀver minimala fördröjningar.
- Stöd för protokollet CAN XL (Controller Area Network eXtended Length), dÀr storleken pÄ datadelen har ökat till 2048 byte för att möjliggöra integration med TCP/IP-nÀtverk, har funktionen för att tunnelera Ethernet-ramar implementerats och stöd har lagts till. breddimpulsmodulering, vilket möjliggjorde dataöverföringar med hastigheter pÄ 20 Mbit/s och högre.
- Tillagd stöd för strukturen sockaddr_unsized, en variant av sockaddr-strukturen som anvÀnder en array med flexibla element istÀllet för en array med fast storlek (sa_data[] istÀllet för sa_data[14], som i grunden anvÀndes för att referera till andra större strukturer).
- Funktionaliteten för getsockname och getpeername har lagts till via io_uring-subsystemet.
- Sysctl har lagts till net.ipv4.tcp_rcvbuf_low_rtt och net.ipv4.tcp_comp_sack_rtt_percent för att optimera TCP.
- Tillagd stöd för lÀnkar med en bandbredd pÄ 1600 Gbps (1.6T).
- Utrustning
- I DRM-subsystemet (Direct Rendering Manager) har ett API lagts till för att anvÀnda hÄrdvarufunktioner för fÀrgkonvertering, vilket möjliggör att dessa omvandlingar kan göras utan att anvÀnda shaders eller köra kod pÄ CPU:n. För att visa innehÄll pÄ HDR-monitorer kan komplexa fÀrgkonverteringar nu utföras av displaykontrollern före och efter blandning av lager (blending), istÀllet för att göra programmatisk sammansÀttning av innehÄllet i den slutliga visningsbufferten. Utöver att minska overhead och energiförbrukning vid HDR-grafik kan den föreslagna funktionaliteten anvÀndas för korrekt fÀrgÄtergivning i videoredigerare eller bildredigerare.
- Tillagd ethosu-drivrutinen för NPU Arm Ethos U65 och U85, avsedd för hÄrdvaruacceleration av AI-modeller.
- I i915-drivrutinen för GPU Lunar Lake och nyare har stöd för hÄrdvaruökning av bildskÀrpa (Sharpening) lagts till.
- FortsÀtter arbete med drm-drivrutinen (Direct Rendering Manager) Xe för GPU:er baserade pÄ Intel Xe-arkitekturen, som anvÀnds i Intel:s grafikkort frÄn Arc-familjen och integrerad grafik, som börjar frÄn Tiger Lake-processorer. GrundlÀggande stöd för Xe3P-arkitekturen, som anvÀnds i GPU Crescent Island och Nova Lake-familjens integrerade grafikprocessorer, har lagts till.
- I AMDGPU-drivrutinen implementeras fullt stöd för AMD:s grafikkort frÄn GCN 1.0-serien "Southern Island" och 1.1-serien "Sea Islands", för vilka Radeon-drivrutinen tidigare anvÀndes. AMDGPU-drivrutinen har försetts med funktioner motsvarande Radeon-drivrutinen och Àr aktiverad för de angivna GPU:erna som standard. GCN 1.x-kort slÀpptes mellan 2012 och 2019 och omfattar modeller som Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 och andra grafikkort frÄn Radeon Rx 200/Rx 300-familjen. Förutom ökningen av prestanda med i genomsnitt 24 %, möjliggjorde övergÄngen till AMDGPU stöd för grafiskt API Vulkan 1.3 för dessa GPU:er. Dessutom tillades stöd för analoga anslutningar och Video Coding Engine 1.0 i AMDGPU, och Display Core-stacken (DC) aktiverades som standard för GPU:er baserade pÄ mikroarkitekturen Bonaire (Radeon HD 7790).
- I Nouveau-drivrutinen har möjligheten Àr stöd för hÄrdvaruacceleratorn NVJPG, som finns i SoC Tegra210.
- I Panthor-drivrutinen har lagts till stöd för GPU:n Mali-G1 och grundlÀggande stöd för MediaTek MT8196-chipet.
- Tillagd stöd för ljudsystemet i Intel Nova Lake S-chips, laptops frÄn HP med HDA CS35L41, samt ljudgrÀnssnitt CIX IPBLOQ HD och Onkyo SE-300PCIE.
- Integrationen av komponenter frÄn Nova-drivrutinen för NVIDIA GPU:er, som anvÀnder GSP-firmware, som infördes med NVIDIA GeForce RTX 2000-serien baserad pÄ Turing-mikroarkitekturen, har fortsatt. Drivrutinen Àr skriven i Rust. I den nya versionen har arbetet med RPC pÄbörjats och avslutats implementeringen av GSP (GPU System Processor)-kooperativet.
- Tillagd stöd för ARM-plattformar, SoC och enheter: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937 (Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin Evaluation Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 varianter av Enclustra Mercury-kort.
- Stöd har lagts till för smartphones och surfplattor baserade pÄ SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) och Qualcomm MSM8939 (ASUS ZenFone 2). Stöd för laptops baserade pÄ SoC Qualcomm sdm850, sÄsom Huawei MateBook E 2019, har lagts till.
- Stöd har lagts till för SoC och kort baserade pÄ RISC-V-arkitekturen: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.
Samtidigt har den Latinamerikanska stiftelsen för fri programvara skapat en variant av den helt fria kĂ€rnan 6.19 â Linux-libre 6.19-gnu, rensad frĂ„n firmware- och drivrutinskomponenter som innehĂ„ller icke-fria komponenter eller kodavsnitt vars anvĂ€ndning Ă€r begrĂ€nsad av tillverkaren. I version 6.19 har koden för att ladda binĂ€ra firmware-strĂ€ngar tagits bort frĂ„n ljudsystemet SDCA. Koden för rengöring av blobbar i drivrutinerna Intel XE, Nova-Core, Qualcomm Iris, Venus och Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 och ljudcodec TI tas2783 har uppdaterats. Blob-namn har rensats i dts-filer (devicetree) för ARM-chip. Rengöringen av drivrutinen STM C8SECTPFE DVB, som tagits bort frĂ„n kĂ€rnan, har upphört.
KĂ€lla: linux.org.ru
