Pas dy muajsh zhvillimi Linus Torvalds prezentoi lëshimi i bërthamës Linux 6.19. Ndër ndryshimet më të dukshme janë: nënësistemi Live Update Orchestrator, mbështetje për PCIe Link Encryption, thirrja sistemike 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 mbrojtjen nga Spectre, mbështetje për hash-e SHA-3 dhe BLAKE2b, mekanizmi Confidential VMBus, optimizimet TX në nënësistemin e rrjetit, protokolli CAN XL, API për akselerimin harduerik të daljes HDR.
Në njoftimin për versionin e ri, Linus njoftoi se versionit të ardhshëm të bërthamës do t'i jepet numri 7.0, pasi në degën 6.x janë grumbulluar mjaft lëshime për të ndryshuar numrin e parë në numrin e versionit (në atë kohë versioni 6.0 u krijua pas 5.19). Ndryshimi i numrimit bëhet për arsye estetike dhe është një hap formal, që heq shqetësimin për grumbullimin e numrit të madh të lëshimeve në seri. Linus bëri një shaka se numrat e mëdhenj e hutonin atë, sepse nuk kishte mjaft gishta në duar e këmbë. Megjithatë, formalisht ka një arsye për të bërë një ndryshim të rëndësishëm të numrit të versionit, pasi që duke filluar nga lëshimi i ardhshëm mbështetje për Rust është zgjidhur të kalojë nga funksionet eksperimentale në funksionet kryesore të bërthamës.
Në versionin e ri janë pranuar 15657 korrigjime nga 2237 zhvillues, madhësia e patch-it është 52 MB (ndryshimet prekën 13682 skedarë, janë shtuar 794649 rreshta kod, janë fshirë 335498 rreshta). Në lëshimin e fundit ishin 15035 korrigjime nga 2217 zhvillues, madhësia e patch-it ishte 45 MB. Rreth 40% e të gjitha ndryshimeve të paraqitura në 6.19 lidhen me drejtuesit e pajisjeve, afërsisht 13% e ndryshimeve lidhen me përditësimin e kodit specifik për arkitekturën harduerike, 12% lidhen me grackën e rrjetit, 5% me sistemet e skedarëve dhe 3% me nënësistemet e brendshme të bërthamës.
Novitetet kryesore në bërthamën 6.19 (1, 2, 3):
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- NĂ« Btrfs proceset e verifikimit tĂ« FS (scrub) dhe zĂ«vendĂ«simit tĂ« pajisjeve mĂ« nuk bllokojnĂ« kalimin e sistemit nĂ« gjumĂ« (para se tĂ« fle, ruhet gjendja e verifikimit scrub; pas daljes nga gjumi, verifikimi scrub vazhdon, dhe operacioni i zĂ«vendĂ«simit tĂ« pajisjeve fillohet pĂ«rsĂ«ri). NĂ« realizimin e RAID56 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r blloqe me madhĂ«si qĂ« tejkalon madhĂ«sinĂ« e faqes sĂ« memories. ĂshtĂ« bĂ«rĂ« pĂ«rgatitja pĂ«r mbĂ«shtetje pĂ«r fscrypt. ĂshtĂ« rritur performanca e punĂ«s me bllokimet gjatĂ« kryerjes sĂ« operacioneve tĂ« lidhura me rezervimin e hapĂ«sirĂ«s. Shtuar mbĂ«shtetje pĂ«r operacionin ioctl shutdown, i cili lejon kalimin e FS nĂ« njĂ« gjendje, ku bĂ«het njĂ« pĂ«rpjekje pĂ«r tĂ« pĂ«rfunduar operacionet e tashme, por bllokohen tĂ« gjitha operacionet e reja.
- Në sistemin e skedarëve Ext4 u përfshi mbështetje për blloqe me madhësi që tejkalon madhësinë e faqes së memories (>4KB në sistemet x86). Përdorimi i blloqeve të mëdha lejon rrit performancën e operacioneve të shkruarjes buferizuar mesatarisht me 50%, por ul performancën e hyrjes/jeshjes së drejtpërdrejtë për shkak të rritjes së kohës së llogaritjes së kontrolleve. Në versionin e ri gjithashtu shtuar optimizohet, duke rritur kapacitetin gjatë realizimit të degradimit online.
- Në nënësistemin FUSE është përmirësuar mbështetja për leximin buferizuar kur përdoren të mëdhenj folios të faqeve të memories (large folios). Përmes iomap është realizuar mundësia e ndjekjes së folio-ve pjesërisht aktuale për të ngarkuar vetëm të dhënat që mungojnë në bufer.
- Në VFS është shtuar mbështetje për delegimin e kujdesit për direktorët e thirrjes (recallable directory delegation), duke lejuar realizimin e NFS kaluar qeverisjen e direktorëve nga serveri te klienti, në mënyrë që klienti NFS, pa u drejtuar në serverin NFS, të ndjekë vetë gjendjen e direktorëve mbi bazën e caches lokale. Nëse një klient tjetër NFS bën ndryshime të lidhura me këtë direktor, delegimi i qeverisjes do të tërhiqet nga klienti i parë.
- Për NFS shtuar mbështetje për leximin në mënyrën e hyrjes/jeshjes së drejtpërdrejtë. Janë realizuar caktimi i /sys/kernel/debug/nfsd/io_cache_read dhe /sys/kernel/debug/nfsd/io_cache_write për menaxhimin e aktivizimit të caches dhe operacioneve të hyrjes/jeshjes së drejtpërdrejtë, manipulimi me këto caktime lejon uljen e kostove anësore në anën e klientit NFS gjatë kryerjes së operacioneve të mëdha të hyrjes/jeshjes.
- Në NTFS është realizuar mbështetje për operacionin ioctl shutdown, janë përfshirë për shfrytëzim automatike opsionet e montimit acl dhe prealloc, është shtuar mbështetje për kohën deri më 1 janar 1970.
- Për pajisjet bllokuese dhe FS është përfshirë përveç që për çdo CPU caches objektet "bio" (Block I/O), duke përcaktuar operacionet aktive të hyrjes-jeshjes.
- Kujtesa dhe shërbimet sistemore
-
Në bërthamë u përfshi nënësistemi Live Update Orchestrator (LUO), i cili lejon ri-ngarkimin dhe përditësimin e plotë të bërthamës pa ndaluar punën dhe pa humbur gjendjen e sistemit, pajisjeve dhe proceseve. Nënësistemi LUO është i bazuar në mekanizmin e mëparshëm të shtuar në bërthamë KHO (Kexec HandOver) dhe, përveç mundësisë së nisjes së një bërthame të re nga një bërthame e vjetër pa humbje të gjendjes së sistemit, trajton çështje si ruajtja e gjendjes së pajisjeve dhe memorjes, si dhe sigurimin e vazhdimësisë së operacioneve të lidhura me DMA dhe përpunimin e ndërhyrjeve. Gjendja ruhet deri në kalimin në bërthamën e re dhe rikuperohet pas aktivizimit të bërthamës së re pa ndërprerë operacionet e vazhdueshme me pajisjet, të kryera nga sistemi dhe aplikacionet në hapësirën e përdoruesit.
-
Shtuar thirrja sistemike listns() për të shfaqur listën e hapësirave të emrave ekzistuese në sistem pa nevojën për të kaluar nëpër /proc//ns/ për të gjitha proceset.
Në sistemin e hyrjes/daljes asinkrone io_uring është shtuar mbështetje për vendosjen e elementeve me madhësi të ndryshme në radhën e dërgimit (SQE, Submission Queue Entry), ngjashëm me atë siç ishte lejuar në versionin e kaluar me përzierjen e madhësisë së përmbajtjes në radhën e rezultateve (CQE, Completion Queue Event). Para kësaj, të gjitha elementet në radhë duhet të kishin një madhësi, gjë që çonte në shpërdorim të tepruar të memories për shkak të nevojës për të përdorur madhësinë maksimale për të gjitha elementet në radhë.
NĂ« io_uring gjithashtu Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin zcrx (Zero-Copy Receive) pĂ«r marrjen e tĂ« dhĂ«nave pa kopjimin midis bĂ«rthamĂ«s dhe hapĂ«sirĂ«s sĂ« pĂ«rdoruesit. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kĂ«rkesat e vendosjes sĂ« memories pĂ«r radhĂ«t SQ (Submission Queue) dhe CQ (Completion Queue), tĂ« cilat lejojnĂ« tĂ« siguroni informacionin mbi madhĂ«sinĂ« e tamponit tĂ« unazĂ«s, e nevojshme gjatĂ« ndarjes sĂ« memories nga pĂ«rdoruesi me flaga IORING_SETUP_NO_MMAP dhe IORING_MEM_REGION_TYPE_USER.
Për gjurmimin e shpejtë të grumbullit me anë të mjeteve si perf, është shtuar mbështetje për formatin SFrame me informacion mbi shkuljen e grumbullit të thirrjeve (unwind). SFrame tashmë mbështetet në GCC dhe binutils, nuk shkakton rënie të performancës dhe, ndryshe nga formati DWARF, përmban vetëm një grup minimal informacioni të nevojshëm për gjurmimin e grumbullit.
-
Në mjete perf shtuar mbështetje e përbashkët për përshkrimet e metrikave dhe ngjarjeve në formatin JSON, si dhe shkuljen e vonuar (deferred unwinding) të grumbullit të thirrjeve në hapësirën e përdoruesit.
Për procesorët AMD është realizuar një mekanizëm për vendosjen e të dhënave në memorie që lejon pajisjet e hyrjes/daljes të vendosin të dhëna direkt në cache-in L3 të CPU-së pa i vendosur ato më parë në RAM.
Shtuar mbështetje për MPAM (Memory System Resource Partitioning and Monitoring), zgjerimi i arkitekturës së grupit të komandave ARMv8-A për të shënuar çdo kërkesë për memorie me një identifikator seksioni (PARTID, Partition ID) dhe një identifikator grupi monitorimi (PMG, Monitoring Group ID). Në lidhje me PARTID, është e mundur të kufizohet konsumimi i resurseve, siç është kapaciteti i memories ose madhësia e cache-it, në mënyrë që ndonjë grup detyrash të mos zërë të gjitha resurset. Në kontekstin e monitorimit, kombinimi i PMG dhe PARTID mund të përdoret për të monitoruar konsumimin e resursetve të memories në lloje të caktuara ngarkesash.
Në rast të përfundimit të papritur të procesit pas marrjes së një sinjali, një proces tjetër, që ka pidfd e procesit që përfundoi, tani mund të përcaktojë numrin e sinjalit që çoi në përfundimin e procesit.
ĂshtĂ« rishikuar implementimi i sekuencave tĂ« rifillimit (restartable sequences), qĂ« u japin aplikacioneve mundĂ«sinĂ« pĂ«r tĂ« organizuar njĂ« ekzekutim pseudo-atoma tĂ« pandĂ«rprerĂ« tĂ« grupit tĂ« instruksioneve (nĂ« rast ndĂ«rprerjeje nga njĂ« thread tjetĂ«r, pĂ«rpiqet tĂ« ekzekutojĂ« pĂ«rsĂ«ri sekuencĂ«n). Implementimi i ri karakterizohet nga performancĂ« mĂ« e lartĂ«.
-
PĂ«r Programet BPF janĂ« realizuar instruksionet BPF_JMP, BPF_X dhe BPF_JA pĂ«r tĂ« kryer kalime indirekte nĂ« njĂ« pozita tĂ« caktuar nga tabela e kalimeve. ĂshtĂ« shtuar koncepti i treguesve dinamikĂ« (dynptr), qĂ« lejojnĂ« leximin e tĂ« dhĂ«nave nga skedarĂ«t e strukturuar. Shtuar mundĂ«sia pĂ«r tĂ« lidhur shumĂ« byte me metadone nĂ« pacet e rrjetit.
Modulet në gjuhën Python, të përdorura për trajtimin e dokumentacionit të bërthamës, janë zhvendosur në katalogë të veçantë tools/lib/python.
-
Shtesa e funksionit mempool_alloc_bulk() për ndarjen e sigurtë të elementeve nga pool-i i memories menjëherë për disa objekte.
-
Vazhdon transferimi i ndryshimeve nga dega Rust-for-Linux, tĂ« lidhura me pĂ«rdorimin tĂ« gjuhĂ«s Rust si njĂ« gjuhĂ« tĂ« dytĂ« pĂ«r zhvillimin e drejtuesve dhe moduleve tĂ« bĂ«rthamĂ«s (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« aktive nĂ« mĂ«nyrĂ« default dhe nuk çon nĂ« pĂ«rfshirjen e Rust nĂ« varĂ«sitĂ« e detyrueshme tĂ« ndĂ«rtimit tĂ« bĂ«rthamĂ«s). NĂ« versionin e ri nĂ« bĂ«rthamĂ« Ă«shtĂ« e integruar biblioteka "syn" me parser-in e kodit Rust, duke e lehtĂ«suar shkrimin e makroave komplekse. JanĂ« zgjeruar mundĂ«sitĂ« e bibliotekave kernel, pin-init dhe rbtree. ĂshtĂ« shtuar biblioteka num me tipar Integer pĂ«r manipulimin e numrave tĂ« plotĂ«. NĂ« makro module! Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r parametrat e numrave tĂ« plotĂ«. ĂshtĂ« realizuar mundĂ«sia e caktimit tĂ« parametrave gjatĂ« ngarkimit tĂ« moduleve tĂ« bĂ«rthamĂ«s, tĂ« shkruara nĂ« Rust. JanĂ« realizuar abstraksione pĂ«r nĂ«n-sistemet I2C dhe PWM (Pulse Width Modulation).
-
Shtuar makros at_least (p.sh., param[at_least 7], që informon për madhësinë minimale të lejueshme të vargut të kaluar në funksion. Nëse një varg me më pak elemente kalon në funksion, atëherë kompiluesi do të japë një paralajmërim.
-
Në përbërje aktivizuar skripti klp-build për të gjeneruar module bërthamore, duke bërë ndryshime në bërthamën ekzistuese (livepatch), në bazë të një skedari patch. Në utilitarin objtool janë bërë ndryshimet e nevojshme për krijimin e live-patch-ëve.
-
Në User-mode Linux (ekzekutimi i bërthamës si një proces përdoruesi) ka shtuar mbështetje të kufizuar për shumëprocesorin, por thread-et brenda një procesi nuk mund të ekzekutohen njëkohësisht. Ka filluar portimi nga 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 zgjimit të procesorit në modalitetin e kursimit të energjisë s2idle (Suspend-To-Idle), që ngrin ekzekutimin e proceseve në hapësirën e përdoruesit, por lë aktiv disa menaxherë në bërthamë.
-
Shtuar mbështetje për menaxhimin e tabelave të faqeve të memories për kontrolluesit IOMMU (Input-Output Memory Management Unit), që kryen translacionin e adresave virtuale, të dukshme për pajisjet harduerike, në adresat fizike, me mundësinë për të filtruar operacionet DMA sipas adresave virtuale, si dhe për të kufizuar dhe izoluara operacionet e hyrjes-daljes.
Në ngjarjet e gjurmimit të thirrjeve sistemore, është implementuar mundësia e leximit të bufeve nga hapësira e përdoruesit dhe përfshirja e përmbajtjes së tyre (p.sh., emrat e skedarëve) në rezultatet e gjurmimit.
-
**Faqet mbrojtëse të memories ( (guard page), qasja në të cilat shkakton një përjashtim dhe një mbyllje të papritur të procesit (SIGSEGV), tani shënohen me një etiketë 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ë memorien private të pajisjeve të zonuara.
-
Në pajisjen zram, e cila përdoret për ruajtjen e kompresuar të pjesës së shkëmbimit në memorie, është realizuar mbështetje për ndërrimin e disa strukturave «bio» (Block I/O) në modalitetin e paketimit (writeback batching).
NĂ« pĂ«rbĂ«rje Ă«shtĂ« pĂ«rfshirĂ« fonti «Terminus 10Ă18», qĂ« pĂ«rmirĂ«son lexueshmĂ«rinĂ« e informacionit nga konsoli nĂ« ekranet e laptopĂ«ve me rezolutĂ« mesatare (1440Ă900).
-
ShumĂ« sistemet e auditi janĂ« optimizuar punĂ« â Ă«shtĂ« vĂ«nĂ« re njĂ« ulje e kostove tĂ« operacioneve me dyfish. Shtuar mbĂ«shtetje pĂ«r mundĂ«sinĂ« e ofruar nga procesorĂ«t Intel pĂ«r
-
- Virtualizimi dhe siguria
- ndarje e hapĂ«sirĂ«s adresuese lineare (LASS, linear address-space separation), e cila lejon ndarjen e gamave tĂ« adresave tĂ« hapĂ«sirĂ«s sĂ« pĂ«rdoruesit dhe bĂ«rthamĂ«s pĂ«r tĂ« pĂ«rmirĂ«suar sigurinĂ«. HapĂ«sira adresuese ndahet sipas bitit mĂ« tĂ« lartĂ« tĂ« adresĂ«s â njĂ« pĂ«rgjysmĂ« e hapĂ«sirĂ«s adresuese me bitin mĂ« tĂ« 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 spekullativ) kryhet verifikimi 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 anĂ«sore edhe nĂ« ekzekutimin spekullativ tĂ« instrukcioneve, duke mundĂ«suar pĂ«rdorimin e LASS pĂ«r mbrojtjen nga sulmet e klasĂ«s Meltdown dhe Spectre, pa shkaktuar kostot e mĂ«dha. Shtuar mundĂ«sia pĂ«r aktivizimin
- e zgjerimeve pĂ«rforcimi i sigurisĂ« sĂ« shenjĂ«s PCI Express â PCIe Link Encryption dhe PCIe Device Authentication, qĂ« lejon verifikimin e autencitetit dhe kriptimin e kanaleve tĂ« komunikimit mes pajisjes PCIe dhe makinĂ«s virtuale, e mbrojtur me mekanizmat Intel TDX (Trusted Domain Extensions) dhe AMD SEV-SNP (Secure Nested Paging). TeknologjitĂ« e realizuara nuk lejojnĂ« kapjen, analizimin dhe inkurajimin e tĂ« dhĂ«nave nĂ« trafikun DMA nĂ« rastin e qasjes nĂ« sistemin host ose pajisje tĂ« tjera. NĂ« bibliotekĂ«n e kriptografisĂ« tĂ« integruar
- mbështetje për algoritmet SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 dhe BLAKE2b. shtuar Për modulet LSM (Linux Security Modules) dhe, në veçanti, për SELinux,
- mundësia për të ndjekur krijimin e deshifratorëve memfd për të aplikuar politika sigurie në objektet e lidhura me to. është realizuar Në modulin LSM
- IPE Integrity Policy Enforcement (), që përcakton politikën e përgjithshme të sigurimit për të gjithë sistemin, është shtuar mbështetje për flagunAT_EXECVE_CHECK AT_EXECVE_CHECK në funksionin execveat(), që përfshin verifikimin e integritetit të skriptit para se të ekzekutohet nga interpreti.
- Shtuar primitivët 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 me mbrojtje sulmet spekultative.
- Shtuar mbështetje për mekanizmin Confidential VMBus, i përdorur në hypervisorin HyperV për ndërveprimin e mbrojtur nga ndërhyrjet e hypervisorit mes sistemit pritës, që ekzekutohet në modalitetin e konfidencialitetit (me kriptimin e memories dhe izolimin e regjistrave mbi bazën e teknologjive AMD SNP dhe Intel TDX), dhe paravisorit, që përgjigjet për qasjen në pajisjet që trajtojnë të dhëna konfidenciale.
- Shtuar mundësia e transmetimit të informacionit mbi një proces të 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 sulm të zëvendësimit të procesit suid të përfunduar papritur me një proces tjetër, arritur në një gjendje garash në momentin pas fillimit të trajtimit nga bërthama të përfundimit të papritur, por para kontrollit nga menaxheri në hapësirën e përdoruesit të parametrave të procesit.
- Sistemi i rrjetit
- Në nënshkallën rrjetore janë bërë optimizations për rritjen e efikasitetit të transmetimit të të dhënave (TX). Heqja e funksionit __dev_queue_xmit() nga spin-lock dhe përdorimi i një strukture llist që punon pa bllokimet lehoi të rrisë performancën 4 herë nën ngarkesë të madhe dhe të dyfishojë intensitetin e dërgimit të paketave duke ulur ngarkesën mbi CPU me dyfish.
- E ofruar mundësia çaktivizimit për soketet e veçanta të rrjetit kufizimet sistemike mbi përdorimin e memorjes (në këtë rast do të përdoren kufizimet e përbashkëta të memorjes, të vendosur për tegjithë kontejnerët). Për menaxhimin e çaktivizimit të kufizimeve është propozuar sysctl net.core.bypass_prot_mem dhe flag SK_BPF_BYPASS_PROT_MEM në funksionin bpf_setsockopt.
- Shtuar mbështetje për zgjatjen RFC 5837, duke shtuar në mesazhet ICMP që Tejkalimi i Koheës, të kthehet kur jetëgjatësia (TTL) e paketës skadon, të dhëna për ndërfaqet rrjetore hyrëse për të marrë informacione më të detajuara gjatë ndjekjes së rrugëve me utilitarin traceroute.
- Shtuar mbështetje për polling aktiv të vazhdueshëm (busy polling) në një fijë të veçantë të bërthamës me qëllim nxjerrjen e deskriptorëve nga RX/TX-radhët për aplikacione që kërkojnë vonesa minimale.
- Shtuar mbështetje për protokollin CAN XL (Controller Area Network eXtended Length), në të cilin madhësia e fushës me të dhëna është rritur në 2048 byte për të siguruar integrimin me rrjetet TCP/IP, realizuar mundësinë e tunelizimit të kornizave Ethernet dhe shtuar mbështetje për modulimin me gjerësi-impuls, duke mundësuar transmetimin e të dhënave me shpejtësi 20 Mbps dhe më lart.
- Shtuar mbështetje për strukturën sockaddr_unsized, një variant strukture sockaddr, duke përdorur një array me elemente të përshtatshëm në vend të një array me madhësi fikse (sa_data[] në vend të sa_data[14], i cili 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ënshkallës 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 1600 Gbps (1.6T).
- Pajisjet
- Në nënshkallën DRM (Direct Rendering Manager) është shtuar API për të shfrytëzuar mundësitë harduerike të konvertimit të ngjyrave, duke lejuar evitimin e transformimeve të tilla përmes shader-eve ose ekzekutimin e kodit në CPU. Për daljen e përmbajtjes në monitorët HDR, transformimet komplekse të ngjyrave tani mund të realizohen nga kontrolluesi i ekranit në fazat para dhe pas përzierjes së shtresave (blending), në vend të kompozimit programatik të përmbajtjes në tamponin përfundimtar të shfaqjes. Përveç zvogëlimit të kostove të mbetjeve dhe konsumit të energjisë gjatë organizimit të daljes në HDR, funksionaliteti i propozuar mund të përdoret për transmetimin e saktë të ngjyrave në redaktorët e videove ose imazheve.
- Shtuar drajver ethosu për NPU Arm Ethos U65 dhe U85, të destinuara për akcelerimin harduerik të ekzekutimit të modeleve AI.
- Në drejtuesin i915 për GPU Lunar Lake dhe më të rinjtë është shtuar mbështetje për rritjen harduerike të qartësisë së imazhit (Sharpening).
- Vazhduar punësimi mbi drejtorin drm (Direct Rendering Manager) Xe për GPU të bazuar në arkitekturën Intel Xe, e cila përdoret në kartat e grafikës Intel të familjes Arc dhe grafikën e integruar, që nga procesorët Tiger Lake. Shtuar mbështetje fillestare për arkitekturën Xe3P, e përdorur në GPU Crescent Island dhe familjen e procesorëve me grafikë të integruar Nova Lake.
- Në drejtorin 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 të cilat më parë ishte përdorur drejtori Radeon. Drejtorin AMDGPU e ka çuar në paritet në mundësitë me drejtori Radeon dhe është aktivizuar për këto GPU në mënyrë të paracaktuar. Kartat GCN 1.x janë prodhuar nga 2012 deri në 2019 dhe përfshijnë modele 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 karta të tjera grafike të familjeve Radeon Rx 200 / Rx 300. Përveç rritjes të performancës në mesatare me 24%, kalimi në AMDGPU ka lejuar realizimin e mbështetjes për API grafik Vulkan 1.3 për këto GPU. Për më tepër, në AMDGPU është shtuar mbështetje për konnektorët analogë dhe Video Coding Engine 1.0, si dhe është angazhuar në mënyrë të paracaktuar shtrati DC (Display Core) për GPU të bazuara në mikroarkitekturën Bonaire (Radeon HD 7790).
- Në drejtorin Nouveau është realizuar mbështetje për akceleratorin harduerik NVJPG, i pranishëm në SoC Tegra210.
- Në drejtorin Panthor shtuar mbështetje për GPU Mali-G1 dhe mbështetje fillestare për çipin MediaTek MT8196.
- Shtuar mbështetje për sistemin e zërit të çipave Intel Nova Lake S, laptopët HP me HDA CS35L41, si dhe ndërfaqet audio CIX IPBLOQ HD dhe Onkyo SE-300PCIE.
- Integrimi i vazhdueshëm i komponenteve të drejtuesit Nova për GPU NVIDIA, të pajisur me firmware GSP, duke filluar nga seria NVIDIA GeForce RTX 2000 e ndërtuar në mikroarkitekturën Turing. Drejtori është shkruar në gjuhën Rust. Në versionin e ri ka filluar puna mbi RPC dhe ka përfunduar. implementimi i ngarkesës së koprocessorit 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 të pllakave Enclustra Mercury.
- U shtua mbështetje për smartphone dhe tabletë të bazuara në SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) dhe Qualcomm MSM8939 (ASUS ZenFone 2). U shtua mbështetje për laptopët me SoC Qualcomm sdm850, siç është Huawei MateBook E 2019.
- Shtuar mbështetje për SoC dhe pllakat të bazuara në arkitekturën RISC-V: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.
NjĂ«kohĂ«sisht Fondi Latino-Amerikan i Softuerit tĂ« LirĂ« formoi opsion nĂ« bĂ«rthamĂ« tĂ« plotĂ« tĂ« lirĂ« 6.19 â Linux-libre 6.19-gnu, e pastĂ«r nga elementet e firmware dhe drejtuesve qĂ« pĂ«rmbajnĂ« componente ose kode tĂ« papajtueshme, tĂ« cilat janĂ« tĂ« kufizuara nĂ« pĂ«rdorim nga prodhuesi. NĂ« lĂ«shimin 6.19, kodi pĂ«r ngarkimin e firmware-ve binar nĂ« sistemin e zĂ«rit SDCA Ă«shtĂ« eliminuar. Kodi pĂ«r pastrimin e blob-eve nĂ« drejtuesit Intel XE, Nova-Core, Qualcomm Iris, Venus and Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 dhe kodekĂ«t audio TI tas2783 Ă«shtĂ« azhurnuar. JanĂ« realizuar pastrime tĂ« emrave tĂ« blob-eve nĂ« skedarĂ«t dts (devicetree) pĂ«r çipat ARM. Pastrimi i drejtuesit STM C8SECTPFE DVB, tĂ« hequr nga bĂ«rthama, Ă«shtĂ« ndalur.
Burimi: linux.org.ru
