Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 5.18. Ndër ndryshimet më të dukshme: është bërë një pastrim i madh i funksionaliteteve të vjetra, sistemi i skedarëve Reiserfs është shpallur obsolent, janë realizuar ngjarje për gjurmimin e proceseve të përdoruesit, është shtuar mbështetje për mekanizmin e bllokimit të eksploitëve Intel IBT, është aktivizuar një mod për identifikimin e mbushjeve të tamponëve kur përdoret funksioni memcpy(), është shtuar një mekanizëm për gjurmimin e thirrjeve të funksioneve fprobe, është përmirësuar performanca e planifikuesit të detyrave në CPU-të AMD Zen, është përfshirë një drejtues për menaxhimin e funksionalitetit të CPU-ve Intel (SDS), është integruar një pjesë e patch-eve për restrukturimin e skedarëve të titujve, dhe është miratuar përdorimi i standardit C11.
Në versionin e ri janë pranuar 16206 korrigjime nga 2127 zhvillues (në lëshimin e kaluar kishte 14203 korrigjime nga 1995 zhvillues), madhësia e patch-it është 108 MB (ndryshimet preken 14235 skedarë, janë shtuar 1340982 rreshta kodi, janë fshirë 593836 rreshta). Rreth 44% e të gjitha ndryshimeve të paraqitura në 5.18 lidhen me drejtuesit e pajisjeve, rreth 16% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturat hardware, 11% është lidhur me pilein e rrjetit, 3% me sistemet e skedarëve dhe 3% me nën-sistemat e brendshme të kernelit.
Novitet kryesore në kernelin 5.18:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- Në sistemin e skedarëve Btrfs është shtuar mbështetje për kalimin e të dhënave të kompresuara gjatë operacioneve send dhe receive. Më parë, kur përdorej send/receive, ana e dërguesit zhbllokonte të dhënat që ruheshin në formë të kompresuar, ndërsa ana e pranuese ripërshtonte ato para se t'i shkruante. Në kernelin 5.18, aplikacioneve në hapësirën e përdoruesit që përdorin thirrjet send/receive u ofrohet mundësia për të transferuar të dhëna të kompresuara pa rikompresim. Funksionaliteti është realizuar përmes operacioneve të reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, që lejojnë të lexohen dhe shkruhen informacione drejtpërdrejt në ekstente.
Për më tepër, në Btrfs është rritur performanca e fsync. Është shtuar mundësia e dedupikimit dhe ekzekutimit të reflink (klonim të metadatave të një skedari me krijimin e një lidhjeje me të dhëna që ekzistojnë pa i kopjuar ato) për të gjithë depozitat, pa u kufizuar në pikat e montimit.
- Në modin e hyrjes direkte (Direct I/O) është mundësuar qasja në skedarët e enkriptuar kur përdoren në fscrypt enkriptimi inline, në të cilin operacionet e enkriptimit dhe dekriptimit realizohen nga kontrollori i skedarëve, jo nga kernel. Në enkriptimin e zakonshëm nga forca e kernelit, qasja në skedarët e enkriptuar përmes Direct I/O si më parë nuk është e mundur, pasi ndodhet adresimi i skedarëve duke kaluar mekanizmin e buferizimit në kernel.
- Në serverin NFS, mbështetja për protokollin NFSv3 është aktivizuar si parazgjedhje, të cilin tani nuk e kërkon aktivizimin e veçantë dhe është në dispozicion me aktivizimin e përgjithshëm NFS. NFSv3 konsiderohet si versioni kryesor dhe gjithmonë i mbështetur i NFS, ndërsa mbështetja për NFSv2 ndoshta do të ndërpritet në të ardhmen. Efikasiteti i leximit të përmbajtjes së katalogëve është rritur ndjeshëm.
- Sistemi i skedarëve ReiserFS është shpallur obsolent dhe pritet të largohet në vitin 2025. Shpallja e ReiserFS si obsolent do të ndihmojë në zvogëlimin e kostove të mbajtjes së ndryshimeve të zakonshme për sistemet e skedarëve që lidhen me mbështetje të re API për montimin, iomap dhe foliantë.
- Për sistemin F2FS është realizuar mundësia e mapimit të identifikuesve të përdoruesve të sistemëve të skedarëve të montuar, e cila përdoret për të lidhur skedarët e një përdoruesi të caktuar në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual.
- Kodi për statistikat e llogaritjes në procesorët e Device-mapper është rishikuar, çka ka lejuar të rritet ndjeshëm saktësia e akountimit në procesorë të tillë si dm-crypt.
- Për pajisjet NVMe është realizuar mbështetje për kontrollet 64-bit për verifikimin e integritetit.
- Për sistemin e skedarëve exfat është propozuar një mundësi e re montimi "keep_last_dots", që ndalon pastrimin e pikëve në fund të emrit të skedarit (në Windows, pikët në fund të emrit fshihen automatikisht).
- Në EXT4 është rritur performanca në modin fast_commit dhe është rritur shkallëzueshmëria. Mundësia e montimit "mb_optimize_scan", që lejon rritjen e performancës në kushtet e fragmentimit të madh të FS, është përshtatur për punë me skedarët me ekstente.
- Është ndërprerë mbështetja për rrjedhat e shkrimit (write stream) në nën-sistemin që siguron funksionimin e pajisjeve bllokuese. Kjo mundësi ishte propozuar për SSD, por nuk gjeti popullaritet dhe tani nuk ka pajisje në përdorim që e mbështesin këtë mod dhe është e pakta që ato do të shfaqen në të ardhmen.
- Në sistemin e skedarëve Btrfs është shtuar mbështetje për kalimin e të dhënave të kompresuara gjatë operacioneve send dhe receive. Më parë, kur përdorej send/receive, ana e dërguesit zhbllokonte të dhënat që ruheshin në formë të kompresuar, ndërsa ana e pranuese ripërshtonte ato para se t'i shkruante. Në kernelin 5.18, aplikacioneve në hapësirën e përdoruesit që përdorin thirrjet send/receive u ofrohet mundësia për të transferuar të dhëna të kompresuara pa rikompresim. Funksionaliteti është realizuar përmes operacioneve të reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, që lejojnë të lexohen dhe shkruhen informacione drejtpërdrejt në ekstente.
- Kujtesa dhe shërbimet sistemore
- Ka filluar integrimi i një grupi patch-esh që lejon të reduktohet ndjeshëm koha e rikompilimit të bërthamës duke restrukturizuar hierarkinë e skedave të titujve dhe duke zvogëluar numrin e varësive të ndërsjella. Në bërthamën 5.18 janë përfshirë patch-e që optimizojnë strukturën e skedave të titujve të planifikuesit të detyrave (kernel/sched). Krahasuar me botimin e kaluar, konsumi i kohës së procesorit gjatë kompilimit të kodit kernel/sched është reduktuar me 61%, ndërsa koha reale është zvogëluar me 3.9% (nga 2.95 në 2.84 sek).
- Në kodin e bërthamës lejohet përdorimi i standardit C11, i publikuar në vitin 2011. Kodet që shtoheshin më parë në bërthamë duhej të përputheshin me specifikimin ANSI C (C89), i formuar që në vitin 1989. Në skenaret ndërtuese të bërthamës 5.18, opsioni ‘—std=gnu89’ është zëvendësuar me ‘—std=gnu11 -Wno-shift-negative-value’. U shqyrtua mundësia e përdorimit të standardit C17, por në këtë rast do të duhej të rritej versioni minimal i mbështetur të GCC, ndërsa përfshirja e mbështetjes për C11 përputhet me kërkesat aktuale për versionin e GCC (5.1).
- Përmirësimi i performancës në planifikimin e detyrave në procesorët AMD me mikroarkitekturën Zen, në të cilët për çdo nyje me kanale lokale memorjeje ofrohen disa cache të nivelit të fundit (LLC, Last Level Cache). Në versionin e ri është eliminuar disbalanci LLC midis nyjave NUMA, çka në disa lloje ngarkesash ka çuar në përmirësimin e konsiderueshëm të performancës.
- Janë zgjeruar mjetet për gjurmimin e aplikacioneve në hapësirën e përdoruesit. Në versionin e ri të bërthamës është shtuar mundësia e krijimit të ngjarjeve të gjurmimit nga proceset e përdoruesit dhe regjistrimit të të dhënave në një buffer gjurmimi, të cilat mund të shikohen përmes utilitarëve tipikë të gjurmimit të bërthamës, si ftrace dhe perf. Ngjarjet e gjurmimit nga hapësira e përdoruesit janë të izoluara nga ngjarjet e gjurmimit të bërthamës. Gjendja e ngjarjeve mund të shikohet përmes skedarit /sys/kernel/debug/tracing/user_events_status, ndërsa regjistrimi i ngjarjes dhe regjistrimi i të dhënave përmes skedarit /sys/kernel/debug/tracing/user_events_data.
- Shtuar mekanizmi i gjurmimit (probe) të thirrjeve të funksioneve - fprobe. API i fprobe është i bazuar në ftrace, por e kufizuar vetëm në mundësinë e lidhjes së menaxherëve të callback me pikën e hyrjes në funksion dhe përfundimin e funksionit. Ndryshe nga kprobes dhe kretprobes, mekanizmi i ri lejon përdorimin e një menaxheri për disa funksione.
- Ka përfunduar mbështetja për procesorët e vjetër ARM (ARMv4 dhe ARMv5) që nuk janë të pajisur me një njësi kontrolli të memorjes (MMU). Mbështetja për sistemet ARMv7-M pa MMU është ruajtur.
- Ka përfunduar mbështetja për arkitekturën NDS32 të ngjashme me RISC, e cila ishte përdorur në procesorët e kompanisë Andes Technologies. Kodi është hequr për shkak të mungesës së mbështetjes dhe kërkesës për mbështetje NDS32 në bërthamën kryesore të Linux (përdoruesit e mbetur përdorin ndërtesa të specializuara të bërthamës nga prodhuesit e pajisjeve).
- Sipas parazgjedhjes është ndaluar ndërtimi i bërthamës me mbështetje për formatin e skedarëve a.out për arkitekturat alfa dhe m68k, në të cilat ky format vazhdon të përdoret. Është e mundur që mbështetja për formatin e vjetëruar a.out të hiqet plotësisht nga bërthama. Planet për heqjen e formatit a.out janë diskutuar që nga viti 2019.
- Për arkitekturën PA-RISC është realizuar mbështetje minimale për mekanizmin vDSO (virtual dynamic shared objects), i cili ofron një grup të kufizuar thirrjesh sistemore, të aksesueshme në hapësirën e përdoruesit pa kaluar konteksteve. Mbështetja e vDSO ka mundësuar mundësinë e fillimit me një stack të papërshtatshëm.
- Shtuar mbështetje për mekanizmin Intel HFI (Hardware Feedback Interface), i cili lejon pajisjen të transmetojë bërthamës informacione mbi performancën aktuale dhe efikasitetin energjetik të çdo CPU.
- Shtuar një drejtues për mekanizmin Intel SDSi (Software-Defined Silicon), i cili mundëson menaxhimin e aktivizimit të veçorive shtesë në procesor (për shembull, instruksione të specializuara dhe memorie të shtuar cache). Ideja është që çipe në një çmim më të ulët mund të dorëzohen me funksione të zgjeruara të bllokuara, të cilat mund të „blihen“ dhe aktivizohen më pas pa ndërruar harduerin e çipit.
- Shtuar drejtuesi amd_hsmp për mbështetje të ndërfaqes AMD HSMP (Host System Management Port), i cili ofron akses në funksione të menaxhimit të procesorit përmes një grupi të regjistrave të veçantë, të cilët u shfaqën në procesorët server AMD EPYC që nga gjenerata Fam19h. Për shembull, përmes HSMP mund të merren të dhëna mbi konsumimin e energjisë dhe temperaturën, të vendosen kufij mbi frekuencën, të aktivizohen modet e ndryshme të rritjes së performancës dhe të menaxhohen parametrat e funksionimit të memorie.
- Në ndërfaqen e I/O asinkronik io_uring është implementuar opsioni IORING_SETUP_SUBMIT_ALL për regjistrimin në buferin ring të një grupi përshkruesish skedash, si dhe operacioni IORING_OP_MSG_RING, i cili lejon dërgimin e një sinjali nga një bufer ring në një tjetër bufer ring.
- Në mekanizmin DAMOS (Skemat e Operacioneve të Monitorimit të Qasjes në të Dhëna), që lejon lirimin e memories duke marrë parasysh frekuencën e qasjes në memorie, janë zgjeruar mundësitë për kontrollin e operacioneve me memori nga hapësira e përdoruesit.
- Janë integruar patch-e të reja që realizojnë konceptin e folio-ve të faqeve të memories, të cilat i ngjajnë faqeve të përbashkëta, por ndryshojnë me semantikë të përmirësuar dhe organizim më të qartë të punës. Përdorimi i folio-ve lejon shpejtimin e menaxhimit të memories në disa nën sisteme të bërthamës. Në këto patch-e është realizuar kalimi në folio për funksionet e brendshme të menaxhimit të memories, duke përfshirë variacione të funksionit get_user_pages(). Është ofruar mbështetje për krijimin e folio-ve të mëdha në kodin e parashikimit të leximit të të dhënave.
- Në sistemin e ndërtimit është implementuar mbështetje për variablat e mjedisit USERCFLAGS dhe USERLDFLAGS, me anë të të cilave mund të kalohen flamuj shtesë në kompilator dhe linker.
- Në nën sistemin e eBPF në mekanizmin BTF (BPF Type Format), i cili ofron informacion për verifikimin e tipave në pseudokodin BPF, është realizuar mundësia e shtimit të anotacioneve për variablat që referohen në hapësirën e memories në nivelin e përdoruesit. Anotacionet ndihmojnë sistemin e verifikimit të kodit BPF në identifikimin dhe verifikimin e qasjeve në memorie më cilësisht.
- Është propozuar një menaxher i ri i alokimit të memories për ruajtjen e programeve të ngarkuara BPF, i cili lejon përdorimin më efektiv të memories në situatat e ngarkimit të numrit të madh të programeve BPF.
- Në thirrjen sistematike madvise(), e cila ofron mjete për optimizimin e menaxhimit të memories së procesit, është shtuar flamuri MADV_DONTNEED_LOCKED, i cili plotëson flamurin ekzistues MADV_DONTNEED, përmes të cilit bërthama mund të informohet paraprakisht për lirimin e një blloku memorie, dmth se ky bllok tashmë nuk është i nevojshëm dhe mund të përdoret nga bërthama. Ndryshe nga MADV_DONTNEED, përdorimi i flamurit MADV_DONTNEED_LOCKED është i lejuar për faqet e memories të kapura në RAM, të cilat gjatë thirrjes së madvise largohen pa ndryshuar statusin e tyre të kapjes dhe në rastin e qasjes së mëvonshme në bllok dhe gjenerimin e 'page fault' kthehen me ruajtjen e lidhjes. Shtuar gjithashtu është bërë një ndryshim që lejon përdorimin e flamurit MADV_DONTNEED me faqe të mëdha memoriesh në HugeTLB.
- Virtualizimi dhe siguria
- Për arkitekturën x86 është shtuar mbështetje për mekanizmin e mbrojtjes së rrethit të ekzekutimit të komandave Intel IBT (Ndjekja Indirekte e Degëve), e cila pengon përdorimin e teknikave për ndërtimin e eksploitëve duke përdorur metoda të kthyera për programim (ROP), në të cilat eksploitët formohen në formën e një zinxhiri thirrjesh të majme të instruktimeve që ekzistojnë në memorie, që përfundojnë me një instruktion kthimi të kontrollit (zakonisht fundet e funksioneve). Qëllimi i metodës së mbrojtjes së realizuar është bllokimi i kalimeve indirekte në trupin e funksiones duke shtuar në fillim të funksionit një instruksion të veçantë ENDBR dhe lejen e ekzekutimit për kalim indirekt vetëm në rastin e kalimeve në këtë instruksion (thirrja indirekte përmes JMP dhe CALL duhet gjithmonë të bjerë në instruksionin ENDBR, i cili vendoset në fillim të funksionit).
- Është përfshirë një verifikim më i fortë i kufijve të buferëve në funksionet memcpy(), memmove() dhe memset(), që realizohet në fazën e kompilimit kur aktivizohet moda CONFIG_FORTIFY_SOURCE. Ndryshimi i shtuar redukton në kontrollin e daljes jashtë kufijve të elementeve të strukturave, të cilat kanë një madhësi që dihet. Këtu theksohet se mundësia e realizuar do të bllokonte të gjitha mbushjet e buferëve të lidhura me memcpy() në bërthamë, të identifikuara së paku gjatë tre viteve të fundit.
- Është shtuar pjesa e dytë e kodit të realizimit të azhurnuar të gjeneratorit të numrave të rastësishëm RDRAND, i cili përgjigjet për funksionimin e pajisjeve /dev/random dhe /dev/urandom. Realizimi i ri është i shquar për unifikimin e funksionimit të /dev/random dhe /dev/urandom, shtimin e mbrojtjes nga shfaqja e kopjeve në rrjedhën e numrave të rastësishëm gjatë ekzekutimit dhe kalimi në përdorimin e funksionit hash BLAKE2s në vend të SHA1 për operacionet e përzierjes së entropisë. Ky ndryshim ka lejuar rritjen e sigurisë së gjeneratorit të numrave të rastësishëm, duke e eliminuar algoritmin problematik SHA1 dhe duke përjashtuar ribashkimin e vektorit të inicializimit RNG. Duke qenë se algoritmi BLAKE2s i kalon SHA1 në performancë, përdorimi i tij gjithashtu ka pasur një ndikim pozitiv në performancën. makinave virtuale и переходом на использование хеш-функции BLAKE2s вместо SHA1 для операций смешивания энтропии. Изменение позволило повысить безопасность генератора псевдослучайных чисел, благодаря избавлению от проблемного алгоритма SHA1 и исключению перезаписи вектора инициализации RNG. Так как алгоритм BLAKE2s опережает SHA1 по производительности, то его применение также положительно отразилось на производительности.
- Për arkitekturën ARM64, është shtuar mbështetje për algoritmin e ri të autentifikimit të treguesve — "QARMA3", i cili është më i shpejtë se algoritmi QARMA ndërsa ruan një nivel të duhur mbrojtjeje. Teknologjia lejon përdorimin e instrukcioneve të specializuara ARM64 për verifikimin e adresave të kthimit me anë të nënshkrimeve digjitale, të cilat ruhen në bitët e sipërm të pa përdorur të treguesit vetë.
- Për arkitekturën ARM64 është realizuar mbështetje për ndërtimin me përfshirjen në GCC 12 të modit të mbrojtjes nga ri-shkruan adresën e kthimit nga funksioni në rast të mbushjes së tamponit në stek. Qëllimi i mbrojtjes është ruajtja, pas kalimit të kontrollit në funksion, e adresës së kthimit në një stek të veçantë "hije" dhe nxjerrja e kësaj adrese para daljes nga funksioni.
- Është shtuar një ruajtje e re çelësash (keyring) — "machine", që përmban çelësat e pronarit të sistemit (MOK, Machine Owner Keys), të mbështetur në ngarkuesin shim. Çelësat e cituar mund të përdoren për të nënshkruar digjitalisht komponentët e bërthamës, të ngarkuar në fazën pas ngarkimit fillestar (p.sh., module të bërthamës).
- Është hequr mbështetje për çelësat e mbyllur asimetrik për TPM, të cilat janë propozuar në versionin e vjetëruar të TPM, kanë probleme të njohura me sigurinë dhe nuk kanë marrë përhapje në praktikë.
- Është shtuar mbrojtja e të dhënave me tipin size_t nga mbushjet numerike. Në kod janë angazhuar trajtuesit size_mul(), size_add() dhe size_sub(), të cilët lejojnë të prodhojnë në mënyrë të sigurt shumëzimin, shumimin dhe zbritjen e madhësive me tipin size_t.
- Në ndërtimin e bërthamës janë përfshirë flamujt "-Warray-bounds" dhe "-Wzero-length-bounds", që japin paralajmërime kur indekset dalin jashtë kufijve të masës dhe për përdorimin e masave me gjatësi zero.
- Në pajisjen virtio-crypto është shtuar mbështetje për enkriptimin duke përdorur algoritmin RSA.
- Sistemi i rrjetit
- Në implementimin e urave të rrjetit është shtuar mbështetje për mënyrën e kyçjes së porteve (locked mode), në të cilën përdoruesi mund të dërgojë trafik përmes portit vetëm me adresën MAC të lejuar. Është shtuar gjithashtu mundësia për të përdorur struktura të shumta për të vlerësuar gjendjen e protokollit STP (Spanning Tree Protocol). Më parë, për VLAN mund të bëhej vetëm lidhje e drejtpërdrejtë me STP (1:1), ku çdo VLAN menaxhohej në mënyrë të pavarur. Në versionin e ri është shtuar parametri mst_enable, me përfshirjen e të cilit gjendja e VLAN-ve kontrollohet nga moduli MST (Multiple Spanning Trees) dhe lidhja e VLAN-ve mund të përputhet me modelin M:N.
- Puna për integrimin e mjeteve në skedarin rrjetës për monitorimin e shkaqeve të humbjes së paketave (kodet e arsyes) ka vazhduar. Kodi i arsyes transmetohet gjatë lirimit të memories që lidhet me paketën dhe lejon që të merren parasysh situata të tilla si humbja e paketës për shkak të gabimeve në plotësimin e fushave të titullit, identifikimi i spoofing nga filtri rp_filter, kontrolli i gabuar i somë, mungesa e memories, aktivizimi i rregullave IPSec XFRM, numri i gabuar i sekuencës TCP, etj.
- Është ofruar mundësia e transmetimit të paketave rrjetës nga programet BPF, të drejtuara nga hapësira e përdoruesit në modin BPF_PROG_RUN, në të cilin programet BPF ekzekutohen në bërthamë, por kthejnë rezultatin në hapësirën e përdoruesit. Paketat transmetohen duke përdorur nën-sistemimin XDP (eXpress Data Path). Mbështetet moda jetësore e përpunimit të paketave, në të cilën trajtuesi XDP mund të drejtojë në kohë reale paketat rrjetës në stek ose në pajisje të tjera. Gjithashtu është e mundur të krijoni gjenerues programorë të trafikut të jashtëm ose të futni korniza rrjetës në stek.
- Për programet BPF, të lidhura me cgroups rrjetës, janë propozuar funksione ndihmëse për vendosjen eksplicite të vlerës, që kthehet nga thirrjet sistemore, duke lejuar që të kalojnë informacione më të plota mbi arsyet e bllokimit të thirrjes sistemore.
- Në nën-sistemin XDP (eXpress Data Path) është shtuar mbështetje për paketat e fragmentuara, të vendosura në disa bufe, që lejon përpunimin në XDP të Jumbo-kornizave dhe aplikimin e TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) për XDP_REDIRECT.
- Procesi i fshirjes së hapësirave rrjetës është ndjeshëm përshpejtuar, gjë që ishte kërkuar në disa sisteme të mëdha me volum të madh të trafikut.
- Pajisjet
- Në drejtuesin amdgpu, teknologjia e sinkronizimit adaptiv FreeSync është aktivizuar si parazgjedhje, e cila lejon rregullimin e frekuencës së përditësimit të informacionit në ekran, duke siguruar qëndrueshmëri dhe mungesë të ndarjeve të imazhit gjatë lojërave dhe shikimit të videove. Është shpallur mbështetje e qëndrueshme për GPU-në Aldebaran.
- Në drejtuesin i915 është shtuar mbështetje për çipat Intel Alderlake N dhe kartat grafike discrete Intel DG2-G12 (Arc Alchemist).
- Në drejtuesin nouveau është realizuar mbështetje për bitrate më të larta për interfesat DP/eDP dhe mbështetje për zgjatësit e kabllit lttprs (Link-Training Tunable PHY Repeaters).
- Në nën-sistemin drm (Direct Rendering Manager) në drejtuesit armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen dhe vc4 është shtuar mbështetje për parametrin nomodeset, që lejon çaktivizimin e kalimeve të modet video në nivelin e bërthamës dhe përdorimin e mjeteve për akcelerimin harduerik të të vizatuarit, duke lënë vetëm funksionalitetin e lidhur me frame buffer-in e sistemit.
- Shtimi i mbështetjes për ARM SoC Qualcomm Snapdragon 625/632 (përdoret në smartphone-t LG Nexus 5X dhe Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (përdoret në Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (tableti Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 dhe i.MXRTxxxx.
- Shtimi i mbështetjes për pajisjet dhe platformat ARM të Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S, tableti Prestigio PMT5008 3G), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 dhe OSMC Vero 4K+), Aspeed (Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU/Armada (Ctera C200 V1 dhe V2 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).
- Shtimi i mbështetjes për sistemet audio dhe kodekët AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M. Shtimi i një implementimi fillestar të drejtuesit të audios për çipin DSP Intel AVS. Përmirësimi i mbështetjes për drejtuesit për Intel ADL dhe Tegra234, si dhe ndryshime për të rritur mbështetjen audio në pajisjet Dell, HP, Lenovo, ASUS, Samsung dhe Clevo.
Në të njëjtën kohë, Fondi Latinoamerikan i Softuerit të Lirë ka formuar variantin e bërthamës plotësisht të lirë 5.18 — Linux-libre 5.18-gnu, i pastruar nga elemente firmware dhe drejtuesish që përmbajnë komponente ose copa kodi të papara, zona e përdorimit të të cilave është e kufizuar nga prodhuesi. Në lëshimin e ri është bërë pastrimi i drejtuesve për panele MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) dhe Realtek 8852a/8852c, çipet audio Intel AVS dhe Texas Instruments TAS5805M. Po ashtu është bërë pastrimi i skedave DTS për SoC të ndryshëm Qualcomm me procesorë të bazuar në arkitekturën AArch64. Kodi i pastrimit të blob-ve në drejtues dhe nën-sistemet AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART është përditësuar.
Burimi: opennet.ru
