Pas dy muajsh zhvillimi, Linus Torvalds paraqiti lëshimi i kernelit Linux 6.19. Ndër ndryshimet më të dukshme janë: nën-sistema Live Update Orchestrator, mbështetje për PCIe Link Encryption, thirrja sistemore listns, mënyra Zero-Copy Receive në io_uring, mbështetje për zgjerimin ARM MPAM, klp-build për gjenerimin e patch-eve live, mbështetje për arkitekturën LoongArch32, QoS për s2idle, optimizimi i nën-sistemit të auditimit, Intel LASS për mbrojtje nga Spectre, mbështetje për hash SHA-3 dhe BLAKE2b, mekanizmi Confidential VMBus, optimizimet TX në nën-sistemin rrjet, protokolli CAN XL, API për akselerimin harduerik të daljes HDR.
Në njoftimin e versionit të ri, Linus njoftoi se versioni i ardhshëm i kernelit do të ketë numrin 7.0, pasi në depon 6.x janë akumuluar mjaft lëshime për të ndryshuar numrin e parë në numrin e versionit (në atë kohë, lëshimi 6.0 u formua pas 5.19). Ndryshimi i numrave bëhet për arsye estetike dhe është një hap formal, që heq pakënaqësinë për shkak të grumbullimit të numrit të madh të lëshimeve në seri. Linus bëri shaka se numrat e mëdhenj e shqetësojnë, pasi nuk i mjaftojnë gishti në duar dhe këmbë. Megjithatë, formalisht ka një arsye për një ndryshim të rëndësishëm të numrit të versionit, pasi duke filluar nga lëshimi i ardhshëm, mbështetje për Rust u vendos do të transferohet nga mundësitë eksperimentale në mundësitë kryesore të kernelit.
Në versionin e ri janë pranuar 15657 rregullime nga 2237 zhvillues, madhësia e patch-it është 52 MB (ndryshimet preku 13682 skedarë, u shtuan 794649 rreshta kodi, u fshinë 335498 rreshta). Në lëshimin e kaluar kishte 15035 rregullime nga 2217 zhvillues, madhësia e patch-it ishte 45 MB. Rreth 40% e të gjitha ndryshimeve të paraqitura në 6.19 kanë të bëjnë me driverat e pajisjeve, rreth 13% e ndryshimeve lidhen me përditësimin e kodit specifik për arkitekturë harduerike, 12% lidhen me grykën rrjet, 5% me sistemet e skedarëve dhe 3% me nën-sistemet e brendshme të kernelit.
Inovacionet kryesore në kernelin 6.19 (1, 2, 3):
- Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
- NĂ« Btrfs proceset e verifikimit tĂ« FS (scrub) dhe zĂ«vendĂ«simit tĂ« pajisjeve nuk bllokojnĂ« kalimin e sistemit nĂ« gjumĂ« (para se tĂ« fiket ruhet gjendja e kontrolleve scrub; pasi doli nga gjumi, kontrolli scrub vazhdon, ndĂ«rsa operacioni i zĂ«vendĂ«simit tĂ« pajisjeve fillon pĂ«rsĂ«ri). NĂ« realizimin e RAID56 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r blloqe qĂ« kalojnĂ« madhĂ«sinĂ« e faqes sĂ« memories. ĂshtĂ« bĂ«rĂ« pĂ«rgatitja pĂ«r mbĂ«shtetje tĂ« fscrypt. ĂshtĂ« rritur performanca e punĂ«s me bllokime gjatĂ« operacioneve qĂ« lidhen me rezervimin e hapĂ«sirĂ«s. Shtuar mbĂ«shtetje pĂ«r operacionet ioctl shutdown, qĂ« lejojnĂ« kalimin e FS nĂ« njĂ« gjendje ku bĂ«het njĂ« pĂ«rpjekje pĂ«r tĂ« pĂ«rfunduar operacionet qĂ« janĂ« nĂ« proces, por bllokohen tĂ« gjithĂ« operacionet e reja.
- Në sistemin e skedarëve Ext4 është përfshirë mbështetje për blloqe që tejkalojnë madhësinë e faqes së memories (>4KB në sistemet x86). Përdorimi i blloqeve të mëdha mundëson rrit performancën e operacioneve të shkarkimit të buferit mesatarisht me 50%, por ul performancën e hyrjes/shtypjes direkte për shkak të rritjes së kohës për llogaritjen e kontrolleve të shumave. Në versionin e ri gjithashtu janë shtuar optimizations që rrisin kapacitetin gjatë kryerjes së defragmetimit online.
- Në nën-sistemin FUSE është përmirësuar mbështetja për leximin e buferit kur përdoren të mëdha folios të faqeve të memories (folio të mëdha). Përmes iomap është realizuar mundësia për të ndjekur foliot e pjesshëm të saktë për të ngarkuar vetëm të dhënat që mungojnë në bufer.
- Në VFS është shtuar mbështetje për delegimin e rinovueshëm të administratës së direktorive (recallable directory delegation), që lejon realizimin e NFS kalimi i administratës së direktorive nga serveri te klienti, në mënyrë që klienti NFS të ndjekë vetë gjendjen e direktorive bazuar në memorie lokale pa kërkesa te serveri NFS. Nëse një klient tjetër NFS bën ndryshime të lidhura me këtë direktor, delegimi i administratës do të pezullohet për klientin e parë.
- Për NFS është shtuar mbështetje për leximin në modin e hyrjes/shtypjes direkte (direct I/O). Janë implementuar konfigurimet /sys/kernel/debug/nfsd/io_cache_read dhe /sys/kernel/debug/nfsd/io_cache_write për kontrollin e aktivizimit të caching dhe operacioneve të hyrjes/shtypjes direkte, manipulimi i këtyre cilësimeve lejon të ulen shpenzimet për klientin NFS gjatë kryerjes së operacioneve të mëdha të hyrjes/shtypjes.
- Në NTFS është realizuar mbështetje për operacionin ioctl shutdown, are packages with proprietary NVIDIA drivers. For systems with NVIDIA graphics chips, free "Nouveau" drivers continue to be offered by default, while proprietary drivers are available as an option for quick installation after the installation is completed; opsionet e montimit acl dhe prealloc janë aktivizuar nga parazgjedhja, është shtuar mbështetje për kohën deri më 1 janar 1970.
- Për njësitë bllokuese dhe FS e përfshirë në parazgjedhje është ndarë caching i objekteve "bio" (Block I/O), që përcakton operacionet aktive të hyrjes/shtypjes.
- Memorie dhe shërbime sistemike
-
Në bërthamë është përfshirë nën-sistemi Live Update Orchestrator (LUO), e cila lejon një rinovim dhe përditësim të plotë të bërthamës pa ndaluar funksionimin dhe pa humbur gjendjen e sistemit, pajisjeve dhe proceseve. Nën-sistemi LUO bazohet në mekanizmin që ishte shtuar më parë në bërthamë KHO (Kexec HandOver) dhe përveç mundësisë për të lançuar një bërthamë të re nga një e vjetër pa humbur gjendjen e sistemit, adreson çështje si ruajtja e gjendjes së pajisjeve dhe memorizimit, si dhe sigurimin e vazhdueshmërisë së operacioneve të lidhura me DMA dhe përpunimin e ndërprerjeve. Gjendja ruhet deri në kalimin në bërthamën e re dhe rikthehet pas aktivizimit të bërthamës së re, pa ndërprerë operacionet vazhduese me pajisjet, të realizuara nga sistemi dhe aplikacionet në hapësirën e përdoruesit.
-
Shtuar thirrja sistemike listns() për të sjellë listën e hapësirave të emrave që ekzistojnë në sistem, pa nevojën për të kaluar përmes /proc//ns/ për të gjitha proceset.
Në sistemin e hyrjes/daljes asinkrone io_uring është shtuar mbështetje për vendosjen e elementeve të madhësive të ndryshme në rreshtin e dorëzimit (SQE, Submission Queue Entry), në përputhje me atë si në versionin e kaluar që u lejua kombinimi i madhësisë së përmbajtjes së rreshtit të rezultateve (CQE, Completion Queue Event). Deri tani, të gjithë elementët në rresht duhet të kishin një madhësi, e cila shkaktonte konsum të tepërt të memories për shkak të nevojës për të përdorur madhësinë maksimale për të gjithë elementët në rresht.
NĂ« io_uring gjithashtu Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin zcrx (Zero-Copy Receive) pĂ«r marrjen e tĂ« dhĂ«nave pa kopjim midis bĂ«rthamĂ«s dhe hapĂ«sirĂ«s sĂ« pĂ«rdoruesit. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kĂ«rkesat e hartimit tĂ« memories pĂ«r rreshtat SQ (Submission Queue) dhe CQ (Completion Queue), duke lejuar qĂ« tĂ« merrni informacion rreth madhĂ«sisĂ« sĂ« rrethit tĂ« tamponit, e nevojshme gjatĂ« ndarjes sĂ« memories nga pĂ«rdoruesi me ndihmĂ«n e flamujve IORING_SETUP_NO_MMAP dhe IORING_MEM_REGION_TYPE_USER.
Për gjurmimin e shpejtë të stack-ut duke përdorur utilitarë si perf, është shtuar mbështetje për formatin SFrame me informacion mbi zgjidhjen e thirrjeve të stack-ut (unwind). SFrame tashmë mbështetet në GCC dhe binutils, nuk shkakton ulje të performancës dhe, në përputhje me formatin DWARF, përmban vetëm paketën minimale të informacionit të nevojshëm për gjurmimin e stack-ut.
-
Në utilitarin perf është shtuar mbështetje për përshkrimin e unifikuar të metrave dhe ngjarjeve në formatin JSON, si dhe gjurmimin e vonuar (deferred unwinding) të thirrjeve të stack-ut në hapësirën e përdoruesit.
Për procesorëve AMD është realizuar mekanizmi i zëvendësimit të të dhënave në cache, duke lejuar që pajisjet e hyrjes/daljes të zëvendësojnë të dhënat direkt në L3-cache të CPU-së pa i vendosur më parë në RAM.
Shtuar mbështetje MPAM (Ndërmarrja dhe Monitorimi i Burimeve të Sistemit të Memories), zgjerimi i arkitekturës së komandave ARMv8-A për të etiketuar çdo kërkesë në memorie me një identifikues seksioni (PARTID, Partition ID) dhe një identifikues grupi monitorimi (PMG, Monitoring Group ID). Në lidhje me PARTID-in, mund të kufizohet konsumimi i burimeve, siç janë kapaciteti i memories ose madhësia e cache-it, në mënyrë që ndonjë grup detyrash të mos zërë të gjitha burimet. Në kontekstin e monitorimit, kombinimi i PMG dhe PARTID mund të përdoret për të monitoruar konsumimin e burimeve të memories nën tipo të caktuara ngarkese.
Në rast të përfundimit aksidental të procesit pas marrjes së sinjalit, një proces tjetër, që ka pidfd të procesit të përfunduar, tani mund të përcaktojë numrin e sinjalit që çoi në përfundimin e procesit.
Rikonstruktuar realizimi i sekuencave të rinisjes (sekuenca rinisjeje), duke mundësuar aplikacioneve të organizojnë një ekzekutim pseudo-atomar të pandërprerë të një grupi instrukcionesh (nëse ndërpritet nga një rrjedh tjetër, bëhet një përpjekje për të rinisur ekzekutimin e sekuencës). Realizimi i ri karakterizohet me performancë më të lartë.
-
Për Programet BPF realizuar instruksionet BPF_JMP, BPF_X dhe BPF_JA për të kryer kalime indirekte në një pozicion të caktuar nga tabela e kalimeve. Shtuar koncepti i treguesve dinamikë (dynptr), duke lejuar leximin e të dhënave nga skedarët e strukturuar. Shtuar mundësia për të bashkuar me paketa rrjetesh disa byte me metadatat.
Modulet në gjuhën Python, të përdorura për përpunimin e dokumentacionit të bërthamës, janë zhvendosur në katalogë të veçantë tools/lib/python.
-
Shtuar funksionin mempool_alloc_bulk() për alokimin e sigurt të elementeve nga puli i memories njëkohësisht për disa objekte.
-
ĂshtĂ« vazhduar kalimin e ndryshimeve nga dega Rust-for-Linux, tĂ« lidhura me pĂ«rdorimin tĂ« gjuhĂ«s Rust si njĂ« gjuhĂ« tĂ« dytĂ« pĂ«r zhvillimin e drejtorive dhe moduleve tĂ« bĂ«rthamĂ«s (mbĂ«shtetja pĂ«r Rust nuk Ă«shtĂ« aktive si parazgjedhje dhe nuk çon nĂ« pĂ«rfshirjen e Rust-it si njĂ« varĂ«si tĂ« detyrueshme pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s). NĂ« versionin e ri, nĂ« pĂ«rbĂ«rje tĂ« bĂ«rthamĂ«s integruar biblioteka "syn" me parserin e kodit Rust, duke lehtĂ«suar shkruajtjen e makrosave tĂ« komplikuara. Zgjeruar mundĂ«sitĂ« e bibliotekave kernel, pin-init dhe rbtree. Shtuar biblioteka num me tipin Integer pĂ«r manipulimin e numrave tĂ« plotĂ«. NĂ« makron module! Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r parametrat e plotĂ«. Implementuar mundĂ«sinĂ« e specifikimit tĂ« parametrave gjatĂ« ngarkimit tĂ« moduleve tĂ« bĂ«rthamĂ«s, tĂ« shkruara nĂ« Rust. Implementuar abstraksione pĂ«r nĂ«n-sistemet I2C dhe PWM (Modulimi i GjatĂ«sisĂ« sĂ« Pulsit).
-
Shtuar makros at_least (p.sh., param[at_least 7], i cili tregon madhësinë minimale të pranueshme të array-t që kalon në funksion. Nëse në funksion kalon një array me më pak elemente, kompajleri do të nxjerrë një paralajmërim.
-
Në përbërje është aktivizuar skrapti klp-build për gjenerimin e moduleve të kernelit, të cilat bëjnë ndryshime në kernelin e funksionimit (livepatch), në bazë të një skedari patch. Në utilitarin objtool janë bërë ndryshime të nevojshme për krijimin e live-patch-eve.
-
Në User-mode Linux (ekzekutimi i kernelit si një proces përdoruesi) ka shtuar mbështetje të kufizuar për shumëprocësoritet, por rrjedhat brenda një procesi nuk mund të ekzekutohen njëkohësisht ende. Ka filluar portimi i User-mode Linux në bibliotekën nolibc.
-
Shtuar mbështetje për arkitekturën LoongArch32 (LA32R, LA32S) përveç LoongArch64.
-
Shtuar mundësia për të vendosur kufizime QoS mbi intensitetin e zgjedhjes së procesorit në mënyrën e kursimit të energjisë s2idle (Suspend-To-Idle), duke ngrirë ekzekutimin e proceseve në hapësirën e përdoruesit, por duke lënë aktive disa përpunues në kernel.
-
Shtuar mbështetje për menaxhimin e tabelave të faqeve të memories për kontrollorët IOMMU (Input-Output Memory Management Unit), duke kryer translatin e adresave virtuale, të dukshme për pajisjet harduerike, në adresa fizike, me mundësinë për të filtruar operacionet DMA sipas adresave virtuale, si dhe për të kufizuar dhe izoluar operacionet e input-output.
Në ngjarjet e gjurmimit të thirrjeve të sistemit është realizuar mundësia e leximit të bufereve nga hapësira e përdoruesit dhe përfshirjes së përmbajtjes së tyre (p.sh., emrat e skedarëve) në rezultatin e gjurmimit.
-
**Faqet mbrojtëse të memories(( (guard page), e cila përballet me një përjashtim dhe ndalon procesin (SIGSEGV), tani shënohen me një shenjë të veçantë në skedarin /proc/PID/smaps.
-
Shtuar mundësia për të menaxhuar faqet e mëdha të memories (transparent huge page) në memorjen private të pajisjeve të zonuara.
-
Në pajisjen zram, e përdorur për ruajtjen e ngjeshur të seksionit të shkëmbimit në memorje, është implementuar mbështetje për zhvendosjen e disa strukturave «bio» (Block I/O) në modalitetin e paketimit (writeback batching).
NĂ« pĂ«rmbajtje Ă«shtĂ« pĂ«rfshirĂ« fonti «Terminus 10Ă18», i cili pĂ«rmirĂ«son lexueshmĂ«rinĂ« e informacionit nga konsola nĂ« ekranet e laptopĂ«ve me njĂ« pĂ«rkufizim mesatar (1440Ă900).
-
Signifikant Ă«shtĂ« optimizuar puna sistemet e auditit â vihet re njĂ« ulje e dyfishuar e shpenzimeve.
-
- Virtualizimi dhe siguria
- Shtuar mbĂ«shtetje pĂ«r mundĂ«sinĂ« e ofruar nga procesorĂ«t Intel pĂ«r ndarjen hapĂ«sirĂ« lineare adresash (LASS, ndarjen pragmatike tĂ« hapĂ«sirĂ«s adresave), duke mundĂ«suar ndarjen harduerike tĂ« ЎОапазoneve tĂ« adresave tĂ« hapĂ«sirĂ«s sĂ« pĂ«rdoruesit dhe bĂ«rthamĂ«s pĂ«r tĂ« rritur sigurinĂ«. HapĂ«sira adresore ndahet sipas bitit mĂ« tĂ« lartĂ« tĂ« adresĂ«s â gjysma e hapĂ«sirĂ«s adresore me bitin e lartĂ« tĂ« vendosur pĂ«rdoret pĂ«r bĂ«rthamĂ«n, ndĂ«rsa e poshtmja â pĂ«r hapĂ«sirĂ«n e pĂ«rdoruesit. NĂ« njĂ« fazĂ« tĂ« hershme tĂ« ekzekutimit tĂ« instrukcioneve (nĂ« fazĂ«n para ekzekutimit spekulativ), bĂ«het njĂ« kontroll i lejueshmĂ«risĂ« sĂ« qasjes nga hapĂ«sira e pĂ«rdoruesit nĂ« adresat me bit tĂ« lartĂ« tĂ« vendosur dhe anasjelltas. Kjo ndarje lejon bllokimin e rrjedhjeve tĂ« memories sĂ« bĂ«rthamĂ«s nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit pĂ«rmes kanaleve tĂ« jashtme edhe gjatĂ« ekzekutimit spekulativ tĂ« instrukcioneve, çfarĂ« e bĂ«n tĂ« mundur pĂ«rdorimin e LASS pĂ«r mbrojtjen nga sulmet e klasĂ«s Meltdown dhe Spectre, pa sjellĂ« shpenzime tĂ« mĂ«dha.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r aktivizimin zgjerimeve forcimi i sigurisĂ« sĂ« autobusit PCI Express â PCIe Link Encryption dhe PCIe Device Authentication, qĂ« lejojnĂ« konfirmimin e vĂ«rtetĂ«sisĂ« dhe enkriptimin e kanaleve tĂ« komunikimit mes pajisjes PCIe dhe makinerisĂ« virtuale, tĂ« mbrojtur nga mekanizmat Intel TDX (Trusted Domain Extensions) dhe AMD SEV-SNP (Secure Nested Paging). TeknologjitĂ« e realizuara nuk lejojnĂ« kapjen, analizimin dhe nĂ«njohjen e tĂ« dhĂ«nave nĂ« trafik DMA nĂ« prani tĂ« aksesit nĂ« sistemin host ose nĂ« pajisje tĂ« tjera.
- Në bibliotekën e integruar të kriptografisë është shtuar mbështetje për algoritmet SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 dhe BLAKE2b.
- Për modulat LSM (Linux Security Modules) dhe, në veçanti për SELinux, është implementuar mundësia për të ndjekur krijimin e deskriptorëve memfd për të aplikuar politikat e sigurisë në objektet e lidhura me to.
- Në modulin LSM IPE (Integriteti i Politikas së Zbatimit), i cili përcakton politikën e përgjithshme për sigurimin e integritetit për të gjithë sistemin, është shtuar mbështetje për flamurin AT_EXECVE_CHECK në funksionin execveat(), i cili përfshin kontrollin e integritetit të skriptit para se të ekzekutohet nga interpretuese.
- Shtohen primitive scoped_user_read_access(), scoped_user_write_access dhe scoped_user_rw_access() për qasje të kufizuar në të dhëna në hapësirën e përdoruesit nga mbrojtje sulmet spekulative.
- Shtuar mbështetje për mekanizmin Confidential VMBus, i përdorur në hipervizorin HyperV për një ndërveprim të mbrojtur nga ndërhyrjet midis sistemit të mysafirëve, i ekzekutuar në modalitetin e konfidencialitetit (me enkriptimin e memories dhe izolimin e regjistrave të bazuar në teknologjitë AMD SNP dhe Intel TDX), dhe paravisor-it, që është përgjegjës për aksesin në pajisjet që përpunojnë të dhënat konfidenciale.
- Shtuar mundësia për të transferuar informacion rreth një procesi që ka përfunduar papritur (për gjenerimin e coredump) përmes mekanizmit pidfd. Identifikuesi PIDFD lidhet me një proces të caktuar dhe nuk ndryshon, ndërsa PID mund të lidhet me një proces tjetër pas përfundimit të procesit aktual, i lidhur me këtë PID. Përdorimi i pidfd lejon bllokimin e realizimit e sulmeve nga zëvendësimi i procesit suid që ka përfunduar papritur me një proces tjetër, duke arritur një gjendje garë në momentin pas fillimit të trajtimit nga bërthama e papërfundimit të emergjencës, por përpara se trajtuesi të verifikojë parametrat e procesit në hapësirën e përdoruesit.
- Sistemi rrjetor
- Në nënshkrimin rrjetor bërë optimizimin për të përmirësuar efikasitetin e transferimit të të dhënave (TX). Shkëputja e funksionit __dev_queue_xmit() nga spin-lock dhe përdorimi i një strukture llist që funksionon pa bllokime lehoi katër herë rritjen e performancës nën ngarkesë të madhe dhe dyfishimin e intensitetit të dërgimit të paketave duke reduktuar ngarkesën në CPU me një herë.
- U ofrua mundësia çaktivizimi për soketat e veçanta të rrjetit kufizimet sistemike për përdorimin e memories (në këtë rast do të përdoren kufizimet e zakonshme për memorien, që përcaktohen për konteinerë të veçantë). Për të menaxhuar fikjen e kufizimeve është propozuar sysctl net.core.bypass_prot_mem dhe flaka SK_BPF_BYPASS_PROT_MEM në funksionin bpf_setsockopt.
- Shtuar mbështetje për zgjerimin RFC 5837, që shton në mesazhet ICMP Time Exceeded, të rikthyera kur skadon koha e jetesës (TTL) të paketës, të dhëna rreth ndërfaqeve rrjetësore për të marrë informacion më të detajuar gjatë gjurmimit të rrugëve me utilitarin traceroute.
- Shtuar mbështetje për polling aktiv të vazhdueshëm (busy polling) në një thread të veçantë të bërthamës për të nxjerrë deshkruesit nga radhët RX/TX për aplikacione që kërkojnë vonesa minimale.
- Shtuar mbështetje për protokollin CAN XL (Controller Area Network eXtended Length), në të cilin dimensioni i fushës së të dhënave është rritur deri në 2048 byte për të mundësuar integrimin me rrjetet TCP/IP, është implementuar mundësia e tunelizimit të kadrove Ethernet dhe është shtuar mbështetje për modulimin me impuls të gjerë, e cila lejon të transferojë të dhëna me shpejtësi 20 Mbit/s e lart.
- Shtuar mbështetje e strukturës sockaddr_unsized, një variant i strukturës sockaddr, që përdor një array me elemente fleksibël në vend të një array me madhësi fikse (sa_data[] në vend të sa_data[14], e cila në thelb është përdorur për referenca në struktura të tjera më të mëdha).
- Shtuar mundësinë e përdorimit të funksionalitetit getsockname dhe getpeername përmes nën-sistemit io_uring.
- Shtuar sysctl net.ipv4.tcp_rcvbuf_low_rtt dhe net.ipv4.tcp_comp_sack_rtt_percent për optimizimin e TCP.
- Shtuar mbështetje për lidhje me kapacitet prej 1600 Gbps (1.6T).
- Pajisje
- Në nën-sistemin DRM (Menaxheri i Rendering Direkt) është shtuar API për të shfrytëzuar mundësitë harduerike të transformimit të ngjyrave, duke e bërë të mundur evitimin e kryerjes së transformimeve të tilla përmes shader-ave ose ekzekutimin e kodit në CPU. Për shfaqjen e përmbajtjes në monitorët HDR, transformimet e komplikuara të ngjyrave tani mund të realizohen nga kontrolluesi i shfaqjes në fazat para dhe pas përzierjes së niveleve (blending), në vend të kompozitimit programatik të përmbajtjes në buffer-in përfundimtar të shfaqjes. Përveç uljes së kostove dhe konsumit të energjisë gjatë organizimit të shfaqjes në HDR, funksionaliteti i propozuar mund të përdoret për transferimin e saktë të ngjyrave në redaktorët e videove ose imazheve.
- Shtuar drejtori ethosu për NPU Arm Ethos U65 dhe U85, të destinuara për akselerimin harduerik të ekzekutimit të modeleve AI.
- Në drejtori i915 për GPU Lunar Lake dhe më të reja është shtuar mbështetje për përmirësimin harduerik të qartësisë së imazhit (Sharpening).
- Ka vazhduar puna mbi drejtori drm (Menaxheri i Rendering Direkt) Xe për GPU bazuar në arkitekturën Intel Xe, e cila përdoret në kartat grafike Intel të familjes Arc dhe grafikën e integruar, duke filluar nga procesorët Tiger Lake. Shtuar mbështetje fillestare për arkitekturën Xe3P, e cila përdoret në GPU Crescent Island dhe familjen e procesorëve me grafikë të integruar Nova Lake.
- Në drejtori AMDGPU është realizuar mbështetje e plotë për kartat grafike AMD të familjes GCN 1.0 'Southern Island' dhe 1.1 'Sea Islands', për punën me të cilat më parë ishte përdorur drejtori Radeon. Drejtoria AMDGPU është përmirësuar në paritet me mundësitë e drejtori Radeon dhe është aktivizuar për këto GPU si parazgjedhje. Kartat GCN 1.x janë prodhuar nga viti 2012 deri në vitin 2019 dhe përfshijnë modele të tilla si 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 dhe kartat grafike të tjera të familjeve Radeon Rx 200/Rx 300. Përveç rritjes rendimenti mesatarisht 24%, kalimi në AMDGPU ka mundësuar mbështetje për API-në grafike Vulkan 1.3 për këto GPU. Për më tepër, në AMDGPU është shtuar mbështetje për lidhës analogë dhe Video Coding Engine 1.0, si dhe është përdorur si parazgjedhje skeda DC (Display Core) për GPU-të e bazuara në mikroarkitekturën Bonaire (Radeon HD 7790).
- Në drejtuesin Nouveau është implementuar mbështetje për përshpejtuesin harduerik NVJPG, i pranishëm në SoC Tegra210.
- Në drejtuesin Panthor është shtuar mbështetje për GPU-në Mali-G1 dhe mbështetje fillestare për çipin MediaTek MT8196.
- Shtuar mbështetje për nënshkrimin audio të çipeve Intel Nova Lake S, laptopët HP me HDA CS35L41, si dhe ndërfaqet audio CIX IPBLOQ HD dhe Onkyo SE-300PCIE.
- Integrimi i komponentëve të drejtuesit Nova për GPU-t e NVIDIA-së, të pajisura me firmuer GSP, përdoren që nga seria NVIDIA GeForce RTX 2000, e bazuar në mikroarkitekturën Turing. Drejtuesi është shkruar në gjuhën Rust. Në versionin e ri ka filluar puna mbi RPC dhe ka përfunduar implementimi i ngarkesës së procesorit të ndihmës GSP (GPU System Processor).
- Shtuar mbështetje për platformat ARM, SoC dhe pajisjet: 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 variante plaka Enclustra Mercury.
- Shtuar mbështetje për smartfonët dhe tabletët e bazuar në SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) dhe Qualcomm MSM8939 (ASUS ZenFone 2). Shtuar mbështetje për laptopët në SoC Qualcomm sdm850, si Huawei MateBook E 2019.
- Shtuar mbështetje për SoC dhe plakat e bazuara në arkitekturën RISC-V: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.
NjĂ«kohĂ«sisht, Fondi i Softuerit tĂ« LirĂ« tĂ« AmerikĂ«s Latine formoi njĂ« variant nĂ« tĂ«rĂ«si bĂ«rthamĂ« e lirĂ« 6.19 â Linux-libre 6.19-gnu, e pastruar nga elementĂ«t e firmuerĂ«ve dhe drejtuesve qĂ« pĂ«rmbajnĂ« komponente ose pjesĂ« kodi jo tĂ« lira, tĂ« cilat janĂ« tĂ« kufizuara nga prodhuesi. NĂ« lĂ«shimin 6.19, kodet pĂ«r ngarkimin e firmuerĂ«ve binarĂ« janĂ« hequr nga nĂ«nshkrimi audio SDCA. ĂshtĂ« pĂ«rditĂ«suar kodi i pastrimit tĂ« blob-Ă«ve nĂ« drejtuesit Intel XE, Nova-Core, Qualcomm Iris, Venus dhe Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 dhe kodekĂ«t audio TI tas2783. ĂshtĂ« kryer pastrimi i emrave tĂ« blob-Ă«ve nĂ« skedarĂ«t dts (devicetree) pĂ«r çipet ARM. ĂshtĂ« ndalur pastrimi i drejtuesit STM C8SECTPFE DVB, i hequr nga bĂ«rthama.
Burimi: linux.org.ru
