Pas dy muaj zhvillimi, Linus Torvalds prezantoi versionin e kernelit Linux 6.9. Ndër ndryshimet më të dukshme janë: moduli dm-vdo për deduplication dhe kompresionin e pajisjeve bllokuese, mënyra e qasjes direkte në skedarë në FUSE, mbështetja për krijimin e pidfd për çdo thread, mekanizmi i tokenëve BPF, mbështetje për Rust në sistemet ARM64, klasifikimi i FS Ext2 si i vjetruar, dhe heqja e drejtuesit të vjetër NTFS, gjithashtu mbështetje për mekanizmin Intel FRED.
Në versionin e ri janë përfshirë 15680 korrigjime nga 2106 zhvillues, madhësia e patch-it është 54 MB (ndryshimet preken 11825 skedarë, 687954 rreshta kodi janë shtuar, 225344 rreshta janë fshirë). Në versionin e kaluar ishin 15641 korrigje nga 2018 zhvillues, madhësia e patch-it ishte 44 MB. Rreth 42% e gjitha ndryshimeve në 6.9 lidhen me drejtuesit e pajisjeve, afërsisht 17% e ndryshimeve kanë të bëjnë me azhurnimin e kodit specifik për arkitekturat harduerike, 13% lidhen me grumbullin e rrjetit, 7% me sistemet e skedarëve dhe 4% me nënssystemet e brendshme të kernelit.
Novitet kryesore në kernelin 6.9:
- Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
- Në Device Mapper (DM) është shtuar një trajtues i ri dm-vdo (virtual data optimizer), i cili lejon krijimin e një pajisje bllokuese virtuale mbi bazën e pajisjeve bllokuese ekzistuese, me mundësi si deduplication e të dhënave të përsëritura, kompresionin e të dhënave, përjashtimin e bllokave bosh dhe rritjen e madhësisë së pajisjes bllokuese kur është e nevojshme (thin provisioning). Këto mundësi implementohen në nivelin e pajisjes bllokuese dhe nuk varen nga sistemi i skedarëve të përdorur (për shembull, me dm-vdo mund të implementohet bashkimi automatik i të dhënave të dubluara dhe ruajtja e informacionit në formë të kompresuar për çdo FS). Mbështetet përdorimi i dm-vdo për ruajtje fizike me madhësi deri në 256TB, dhe krijimi i volumeve logjikë me madhësi deri në 4PB. Për menaxhimin e ndarjeve vdo rekomandohet përdorimi i lvm. Teknologjia VDO është zhvilluar nga kompania Permabit dhe është hapur pas blerjes së saj nga Red Hat në vitin 2017.
- NĂ« nĂ«ndĂ«rfaqen FUSE, e cila pĂ«rdoret pĂ«r realizimin e sistemeve tĂ« skedarĂ«ve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, Ă«shtĂ« shtuar njĂ« implementim fillestar i modit âpassthroughâ, i cili lejon marrjen e tĂ« dhĂ«nave tĂ« skedarĂ«ve direkt nĂ« nivelin e bĂ«rthamĂ«s, duke anashkaluar procesin qĂ« punon nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, çka nĂ« disa raste rrit ndjeshĂ«m performancĂ«n. PĂ«r shembull, implementimet FUSE tĂ« sistemeve tĂ« skedarĂ«ve, qĂ« funksionojnĂ« nĂ« modin vetĂ«m pĂ«r lexim dhe kufizojnĂ« aksesin nĂ« skedarĂ«, mund tĂ« ofrojnĂ« pĂ«rmbajtjen e skedarĂ«ve nga sistemi origjinal i skedarĂ«ve pa i transmetuar ato nĂ« procesin FUSE.
- Draiveri me implementimin e sistemit të skedarëve Ext2 është transferuar në kategorinë e të vjetruarve (deprecated). Si shkak për këtë përmendet se draiveri mbështet vetëm numrat e kohës 32-bit në inode, të cilët do të mbushen më 19 janar 2038. Në vend të draiverit ext2, sugjerohet përdorimi i draiverit ext4, i cili mbështet punën me sistemin e skedarëve Ext2 dhe është plotësisht kompatibil me të, por që gjithashtu mund të përdorë stamps, të pa prekura nga problemi i vitit 2038, nëse FS është krijuar me inode që kanë një madhësi më të madhe se 255 byte (në draiverin ext2, numrat 32-bit të kohës përdoren pavarësisht nga madhësia e inode).
- Draiveri i vjetër i sistemit të skedarëve NTFS është fshirë, dhe nga versioni 5.15 e tutje, ka ardhur një draiver i ri NTFS3. Prandaj, ofrimi në bërthamë i dy draiverëve me implementimin e NTFS është konsideruar i papërshtatshëm, duke marrë parasysh se draiveri i vjetër nuk është përditësuar për shumë vite, ndodhet në një gjendje të keqe dhe mund të funksionojë vetëm në modin e leximit.
- Në sistemet e skedarëve zonefs dhe hugetlbfs është shtuar mbështetja për mapimin e identifikuesve të përdoruesve të sistemeve të skedarëve të montuar, që përdoret për të përputhur skedarët e një përdoruesi të caktuar në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual.
- Në NFSv4, administratorët kanë mundësinë të pastrojnë gjendjet e hapjes dhe bllokimit të skedarëve.
- Për sistemin e skedarëve Ext4, janë shënuar vetëm rregullime të defekteve dhe përditësime të testeve kunit.
- Në Btrfs është vazhduar përkthimi i funksioneve në përdorimin e folio-ve të faqeve të memories (page folios).
- Në sistemin e skedarëve XFS, është vazhduar puna për realizimin e mundësisë së përdorimit të utilitarit fsck për kontrollin dhe korrigjimin e problemeve të identifikuara në mënyrën online, pa e shkëputur sistemin e skedarëve.
- Në thirrjen sistemike pwritev2() është shtuar flag RWF_NOAPPEND, i cili lejon specifikimin e pozicionit për shkrimin, edhe nëse skedari është hapur në modin e vetëm të shtimit të të dhënave në fund të skedarit.
- Shtohen komandat e reja ioctl: FS_IOC_GETUUID - kthen identifikuesin UUID të sistemit të skedimeve të specifikuar, dhe FS_IOC_GETFSSYSFSPATH - përcakton vendndodhjen në /sys/fs të sistemit të skedimeve të montuar.
- Sistemet e skedimeve efs, qnx4 dhe coda janë përditësuar për të përdorur API-në e re për montimin e seksioneve.
- ĂshtĂ« pĂ«rmirĂ«suar implementimi i operacioneve me skedat qĂ« kryhen pa marrĂ« parasysh regjistrin e simboleve. Performanca Ă«shtĂ« rritur duke filluar me krahasimin me regjistrin dhe duke u rikthyer nĂ« kĂ«rkimin pa marr parasysh regjistrin. JanĂ« zgjidhur problemet kur montoni overlayfs mbi direktori, pĂ«r tĂ« cilat Ă«shtĂ« vendosur regjimi pa marrĂ« parasysh regjistrin e simboleve.
- Memorie dhe shërbime sistemike
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r mekanizmin Intel FRED (Flexible Return and Event Delivery), i krijuar pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin dhe besueshmĂ«rinĂ« e dorĂ«zimit tĂ« informacionit pĂ«r ngjarjet me nivel tĂ« ulĂ«t, krahasuar me mekanizmin e tanishĂ«m IDT (Interrupt Descriptor Table). Rritja e performancĂ«s dhe reduktimi i vonesave sigurohet me kthimin e ngjarjeve nga instruksioni i procesorit IRET nĂ« vend tĂ« transmetimit tĂ« ngjarjeve pĂ«rmes tabelĂ«s IDT. BesueshmĂ«ria pĂ«rmirĂ«sohet pĂ«r shkak tĂ« pĂ«rpunimit tĂ« veçantĂ« tĂ« ardhjes sĂ« ngjarjeve nĂ« kontekstin e bĂ«rthamĂ«s dhe kontekstin e pĂ«rdoruesit, mbrojtjes nga ekzekutimi i ngjizur NMI dhe ruajtjes nĂ« kornizĂ«n e zgjeruar tĂ« grumbullit tĂ« tĂ« gjitha regjistrave tĂ« lidhur me pĂ«rjashtimin e CPU.
- ĂshtĂ« shtuar mundĂ«sia e optimizimit tĂ« qasjes nĂ« tĂ« dhĂ«nat e bĂ«rthamave tĂ« veçanta tĂ« CPU-sĂ« pĂ«rmes pĂ«rdorimit nĂ« kodin e bĂ«rthamĂ«s tĂ« hapĂ«sirave tĂ« adresave tĂ« emĂ«ruara (Named Address Spaces), tĂ« realizuara nĂ« GCC nĂ« formĂ«n e njĂ« zgjerimi GNU C.
- Në funksionin pidfd_open() është shtuar flagu PIDFD_THREAD, që lejon krijimin e pidfd për bërthama të veçanta, dhe jo vetëm përdorimin e pidfd në kontekstin e liderit të grupit të bërthamave. Gjithashtu, është propozuar implementimi i një FS pseudo për qasjen në pidfd përmes sistemit virtual të skedave. Në dallim nga identifikimi i proceseve përmes pid, identifikuesi pidfd lidhet me një proces të caktuar dhe nuk ndryshon, ndërsa PID pas përfundimit të procesit aktual mund të lidhet me një proces tjetër.
- Në nënsistemin BPF është shtuar mekanizmi i BPF-tokens, që lejon delegimin selektiv të të drejtave të qasjes në operacione të privilegjuara BPF për programet, për shembull, mund të ofrohet qasja për një aplikacion të paprivilgjuar në nënsisteme të veçanta BPF pa i dhënë të gjitha të drejtat CAP_BPF.
- Një lloj i ri memorjeje të përbashkët bpf_arena është shtuar në nën-sistemin BPF, i cili përcakton një zonë të aksesueshme për ndarjen për programet BPF dhe proceset në hapësirën e përdoruesit. Shtuar instruksioni may_goto, që lejon organizimin e punës së cikleve, të cilat mund të ndërpriten nga verifikuesi. Shtuar mundësia për të gjeneruar nga programet BPF cookie TCP SYN dhe për të krijuar BPF-handler për të luftuar me fillimet SYN.
- Transferimi i ndryshimeve nga dega Rust-for-Linux vazhdon, nĂ« lidhje me pĂ«rdorimin e gjuhĂ«s Rust si njĂ« gjuhĂ« tĂ« dytĂ« pĂ«r zhvillimin e shoferĂ«ve dhe moduleve tĂ« bĂ«rthamĂ«s (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« aktive si parazgjedhje dhe nuk çon nĂ« pĂ«rfshirjen e Rust si njĂ« varĂ«si ndihmĂ«se tĂ« detyrueshme pĂ«r bĂ«rthamĂ«n). Shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e gjuhĂ«s Rust nĂ« procesorĂ«t ARM 64-bit. Kalimi nĂ« versionin mĂ« tĂ« fundit Rust 1.76 Ă«shtĂ« realizuar. Shtuar makroja âcontainer_of!â. NĂ« vend tĂ« funksionalitetit tĂ« paqĂ«ndrueshĂ«m âptr_metadataâ, Ă«shtĂ« pĂ«rdorur metoda e qĂ«ndrueshme âbyte_subâ. Shtuar moduli âtimeâ me funksionin e konvertimit tĂ« kohĂ«s âmsecs_to_jiffies()â.
- Në nën-sistemin io_uring është shtuar mundësia për të prishur skedarët (ftruncate_file).
- Shtuar një lloj i ri i radhëve të punës WQ_BH (workqueue Bottom Halves) për të ekzekutuar në mënyrë asinkrone kodin në kontekstin e ndërprerjeve programore, i dedikuar për përdorim në vend të tasklet-eve të vjetruara.
- Nën-sistemi i punës me timer është përmirësuar ndjeshëm, ku logjika përzgjedhjes së bërthamës aktive të CPU për të realizuar timer-in e aktivizuar është përmirësuar për të mos nxjerrë nga gjumi bërthamat e paaktivizuara.
- Mundësia për të përditësuar modelin e konsumit të energjisë së bërthamës (EM, Energy Model) gjatë punës është realizuar, e cila mund të përdoret, për shembull, për të marrë parasysh ndikimin e temperaturës së punës në efikasitetin energjitik të CPU. Performanca e funksionit em_cpu_energy() është rritur ndjeshëm, i cili tani ekzekutohet më shpejt 1.43 herë në testet në sistemin stacionar, dhe 1.69 herë në testin në bordin RockPi 4B.
- Shtuar mbështetje për nisjen e sistemeve të bazuara në arkitekturën ARM64 në modalitetin LPA2 me një hapësirë adresash virtuale 52-bit.
- Për sistemet ARM64 është realizuar mbështetje për shënimet e vazhdueshme PTE (Page Table Entry), duke lejuar rritjen e performancës përmes përmirësimit të efikasitetit të përdorimit të TLB (Translation Lookaside Buffer).
- Patch-e të pranuara për të rritur performancën e nën-sistemit të menaxhimit të memories duke reduktuar shfaqjen e bllokimeve konkurruese në vmalloc().
- Për arkitekturën LoongArch është realizuar një mekanizëm i nxehtë për vendosjen e patch-eve në bërthamë (live patching), i cili lejon aplikimin e rregullimeve në bërthamë pa e riparuese atë.
- Për sistemet RISC-V është realizuar mbështetje për thirrjen e sistemit membarrier(), e cila siguron vendosjen e barrierave të memories për planet që funksionojnë në sistem.
- Janë rritur kërkesat për versionin LLVM/Clang që mund të përdoret për ndërtimin e bërthamës. Tani për ndërtimin kërkohet të paktën versioni LLVM 13.0.1 (më parë mbështetej ndërtimi në LLVM 11+).
- Në mekanizmin "User trace events", që lejon krijimin e ngjarjeve të gjurmimit nga proceset përdorues për të ndjekur aktivitetet në hapësirën e përdoruesit, është shtuar mbështetje për eksportimin e informacionit të ngjarjeve në formate të ndryshme (USER_EVENT_REG_MULTI_FORMAT).
- Në mekanizmin e gjurmimit të thirrjeve të funksioneve është shtuar mundësia për të ndjekur gjendjen e argumenteve hyrëse të funksionit gjatë gjurmimit të daljes nga funksioni. Vlerat e operatorit return tani mund të jenë në përputhje me argumentet e përdorura gjatë thirrjes së funksionit.
- NĂ« utilitarin perf Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modalitetin e agregimit tĂ« daljes "cluster" ("perf stat -a --per-cluster") pĂ«r bashkimin e statistikave tĂ« burimeve tĂ« ndara. ĂshtĂ« realizuar mundĂ«sia e angazhimit tĂ« bibliotekĂ«s libcapstone pĂ«r disasemblimin e instrukcioneve tĂ« procesorit ("perf script -F disasm"). JanĂ« kryer optimizime tĂ« konsumit tĂ« memories gjatĂ« ekzekutimit tĂ« komandave perf report dhe perf annotate.
- Virtualizimi dhe siguria
- ĂshtĂ« shtuar mbrojtja nga dobĂ«sia RFDS (Register File Data Sampling) nĂ« procesorĂ«t Intel Atom, qĂ« lejon nxjerrjen e informacionit tĂ« mbetur nga skedarĂ«t regjistrues (RF, Register File) tĂ« procesorit, qĂ« pĂ«rdoren pĂ«r ruajtjen e pĂ«rmbajtjes sĂ« regjistrave nĂ« tĂ« gjitha detyrat nĂ« tĂ« njĂ«jtin bĂ«rthamĂ« CPU. PĂ«r tĂ« bllokuar dobĂ«sinĂ« kĂ«rkohet pĂ«rditĂ«simi i mikro-kodit dhe pĂ«rdorimi i instruksionit VERW pĂ«r pastrimin e pĂ«rmbajtjes sĂ« buferĂ«ve mikroarkitektonikĂ« nĂ« momentin e kthimit nga bĂ«rthama nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. PĂ«r tĂ« aktivizuar mbrojtjen gjatĂ« ngarkimit tĂ« bĂ«rthamĂ«s mund tĂ« pĂ«rcaktohet flamuri "reg_file_data_sampling=on". Informacioni mbi ndjeshmĂ«rinĂ« ndaj dobĂ«sisĂ« dhe disponueshmĂ«rinĂ« e mikro-kodit tĂ« nevojshĂ«m pĂ«r mbrojtje mund tĂ« vlerĂ«sohet nĂ« skedarin "\/sys\/devices\/system\/cpu\/vulnerabilities\/reg_file_data_sampling."
- Shto u shtua mbĂ«shtetje themelore pĂ«r mbrojtjen e sistemeve mysafirĂ« pĂ«rmes zgjerimit AMD SEV-SNP (Secure Nested Paging), i cili siguron njĂ« funksionim tĂ« sigurt me tabelat e brendshme tĂ« faqeve tĂ« memories dhe mbron nga sulmet âundeSErVedâ dhe âSEVerityâ nĂ« procesorĂ«t AMD EPYC, tĂ« cilĂ«t lejojnĂ« kalimin e mekanizmit tĂ« mbrojtjes AMD SEV (Secure Encrypted Virtualization). KVM Ndryshimet e nevojshme pĂ«r pĂ«rdorimin e SNP planifikohen tĂ« shtohen nĂ« degĂ«n 6.10.
- Modulet që zbatojnë teknologjitë IMA (Integrity Measurement Architecture) dhe EVM (Extended Verification Module) janë përshtatur për të përdorur kuadrin LSM (Linux Security Modules), i cili pa humbur funksionalitetin ka lehtësuar ndjeshëm kodin, ka bashkuar funksionalitetin e përsëritur dhe ka angazhuar mundësitë modelore të disponueshme përmes LSM. Moduli IMA është projektuar për të verifikuar integritetin e komponenteve të sistemit operativ përmes nënshkrimeve digjitale dhe hash-eve. Moduli EVM lejon mbrojtjen e atributeve të zgjeruara të skedarëve (xattrs) nga sulmet që synojnë të dëmtojnë integritetin e tyre (EVM nuk do të lejojë kryerjen e një sulmi offline, ku një sulmues mund të modifikojë metadatat, për shembull, duke u ngarkuar nga pajisja e tij).
- Sistemet e thirrjeve lsm_list_modules(), lsm_get_self_attr() dhe lsm_set_self_attr() janë ristrukturuar për një përputhshmëri më të madhe me ambientet 32-bit, të cilat janë të destinuara për të shfaqur listën e moduleve të LSM të ngarkuara (Linux Security Modules) dhe për të marrë/ajustuar atributet e modulit të LSM. Ky ndryshim shkel përputhshmërinë prapa, por pasi thirrjet e reja janë shtuar në lëshimin e fundit të bërthamës dhe për momentin nuk përdoren në aplikacione, Linus Torvalds e konsideroi këtë ndryshim të pranueshëm.
- U pĂ«rmend njĂ« pĂ«rpjekje pĂ«r tĂ« rinisur pĂ«rdorimin e mekanizmit UBSAN (Undefined Behavior Sanitizer). Problemi Ă«shtĂ« se kompjuterĂ«t trajtojnĂ« ndryshe mbipĂ«rshkrimet pĂ«r tipet e numrave tĂ« nĂ«nshkruar dhe tĂ« paantĂ«. MbipĂ«rshkrimet e nĂ«nshkruara dhe ata tĂ« treguesve pĂ«rfshihen nĂ« kategorinĂ« e sjelljes sĂ« pacaktuar, ndĂ«rsa mbipĂ«rshkrimet e paantĂ« mbyllen modulu 2n duke ruajtur vetĂ«m bitĂ«t mĂ« tĂ« ulĂ«t tĂ« rezultatit (âwrap-aroundâ) dhe nuk bien nĂ«n sjellje tĂ« pacaktuar. PĂ«r tĂ« shmangur situatat qĂ« shkaktojnĂ« sjellje tĂ« pacaktuar, bĂ«rthama kompilohet me opsionin â-fno-strict-overflowâ, i cili çon nĂ« pĂ«rdorimin e âwrap-aroundâ pĂ«r tĂ« gjitha mbipĂ«rshkrimet e numrave tĂ«rĂ«. GCC dhe Clang nuk mund tĂ« diagnostikojnĂ« siç duhet disa probleme kur pĂ«rdoret flagu â-fno-strict-overflowâ dhe pĂ«rfshirja e UBSAN synon tĂ« kryejĂ« njĂ« punĂ« tĂ« pĂ«rbashkĂ«t me zhvilluesit e kompjilatorĂ«ve pĂ«r tĂ« eliminuar veçoritĂ« e rreme dhe pĂ«r tĂ« zbuluar mbipĂ«rshkrimet e numrave nĂ« vende ku nuk ka kontroll tĂ« qartĂ«.
Për të kontrolluar mbipërshkrimet e mundshme në bërthamë, përdoren konstruksione të tilla si "var + offset PAGE_SHIFT) < pgoff) {..}"), të cilat varen nga kompilimi me flagun "-fno-strict-overflow" dhe nuk mbulon tërë kodin ku potencialisht mund të ndodhë mbipërshkrimi. Problemi është se, me përdorimin e UBSAN, këto kontrole shkaktonin një numër të madh paralajmërimesh të rreme, dhe për këtë arsye, në vitin 2021, UBSAN duhej të çaktivizohej. Në aplikimin e përmirësuar, propozohet përdorimi i annotimeve speciale __signed_wrap dhe __unsigned_wrap, si dhe makros të gatshme me kontrollet add_would_overflow(a, b) dhe add_wrap(a, b), të cilat ndihmojnë në ndarjen e mbipërshkrimeve të parashikuara nga zhvilluesit nga ato të rastësishme që mund të çojnë në vulnerabilitete. Propozimi për një ripunim më të gjerë të bërthamës me hyrje të regjistrimeve të reja u hodh poshtë nga Linus Torvalds.
- Sistemi rrjetor
- NĂ« sistemin e rrjetit Ă«shtĂ« bĂ«rĂ« punĂ« pĂ«r tĂ« ulur shfaqjen e bllokimeve konkurruese ("lock contention", pĂ«rpjekje pĂ«r tĂ« marrĂ« njĂ« bllokim tĂ« mbajtur nga njĂ« thread tjetĂ«r). ĂshtĂ« reduktuar pĂ«rdorimi i bllokimeve RTNL.
- Shtesa e mbështetjes së polling aktiv të soketëve (busy polling) në kontekstin e thirrjeve të veçanta epoll. Madhësia e rezervuarit dhe parametrat e buxhetit mund të vendosen ndaras nga parametrat sistemikë të zakonshëm.
- Struktura net_hotdata është realizuar për të përmirësuar efikasitetin e caching të variablave më të përdorur në konfigurimin e rrjetit.
- Në MPTCP është shtuar mbështetja për vendosjen e opsionit TCP_NOTSENT_LOWAT për soketët, duke lejuar kufizimin e madhësisë së buffers së dërgimit. Në API për soketët MCTP është shtuar mbështetje për identifikatorët e rrjetit ('network ID'), të cilët lejojnë përdorimin e disa rrjeteve MCTP që nuk ndërhyjnë njëra me tjetrën në një host të vetëm.
- Në IPSec është shtuar mbështetje për ridrejtimin e mesazheve ICMP me informacione për gabimet (RFC 4301).
- Procesi i skanimit të rrugëve me jetëgjatësi të skaduar është përshpejtuar.
- Puna e XDP është përshpejtuar falë shmangies më të fortë të alokimit të blloqeve të mëdha të memories.
- ĂshtĂ« shtuar mundĂ«sia e bashkĂ«ngjitjes sĂ« metadata-s nĂ« mesazhet netconsole.
- Në Netfilter është lejuar definimi nga hapësira e përdoruesit të tabelave, të cilat lidhen me procesin administrativ dhe nuk fshihen automatikisht pas përfundimit të aplikacionit të përdoruesit.
- Në nftables është përshpejtuar shtimi i elementeve në set-të me intervale të bashkuara.
- Pajisje
- NĂ« drejtuesin i915, Ă«shtĂ« vazhduar puna pĂ«r realizimin e mbĂ«shtetjes pĂ«r çipet Intel LunarLake (Xe 2). JanĂ« shtuar identifikatorĂ« tĂ« rinj PCI pĂ«r pajisjet qĂ« bazohen nĂ« çipet Intel Arrow Lake dhe Alder Lake N. PĂ«r Displayport Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tunneling (DP tunneling) dhe alokimin e bandwidth-it. PĂ«r tĂ« gjitha platformat Ă«shtĂ« pĂ«rfshirĂ« regjimi fastboot. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r output-in diagnostikues nĂ« lidhje me pajisje tĂ« veçanta.
- Në drejtuesin AMDGPU është realizuar përgatitja për mbështetje për GPU AMD RDNA3.5 dhe RDNA4. Janë shtuar mbështetje për ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF 6.3.1, VPE 6.1.1 dhe kuadri RAS ACA. Në modulin e bërthames është shtuar parameteri freesync_video për aktivizimin e mbështetjes eksperimentale për optimizimin e kalimit të regjimeve video duke përdorur teknologjinë e sinkronizimit adaptiv FreeSync.
- Në drejtuesin Nouveau, kodi i menaxhimit të ekranit është transferuar në përdorimin e funksionit kmemdup().
- E pavijuar puna mbi drejtuesin DRM (Direct Rendering Manager) për GPU të 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 drejtuesi DRM për çipat Mediatek MT8188 VDOSYS1.
- Cilësimet e lidhura me nën-sistemet e videos janë transferuar në seksionin CONFIG_VIDEO.
- Shtuar mbështetje për ARM64 SoC: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S.
- Shtuar mbështetje për platformat dhe pajisjet ARM: telefonat Android që funksionojnë me çipin Tegra30, modelet Chromebook që funksionojnë me Mediatek MT8186, NAS, tabletë dhe konsola lojrash që funksionojnë me Rockchips RK35xx, pllaka White Hawk që përdorin SoC Renesas, pllaka që përdorin Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.
- Kryer refaktorizimi i kodit të nën-sistemit të tingujve ALSA. Shtuar mbështetje për sistemet e tingujve Microchip SAM9x7, NXP i.MX95 dhe Qualcomm WCD939x. Në drejtuesin SoundWire është shtuar mbështetje ASoC me procesorët e tingullit AMD ACP 6.3, dhe për sistemet Intel është mbështetur moda DSPless. Shtuar mbështetje për kodekët e tingullit Cirrus HD. Në drejtuesin virtio është përmirësuar menaxhimi i pajisjeve audio.
- Shtuar mbështetje për kontrollorët Ethernet Marvell Octeon PCI Endpoint NIC VF dhe Intel E825-C 100G.
NjĂ«kohĂ«sisht, Fondi Latino-amerikan i Softuerit tĂ« LirĂ« formoi njĂ« version plotĂ«sisht tĂ« lirĂ« tĂ« kernelit 6.9 â Linux-libre 6.9-gnu, i pastĂ«r nga elementet e firmware dhe drejtuesve qĂ« pĂ«rmbajnĂ« komponentĂ« tĂ« pa-lirĂ« ose pjesĂ« kodi, aplikimi i tĂ« cilave Ă«shtĂ« i kufizuar nga prodhuesi. NĂ« versionin 6.9 Ă«shtĂ« pĂ«rditĂ«suar kodi i pastrimit tĂ« blobave nĂ« drejtuesit amdgpu, ath12k, adreno, btusb dhe r8169. ĂshtĂ« kryer pastrimi i drejtuesit tĂ« ri ptp_fc3. ĂshtĂ« kryer pastrimi i emrave tĂ« blobave nĂ« skedarĂ«t dts (devicetree) pĂ«r arkitekturĂ«n Aarch64. JanĂ« eliminuar problemet me pastrimin e drejtuesit i915, qĂ« shkaktonin bllokim gjatĂ« inicializimit. JanĂ« bĂ«rĂ« ndryshime qĂ« i pĂ«rkasin trajtimit tĂ« blobave, tĂ« ofruara nĂ« formĂ«n e dump-eve hex.
Burimi: opennet.ru
