Lëshimi i kernelit Linux 5.18

Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 5.18. Ndër ndryshimet më të dukshme: u krye një pastrim i madh i funksionalitetit të vjetëruar, Reiserfs FS u deklarua i vjetëruar, u zbatuan ngjarjet e gjurmimit të procesit të përdoruesit, u shtua mbështetje për mekanizmin për bllokimin e shfrytëzimeve Intel IBT, u aktivizua një modalitet i zbulimit të tejmbushjes së tamponit kur duke përdorur funksionin memcpy(), u shtua një mekanizëm për gjurmimin e thirrjeve të funksionit 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-së Intel (SDS), disa arna janë integruar për ristrukturimin e skedarëve të kokës dhe është miratuar përdorimi i standardit C11.

Versioni i ri përfshin 16206 rregullime nga 2127 zhvillues (në versionin e fundit kishte 14203 rregullime nga 1995 zhvillues), madhësia e patch-it është 108 MB (ndryshimet prekën 14235 skedarë, u shtuan 1340982 rreshta kodi, u fshinë 593836). Rreth 44% e të gjitha ndryshimeve të paraqitura në 5.18 janë të lidhura me drejtuesit e pajisjes, afërsisht 16% e ndryshimeve lidhen me përditësimin e kodit specifik për arkitekturat e harduerit, 11% janë të lidhura me grupin e rrjetit, 3% kanë të bëjnë me sistemet e skedarëve dhe 3% janë të lidhura me nënsistemet e brendshme të kernelit.

Risitë kryesore në kernel 5.18:

  • Nënsistemi i diskut, I/O dhe sistemet e skedarëve
    • Sistemi i skedarëve Btrfs ka shtuar mbështetje për përcjelljen e të dhënave të kompresuara gjatë kryerjes së operacioneve të dërgimit dhe marrjes. Më parë, gjatë përdorimit të dërgimit/marrjes, pala dërguese dekompresonte të dhënat e ruajtura në formë të ngjeshur dhe pala marrëse i rikompresonte ato përpara se t'i shkruante. Në kernelin 5.18, aplikacioneve të hapësirës së përdoruesit që përdorin thirrje dërgimi/marrjeje iu dha aftësia për të transmetuar të dhëna të kompresuara pa ripaketim. Funksionaliteti zbatohet falë operacioneve të reja ioctl BTRFS_IOC_ENCODED_READ dhe BTRFS_IOC_ENCODED_WRITE, të cilat ju lejojnë të lexoni dhe shkruani drejtpërdrejt informacionin në masë.

      Përveç kësaj, Btrfs përmirëson performancën e fsync. U shtua aftësia për të kopjuar dhe kryer reflink (klonimi i meta të dhënave të skedarit duke krijuar një lidhje me të dhënat ekzistuese pa i kopjuar ato) për të gjithë hapësirën ruajtëse, pa u kufizuar në pikat e montimit.

    • Në modalitetin I/O Direct, është e mundur të aksesoni skedarët e enkriptuar kur fscrypt përdor enkriptimin inline, në të cilin operacionet e enkriptimit dhe deshifrimit kryhen nga kontrolluesi i diskut dhe jo nga kerneli. Me kriptim të rregullt të kernelit, qasja në skedarët e koduar duke përdorur I/O direkte është ende e pamundur, pasi skedarët aksesohen duke anashkaluar mekanizmin e buferit në kernel.
    • Serveri NFS përfshin si parazgjedhje mbështetje për protokollin NFSv3, i cili tani nuk kërkon aktivizim të veçantë dhe është i disponueshëm kur NFS aktivizohet përgjithësisht. NFSv3 konsiderohet të jetë versioni kryesor dhe gjithmonë i mbështetur i NFS dhe mbështetja për NFSv2 mund të ndërpritet në të ardhmen. Efikasiteti i leximit të përmbajtjes së drejtorisë është përmirësuar ndjeshëm.
    • Sistemi i skedarëve ReiserFS është zhvlerësuar dhe pritet të hiqet në vitin 2025. Zhvlerësimi i ReiserFS do të zvogëlojë përpjekjet e nevojshme për të ruajtur ndryshimet në të gjithë sistemin e skedarëve që lidhen me mbështetjen për API-në e re për montim, iomap dhe tomes.
    • Për sistemin e skedarëve F2FS, është zbatuar aftësia për të hartuar ID-të e përdoruesve të sistemeve të skedarëve të montuar, e cila përdoret për të krahasuar skedarët e një përdoruesi specifik në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual.
    • Kodi për llogaritjen e statistikave në mbajtësit Device-mapper është ripërpunuar, gjë që ka përmirësuar ndjeshëm saktësinë e kontabilitetit në mbajtës të tillë si dm-crypt.
    • Pajisjet NVMe tani mbështesin shumat e kontrollit 64-bit për kontrollin e integritetit.
    • Për sistemin e skedarëve exfat, është propozuar një opsion i ri montimi "keep_last_dots", i cili çaktivizon pastrimin e pikave në fund të emrit të skedarit (në Windows, pikat në fund të emrit të skedarit hiqen si parazgjedhje).
    • EXT4 përmirëson performancën e modalitetit fast_commit dhe rrit shkallëzueshmërinë. Opsioni i montimit "mb_optimize_scan", i cili lejon rritjen e performancës në kushte të fragmentimit të madh të sistemit të skedarëve, është përshtatur për të punuar me skedarë me shtrirje.
    • Mbështetja për transmetimet e shkrimit në nënsistemin që mbështet pajisjet e bllokut është ndërprerë. Kjo veçori u propozua për SSD, por nuk ishte e përhapur dhe aktualisht nuk ka pajisje në përdorim që mbështesin këtë modalitet dhe nuk ka gjasa që ato të shfaqen në të ardhmen.
  • Shërbimet e kujtesës dhe sistemit
    • Integrimi i një grupi arnimesh ka filluar, duke lejuar që të reduktohet ndjeshëm koha e rindërtimit të kernelit duke ristrukturuar hierarkinë e skedarëve të kokës dhe duke reduktuar numrin e ndërvarësive. Kerneli 5.18 përfshin arna që optimizojnë strukturën e skedarëve të kokës së planifikuesit të detyrave (kernel/sched). Krahasuar me versionin e mëparshëm, konsumi i kohës së CPU-së gjatë montimit të kodit kernel/sched/ u reduktua me 61%, dhe koha aktuale u ul me 3.9% (nga 2.95 në 2.84 sek).
    • Kodi i kernelit lejohet të përdorë standardin C11, të botuar në 2011. Më parë, kodi i shtuar në kernel duhej të përputhej me specifikimin ANSI C (C89), i formuar në vitin 1989. Në skriptet e ndërtimit të kernelit 5.18, opsioni '—std=gnu89' u zëvendësua me '—std=gnu11 -Wno-shift-negative-value'. Mundësia e përdorimit të standardit C17 u konsiderua, por në këtë rast do të ishte e nevojshme të rritet versioni minimal i mbështetur i GCC, ndërsa përfshirja e mbështetjes C11 përshtatet në kërkesat aktuale për versionin GCC (5.1).
    • Përmirësimi i performancës së planifikimit të detyrave në procesorët AMD me mikroarkitekturën Zen, të cilat ofrojnë memorie të shumta të nivelit të fundit (LLC) për çdo nyje me kanale memorie lokale. Versioni i ri eliminon çekuilibrin e LLC midis nyjeve NUMA, gjë që çoi në një rritje të konsiderueshme të performancës për disa lloje të ngarkesës së punës.
    • Mjetet për gjurmimin e aplikacioneve në hapësirën e përdoruesit janë zgjeruar. Versioni i ri i kernelit shton mundësinë që proceset e përdoruesit të krijojnë ngjarje të përdoruesit dhe të shkruajnë të dhëna në bufferin e gjurmës, të cilat mund të shikohen përmes shërbimeve standarde të gjurmimit të kernelit si ftrace dhe perf. Ngjarjet e gjurmimit të hapësirës së përdoruesit janë të izoluara nga ngjarjet e gjurmës së kernelit. Statusi i ngjarjes mund të shihet përmes skedarit /sys/kernel/debug/tracing/user_events_status, dhe regjistrimi i ngjarjeve dhe regjistrimi i të dhënave përmes skedarit /sys/kernel/debug/tracing/user_events_data.
    • U shtua një mekanizëm për monitorimin e thirrjeve të funksionit (sondës) - fprobe. Fprobe API bazohet në ftrace, por është i kufizuar vetëm nga aftësia për të bashkangjitur mbajtësit e kthimit të thirrjes në pikat hyrëse të funksionit dhe pikat e daljes së funksionit. Ndryshe nga kprobes dhe kretprobes, mekanizmi i ri ju lejon të përdorni një mbajtës për disa funksione në të njëjtën kohë.
    • Mbështetja për procesorët e vjetër ARM (ARMv4 dhe ARMv5) që nuk janë të pajisur me një njësi të menaxhimit të memories (MMU) është ndërprerë. Mbështetja për sistemet ARMv7-M pa MMU ruhet.
    • Mbështetja për arkitekturën NDS32 të ngjashme me RISC e përdorur në procesorët Andes Technologies është ndërprerë. Kodi u hoq për shkak të mungesës së mirëmbajtjes dhe mungesës së kërkesës për mbështetje NDS32 në kernelin kryesor Linux (përdoruesit e mbetur përdorin ndërtime të specializuara të kernelit nga prodhuesit e harduerit).
    • Si parazgjedhje, ndërtimi i kernelit me mbështetje për formatin e skedarit të ekzekutueshëm a.out është i çaktivizuar për arkitekturat alfa dhe m68k, të cilat vazhdojnë të përdorin këtë format. Ka të ngjarë që mbështetja për formatin e vjetër a.out të hiqet plotësisht nga kerneli së shpejti. Planet për të hequr formatin a.out janë diskutuar që nga viti 2019.
    • Arkitektura PA-RISC ofron mbështetje minimale për mekanizmin vDSO (objekte të përbashkëta dinamike virtuale), i cili siguron një grup të kufizuar thirrjesh të sistemit të disponueshëm në hapësirën e përdoruesit pa ndërrim të kontekstit. Mbështetja e vDSO bëri të mundur zbatimin e aftësisë për të ekzekutuar me një pirg jo të ekzekutueshëm.
    • Mbështetje e shtuar për mekanizmin Intel HFI (Hardware Feedback Interface), i cili lejon harduerin të transmetojë informacion në kernel në lidhje me performancën aktuale dhe efikasitetin e energjisë të çdo CPU.
    • U shtua një drejtues për mekanizmin Intel SDSi (Silicon i përcaktuar nga softueri), i cili ju lejon të kontrolloni përfshirjen e veçorive shtesë në procesor (për shembull, udhëzime të specializuara dhe memorie shtesë të cache). Ideja është që çipat mund të furnizohen me një çmim më të ulët me funksione të avancuara të kyçura, të cilat më pas mund të "blihen" dhe të aktivizohen aftësi shtesë pa zëvendësimin e çipit harduer.
    • Drejtuesi amd_hsmp është shtuar për të mbështetur ndërfaqen AMD HSMP (Host System Management Port), e cila siguron akses në funksionet e menaxhimit të procesorit përmes një grupi regjistrash specialë që janë shfaqur në procesorët e serverëve AMD EPYC duke filluar me gjeneratën Fam19h. Për shembull, përmes HSMP mund të merrni të dhëna për konsumin e energjisë dhe temperaturën, të vendosni kufijtë e frekuencës, të aktivizoni mënyra të ndryshme të përmirësimit të performancës dhe të menaxhoni parametrat e kujtesës.
    • Ndërfaqja asinkrone I/O io_uring zbaton opsionin IORING_SETUP_SUBMIT_ALL për të regjistruar një grup përshkruesish skedarësh në një buffer unaze dhe operacionin IORING_OP_MSG_RING për të dërguar një sinjal nga një bufer unaze në një bufer tjetër unaze.
    • Mekanizmi DAMOS (Data Access Monitoring-based Operation Schemes), i cili lejon lëshimin e memories duke marrë parasysh frekuencën e aksesit në kujtesë, ka aftësi të zgjeruara për monitorimin e operacioneve të kujtesës nga hapësira e përdoruesit.
    • Një seri e tretë arnimesh është integruar me zbatimin e konceptit të fletëve të faqeve, të cilat ngjajnë me faqet e përbëra, por kanë përmirësuar semantikën dhe një organizim më të qartë të punës. Përdorimi i tomes ju lejon të përshpejtoni menaxhimin e kujtesës në disa nënsisteme kernel. Në arnimet e propozuara, funksionet e menaxhimit të kujtesës së brendshme u përkthyen në folios, duke përfshirë variacionet e funksionit get_user_pages(). Ofroi mbështetje për krijimin e vëllimeve të mëdha në kodin e leximit përpara.
    • Sistemi i montimit tani mbështet variablat e mjedisit USERCFLAGS dhe USERLDFLAGS, me të cilat mund të kaloni flamuj shtesë te përpiluesi dhe lidhësi.
    • Në nënsistemin eBPF, mekanizmi BTF (BPF Type Format), i cili ofron informacione të kontrollit të tipit në pseudokodin BPF, ofron mundësinë për të shtuar shënime në variablat që i referohen zonave të kujtesës në hapësirën e përdoruesit. Shënimet ndihmojnë sistemin e verifikimit të kodit BPF të identifikojë dhe verifikojë më mirë akseset e kujtesës.
    • Është propozuar një mbajtës i ri i alokimit të memories për ruajtjen e programeve të ngarkuara BPF, i cili lejon përdorimin më efikas të memories në situatat kur ngarkohen një numër i madh programesh BPF.
    • Flamuri MADV_DONTNEED_LOCKED është shtuar në thirrjen e sistemit madvise(), i cili ofron mjete për optimizimin e menaxhimit të memories së procesit, i cili plotëson flamurin ekzistues MADV_DONTNEED, përmes të cilit kerneli mund të informohet paraprakisht për lëshimin e afërt të një blloku memorie, d.m.th. se ky bllok nuk është më i nevojshëm dhe mund të përdoret nga kerneli. Ndryshe nga MADV_DONTNEED, përdorimi i flamurit MADV_DONTNEED_LOCKED është i lejueshëm për faqet e memories të gozhduara në RAM, të cilat, kur thirret madvise, nxirren pa ndryshuar statusin e tyre të fiksuar dhe, në rast të një aksesi të mëvonshëm në bllok dhe gjenerimit të një "faqe faji”, kthehen me lidhjen e ruajtur. Për më tepër, është shtuar një ndryshim për të lejuar përdorimin e flamurit MADV_DONTNEED me faqe të mëdha memorie në HugeTLB.
  • Virtualizimi dhe Siguria
    • Për arkitekturën x86, është shtuar mbështetje për mekanizmin e mbrojtjes së rrjedhës së komandës Intel IBT (Ndjekja Indirekte e Degës), e cila parandalon përdorimin e teknikave të ndërtimit të shfrytëzimit duke përdorur teknika programimi të orientuara nga kthimi (ROP, Programimi i Orientuar në Kthim), në të cilin shfrytëzohet është formuar në formën e një zinxhiri thirrjesh tashmë ekzistuese në kujtesën e pjesëve të udhëzimeve të makinës që përfundojnë me një instruksion kthimi kontrolli (si rregull, këto janë skajet e funksioneve). Thelbi i metodës së zbatuar të mbrojtjes është të bllokojë kalimet indirekte në trupin e një funksioni duke shtuar një instruksion të veçantë ENDBR në fillim të funksionit dhe duke lejuar ekzekutimin e një tranzicioni indirekt vetëm në rastin e një kalimi në këtë udhëzim (një indirekt thirrja përmes JMP dhe CALL duhet të bien gjithmonë në instruksionin ENDBR, i cili vendoset në funksionet fillestare).
    • Aktivizoi një kontroll më të rreptë të kufijve të buferit në funksionet memcpy(), memmove() dhe memset(), i kryer në kohën e kompilimit kur është aktivizuar modaliteti CONFIG_FORTIFY_SOURCE. Ndryshimi i shtuar zbret në kontrollimin nëse elementët e strukturave madhësia e të cilave dihet shkojnë përtej kufijve. Vihet re se funksioni i implementuar do të lejonte bllokimin e të gjitha tejmbushjeve të buferit të kernelit të lidhura me memcpy() të identifikuara të paktën në tre vitet e fundit.
    • U shtua pjesa e dytë e kodit për zbatimin e përditësuar të gjeneratorit të numrave pseudo të rastësishëm RDRAND, i cili është përgjegjës për funksionimin e pajisjeve /dev/random dhe /dev/urandom. Implementimi i ri është i dukshëm për unifikimin e funksionimit të /dev/random dhe /dev/urandom, shtimin e mbrojtjes kundër shfaqjes së dublikatave në rrjedhën e numrave të rastit kur nisin makinat virtuale dhe kalimin në përdorimin e funksionit hash BLAKE2s në vend të SHA1 për operacionet e përzierjes së entropisë. Ndryshimi përmirësoi sigurinë e gjeneratorit të numrave pseudo të rastësishëm duke eliminuar algoritmin problematik SHA1 dhe duke eliminuar mbishkrimin e vektorit të inicializimit RNG. Meqenëse algoritmi BLAKE2s është superior ndaj SHA1 në performancë, përdorimi i tij gjithashtu pati një efekt pozitiv në performancë.
    • Për arkitekturën ARM64, është shtuar mbështetje për një algoritëm të ri të vërtetimit të treguesit - "QARMA3", i cili është më i shpejtë se algoritmi QARMA duke ruajtur nivelin e duhur të sigurisë. Teknologjia ju lejon të përdorni udhëzime të specializuara ARM64 për të verifikuar adresat e kthimit duke përdorur nënshkrime dixhitale që ruhen në pjesët e sipërme të papërdorura të vetë treguesit.
    • Për arkitekturën ARM64, mbështetja është zbatuar për montim me përfshirjen në GCC 12 të një modaliteti mbrojtës kundër mbishkrimit të adresës së kthimit nga një funksion në rast të një tejmbushjeje buferi në pirg. Thelbi i mbrojtjes është ruajtja e adresës së kthimit në një pirg të veçantë "hije" pas transferimit të kontrollit në një funksion dhe marrjes së kësaj adrese përpara se të dilni nga funksioni.
    • U shtua një çelës i ri - "makinë", që përmban çelësat e pronarit të sistemit (MOK, Çelësat e pronarit të makinës), të mbështetur në ngarkuesin shim. Këta çelësa mund të përdoren për të nënshkruar në mënyrë dixhitale komponentët e kernelit të ngarkuar në një fazë pas nisjes (për shembull, modulet e kernelit).
    • Mbështetja e hequr për çelësat privatë asimetrikë për TPM-të, të cilat ofroheshin në një version të vjetër të TPM, kishin probleme të njohura të sigurisë dhe nuk u miratuan gjerësisht në praktikë.
    • Mbrojtja e shtuar e të dhënave me llojin size_t nga tejkalimet e numrave të plotë. Kodi përfshin mbajtësit size_mul(), size_add() dhe size_sub(), të cilët ju lejojnë të shumëzoni, shtoni dhe zbritni në mënyrë të sigurt madhësitë me llojin size_t.
    • Gjatë ndërtimit të kernelit, aktivizohen flamujt “-Warray-bounds” dhe “-Wzero-length-bounds”, të cilët shfaqin paralajmërime kur indeksi shkon përtej kufirit të grupit dhe kur përdoren vargje me gjatësi zero.
    • Pajisja virtio-kripto ka shtuar mbështetje për kriptim duke përdorur algoritmin RSA.
  • Nënsistemi i rrjetit
    • Në zbatimin e urave të rrjetit, është shtuar mbështetja për modalitetin e lidhjes së portit (modaliteti i kyçur), në të cilin përdoruesi mund të dërgojë trafik përmes portit vetëm nga një adresë MAC e autorizuar. Është shtuar gjithashtu aftësia për të përdorur disa struktura për të vlerësuar gjendjen e protokollit STP (Spanning Tree Protocol). Më parë, VLAN-et mund të hartoheshin vetëm drejtpërdrejt në STP (1:1), me çdo VLAN të menaxhuar në mënyrë të pavarur. Versioni i ri shton parametrin mst_enable, kur aktivizohet, gjendja e VLAN-ve kontrollohet nga moduli MST (Multiple Spanning Trees) dhe lidhja e VLAN-ve mund të korrespondojë me modelin M:N.
    • Puna vazhdoi për integrimin e mjeteve në grupin e rrjetit për të gjurmuar arsyet e hedhjes së paketave (kodet e arsyes). Kodi i arsyes dërgohet kur memoria e lidhur me paketën lirohet dhe lejon situata të tilla si heqja e paketës për shkak të gabimeve të kokës, zbulimi i mashtrimit të filtrit rp, shuma e kontrollit të pavlefshme, jashtë memorjes, aktivizimi i rregullave IPSec XFRM, numri i pavlefshëm i sekuencës TCP, etj.
    • Është e mundur të transferohen paketat e rrjetit nga programet BPF të lëshuara nga hapësira e përdoruesit në modalitetin BPF_PROG_RUN, në të cilin programet BPF ekzekutohen në kernel, por rezultati kthehet në hapësirën e përdoruesit. Paketat transmetohen duke përdorur nënsistemin XDP (EXpress Data Path). Mbështetet modaliteti i përpunimit të paketave të drejtpërdrejta, në të cilin procesori XDP mund t'i ridrejtojë paketat e rrjetit menjëherë në grupin e rrjetit ose në pajisje të tjera. Është gjithashtu e mundur të krijohen gjeneratorë softuerësh të trafikut të jashtëm ose të zëvendësohen kornizat e rrjetit në grupin e rrjetit.
    • Për programet BPF të bashkangjitura në cgroupet e rrjetit, funksionet ndihmëse janë propozuar për të vendosur në mënyrë eksplicite vlerën e kthimit të thirrjeve të sistemit, gjë që bën të mundur përcjelljen e informacionit më të plotë për arsyet e bllokimit të një thirrjeje sistemi.
    • Nënsistemi XDP (EXpress Data Path) ka shtuar mbështetje për paketat e fragmentuara të vendosura në buferë të shumtë, gjë që ju lejon të përpunoni kornizat Jumbo në XDP dhe të përdorni TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) për XDP_REDIRECT.
    • Procesi i fshirjes së hapësirave të emrave të rrjetit është përshpejtuar ndjeshëm, gjë që ishte e kërkuar në disa sisteme të mëdha me një vëllim të madh trafiku.
  • Оборудование
    • Drejtuesi amdgpu përfshin si parazgjedhje teknologjinë e sinkronizimit adaptiv FreeSync, e cila ju lejon të rregulloni shpejtësinë e rifreskimit të informacionit në ekran, duke siguruar imazhe të qetë dhe pa grisje gjatë lojës dhe shikimit të videove. Mbështetja GPU e Aldebaran është shpallur e qëndrueshme.
    • Shoferi i915 shton mbështetje për çipat Intel Alderlake N dhe kartat grafike diskrete Intel DG2-G12 (Arc Alchemist).
    • Drejtuesi nouveau ofron mbështetje për shpejtësi më të lartë të biteve për ndërfaqet DP/eDP dhe mbështetje për zgjatuesit e kabllove lttprs (Link-Training Tunable PHY Repeaters).
    • Në nënsistemin 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 nomodeset, i cili ju lejon të çaktivizoni ndërrimin e mënyrave të videos në nivelin e kernelit dhe përdorimin e mjeteve të përshpejtimit të paraqitjes së harduerit, duke lënë vetëm funksionalitetin që lidhet me kornizën e sistemit.
    • Mbështetje e shtuar për ARM SoС Qualcomm Snapdragon 625/632 (përdoret në telefonat inteligjentë LG Nexus 5X dhe Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (përdoret në Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek (Mediatek) tabletë 6582G), Microchip Lan5008, Renesas RZ/G3LC, RZ/V966L, Tesla FSD, TI K2/AM2 dhe i.MXRTxxxx.
    • Mbështetje e shtuar për pajisjet dhe bordet ARM nga 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 , Prestigio PMT5008 3G tablet), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 dhe OSMC Vero 4K+), Aspeed (Quanta SHMR6QVE, / Armada (Ctera C8 V3 dhe V200 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT1MM, emCON-MX2M Mini, Toradex Verdin, Gateworks GW8).
    • Mbështetje e shtuar për sistemet e tingullit dhe kodekët AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280L Texas, SC2, SC585. U shtua zbatimi fillestar i drejtuesit të zërit për çipin Intel AVS DSP. Përditësoi mbështetjen e drejtuesve për Intel ADL dhe Tegra234 dhe bëri ndryshime për të përmirësuar mbështetjen audio në pajisjet Dell, HP, Lenovo, ASUS, Samsung dhe Clevo.

    Në të njëjtën kohë, Fondacioni i Software-it të Lirë të Amerikës Latine formoi një version të kernelit plotësisht të lirë 5.18 - Linux-libre 5.18-gnu, i pastruar nga elementët e firmuerit dhe drejtuesit që përmbajnë komponentë jo të lirë ose seksione kodi, fushëveprimi i të cilit është i kufizuar. nga prodhuesi. Publikimi i ri pastron drejtuesit për panelet MIPI DBI, çipat VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) dhe Realtek 8852a/8852c, Intel AVS dhe Texas Instruments TAS5805M. Skedarët DTS u pastruan gjithashtu për SoC të ndryshëm Qualcomm me procesorë të bazuar në arkitekturën AArch64. Kodi i përditësuar i pastrimit të blobit në drejtuesit dhe nënsistemet e AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.

Burimi: opennet.ru

Shto një koment