Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 6.9. Disa nga ndryshimet më të dukshme përfshijnë: moduli dm-vdo për deduplication dhe kompresimin e pajisjeve bllokuese, modalitetin e qasjes së drejtpërdrejtë në skedarë në FUSE, mbështetje për krijimin e pidfd për threads të veçanta, mekanizmin e BPF-tokenëve, mbështetje për Rust në sistemet ARM64, klasifikimin e FS Ext2 si të vjetruar, heqjen e drejtuesit të vjetër NTFS, dhe mbështetje për mekanizmin Intel FRED.
Në versionin e ri janë pranuar 15680 korrigjime nga 2106 zhvillues, madhësia e patch-it është 54 MB (ndryshimet prekën 11825 skedare, janë shtuar 687954 rreshta kodi, dhe janë fshirë 225344 rreshta). Në lëshimin e kaluar ishin 15641 korrigjime nga 2018 zhvillues, madhësia e patch-it ishte 44 MB. Afërsisht 42% e të gjitha ndryshimeve të paraqitura në 6.9 lidhen me drejtuesit e pajisjeve, rreth 17% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturën harduerike, 13% lidhen me stack-un rrjetor, 7% me sistemet e skedarëve, dhe 4% me nën-sistemet e brendshme të kernelit.
Novitetet kryesore në kernelin 6.9:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- Në Device Mapper (DM) është shtuar një trajtues i ri dm-vdo (virtual data optimizer), që lejon që mbi pajisjet bllokuese ekzistuese të realizohet një pajisje bllokuese virtuale, me mundësi si deduplication e të dhënave të përsëritura, kompresimi i të dhënave, përjashtimi i bllokave të zbrazëta dhe rritja e madhësisë së pajisjes bllokuese sipas nevojës (thin provisioning). Këto mundësi realizohen në nivelin e pajisjes bllokuese dhe nuk varen nga sistemi i skedarëve të përdorur (për shembull, me dm-vdo mund të realizohet automatizimi i bashkimit të të dhënave të dyfishta dhe ruajtja e informacionit në formë të kompresuar për çdo FS). Mbështetet përdorimi i dm-vdo për magazinat fizike deri në 256TB dhe krijimi i volumesh logjike deri në 4PB. Për menaxhimin e ndarjeve vdo rekomandohet përdorimi i lvm. Teknologjia VDO është zhvilluar nga kompania Permabit dhe është bërë open source pas blerjes së saj nga Red Hat në vitin 2017.
- Në nën-sistemin FUSE, i cili përdoret për realizimin e sistemeve të skedarëve në hapësirën e përdoruesit, është shtuar një realizim fillestar i modalitetit «passthrough», i cili lejon marrjen e të dhënave të skedarëve në nivelin e kernelit, duke anashkaluar procesin që punon në hapësirën e përdoruesit, duke e bërë kështu të mundur përmirësimin e dukshëm të performancës në disa raste. Për shembull, realizimet FUSE të FS që punojnë në modalitetin vetëm për lexim dhe kufizojnë qasjen në skedarë mund të kthejnë përmbajtjen e skedarëve nga FS origjinale pa e dërguar atë në procesin FUSE.
- Drejtuesi i realizimit të sistemit të skedarëve Ext2 është klasifikuar si i vjetruar (deprecated). Arsyeja për këtë është mbështetja e vetëm 32-bit të numrave të kohës në inode, të cilët do të mbushen më 19 janar 2038. Në vend të drejtuesit ext2, sugjerohet përdorimi i drejtuesit ext4, i cili mbështet funksionimin me sistemin e skedarëve Ext2 dhe është plotësisht kompatibël me të, por gjithashtu mund të përdorë në ndarjet e ext2 regjistrime të dhënash që nuk janë të ekspozuara ndaj problemit të vitit 2038, nëse FS është krijuar me inode më të mëdha se 255 byte (në drejtuesin ext2, numrat 32-bit të kohës përdoren pavarësisht nga madhësia e inode).
- Drejtuesi i vjetër i sistemit të skedarëve NTFS është hequr, për të cilin që nga lëshimi 5.15 ka ardhur drejtuesi i ri NTFS3. Përdorimi i dy drejtuesve me realizimin e NTFS në kernel është konsideruar si jo e arsyeshme, duke marrë parasysh se drejtuesi i vjetër nuk ka përditësuar për shumë vite, ndodhet në një gjendje të keqe dhe mund të punojë vetëm në modalitetin e leximit.
- Në sistemet e skedarëve zonefs dhe hugetlbfs është shtuar mbështetje për mapimin e identifikuesve të përdoruesve të sistemeve 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.
- Në NFSv4, për administratorët është dhënë mundësia për të pastruar gjendjet e hapjes dhe bllokimeve të skedarëve.
- Për sistemin e skedarëve Ext4, janë shënuar vetëm korrigjime të gabimeve dhe përditësime të testeve kunit.
- Në Btrfs vazhdon përkthimi i funksioneve për të përdorur fletët e faqeve të memories (page folios).
- Në sistemin e skedarëve XFS është vazhduar puna mbi implementimin e mundësisë së përdorimit të utiles fsck për të kontrolluar dhe rregulluar problemet e gjetura në modalitet online, pa çmontimin e sistemit të skedarëve.
- Në thirrjen sistemike pwritev2() është shtuar flag RWF_NOAPPEND, e cila lejon përcaktimin e një zhvendosjeje për shkrim, edhe nëse skedari është hapur në modalitetin e vetëm shtimit të të dhënave në fund të skedarit.
- Shtohen komanda tĂ« reja ioctl: FS_IOC_GETUUID â kthen identifikuesin UUID tĂ« sistemit tĂ« skedarĂ«ve tĂ« caktuar, dhe FS_IOC_GETFSSYSFSPATH â pĂ«rcakton vendndodhjen nĂ« /sys/fs tĂ« FSH tĂ« montuar.
- Sistemet e skedarëve efs, qnx4 dhe coda janë ndarë për përdorimin e API-së së re për montimin e ndarjeve.
- Implementimi i operacioneve me skedarë u përmirësua, duke u realizuar pa marrë parasysh rastësinë e karaktereve. Rritja e performancës është arritur duke filluar nga krahasimi me marrjen parasysh të rastësisë së karaktereve dhe duke kaluar në një kërkim pa marrë parasysh rastësinë. Problemet gjatë montimit të overlayfs mbi katalogët, për të cilët është vendosur mënyra pa marrë parasysh rastësinë e karaktereve, janë zgjidhur.
- Kujtesa dhe shërbimet sistemore
- Mbështetje për mekanizmin Intel FRED (Flexible Return and Event Delivery) është realizuar, i krijuar për të rritur efikasitetin dhe besueshmërinë e dërgimit të informacionit rreth ngjarjeve të nivelit të ulët, krahasuar me mekanizmin aktual IDT (Interrupt Descriptor Table). Rritja e performancës dhe reduktimi i vonesave sigurohen falë rikthimit të ngjarjeve nga instrukcioni i procesorit IRET në vend të dërgimit të ngjarjeve përmes tabelës IDT. Rritja e besueshmërisë arrihet përmes procesimit të ndarë të marrjes së ngjarjeve në kontekstin e bërthamës dhe kontekstin e përdoruesit, mbrojtjes nga ekzekutimi i brendshëm NMI dhe ruajtjes në kuadër të zgjeruar të grumbullit të të gjithë regjistrat e lidhur me përjashtimin.
- Shtuara e mundësisë për optimizimin e qasjes në të dhënat e bërthamave CPU 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 si një zgjerim të GNU C.
- Në funksionin pidfd_open() është shtuar flagu PIDFD_THREAD, që lejon krijimin e pidfd për bërthamat e 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ë sistemi të maskuar për qasjen në pidfd përmes sistemit të skedarëve virtual. Ndryshe nga identifikimi i proceseve duke përdorur pid, identifikuesi pidfd lidhet me një proces të veçantë dhe nuk ndryshon, ndërsa PID pas përfundimit të procesit aktual mund të lidhet me një proces tjetër.
- Në nënshkallën BPF është shtuar mekanizmi BPF-token, që lejon delegimin selektiv të të drejtave të qasjes për programet në operacione të privilegjuara BPF, për shembull, mund të ofrohet qasje për një aplikacion jo të privilegjuar në nënshkalla të veçanta BPF pa ofruar të drejtat e plota CAP_BPF.
- NĂ« nĂ«nshkallĂ«n BPF Ă«shtĂ« shtuar njĂ« lloj i ri memorie tĂ« ndarĂ« bpf_arena, qĂ« pĂ«rcakton njĂ« zonĂ« tĂ« disponueshme pĂ«r ndarjen e informacionit mes programeve BPF dhe proceseve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. ĂshtĂ« shtuar instrukcioni may_goto, qĂ« lejon organizimin e cikleve qĂ« mund tĂ« ndĂ«rpriten nga verifikuesi. ĂshtĂ« shtuar mundĂ«sia e gjenerimit tĂ« cookies TCP SYN nga programet BPF dhe krijimi i trajtuesve BPF pĂ«r tĂ« luftuar SIN-flood.
- Transferimi i ndryshimeve nga dega Rust-for-Linux, i lidhura me pĂ«rdorimin e gjuhĂ«s Rust si gjuhĂ« e dytĂ« pĂ«r zhvillimin e drejtorive dhe moduleve tĂ« bĂ«rthamĂ«s, Ă«shtĂ« vazhduar (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« aktive nga fillimi, dhe nuk e bĂ«n Rust njĂ« varĂ«si tĂ« detyrueshme pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e gjuhĂ«s Rust nĂ« procesorĂ«t 64-bit ARM. ĂshtĂ« arritur kalimi nĂ« versionin Rust 1.76. ĂshtĂ« shtuar makro âcontainer_of!â. NĂ« vend tĂ« funksionalitetit tĂ« paqĂ«ndrueshĂ«m âptr_metadataâ, Ă«shtĂ« pĂ«rdorur metoda e qĂ«ndrueshme âbyte_subâ. ĂshtĂ« shtuar moduli âtimeâ me funksionin e konvertimit tĂ« kohĂ«s âmsecs_to_jiffies()â.
- Në nënshkallën io_uring është shtuar mundësia e shkurtimit të skedarëve (ftruncate_file).
- ĂshtĂ« shtuar njĂ« lloj tĂ« ri rreshtesh WQ_BH (workqueue Bottom Halves) pĂ«r ekzekutimin e kodit nĂ« mĂ«nyrĂ« asinkrone nĂ« kontekstin e ndĂ«rprerjeve softuerike, e destinuar tĂ« pĂ«rdoret nĂ« vend tĂ« tasklet-Ă«s tĂ« vjetĂ«ruar.
- Në mënyrë të konsiderueshme është riparuar nënshkalla e punës me timerin, në të cilin është përmirësuar logjika e zgjedhjes së bërthamës aktive CPU për ekzekutimin e timerit të aktivizuar, për të mos nxjerrë bërthamat joaktive nga gjumi.
- ĂshtĂ« realizuar mundĂ«sia e pĂ«rditĂ«simit tĂ« modelit tĂ« konsumit tĂ« energjisĂ« tĂ« bĂ«rthamĂ«s (EM, Energy Model) gjatĂ« punĂ«s, 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. Funksioni em_cpu_energy() Ă«shtĂ« optimizuar ndjeshĂ«m, qĂ« nĂ« testet nĂ« sistemin e qĂ«ndrueshĂ«m tani ekzekutohet mĂ« shpejt me 1.43 herĂ«, ndĂ«rsa nĂ« testin nĂ« bordin RockPi 4B â me 1.69 herĂ«.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r lançimin e sistemeve tĂ« bazuara nĂ« arkitekturĂ«n ARM64 nĂ« modin LPA2 me hapĂ«sirĂ« adresash virtuale 52-bit.
- Për sistemet ARM64 është realizuar mbështetje për regjistrat e vazhdueshëm PTE (Page Table Entry), që lejojnë rritjen e performancës duke rritur efikasitetin e përdorimit të TLB (Translation Lookaside Buffer).
- Janë pranuar patch-a për të rritur performancën e nënshkallës së menaxhimit të memories duke reduktuar shfaqjen e bllokimeve konkurruese në vmalloc().
- Për arkitekturën LoongArch është realizuar një mekanizëm për patch-at e nxehtë në bërthamë (live patching), që lejon aplikimin e rregullimeve në bërthamë pa ripërkthim.
- Për sistemet RISC-V është implementuar mbështetje për thirrjen e sistemit membarrier(), e cila siguron vendosjen e barrierave në memorje për threads 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 kërkohet të paktën versioni LLVM 13.0.1 (ndërsa më parë ishte e mundur ndërtimi në LLVM 11+).
- Në mekanizmin e 'User trace events', i cili lejon krijimin e ngjarjeve të gjurmimit nga proceset e përdoruesit për ndjekjen e aktivitesh në hapësirën e përdoruesit, është shtuar mbështetje për eksportimin e informacionit mbi ngjarjen 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ë lidhen me argumentet e përdorura gjatë thirrjes së funksionit.
- NĂ« utilitarin perf Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modin e agregimit tĂ« daljes 'cluster' ('perf stat -a âper-cluster') pĂ«r tĂ« bashkuar statistikat e burimeve tĂ« ndara. ĂshtĂ« implementuar mundĂ«sia pĂ«r tĂ« angazhuar bibliotekĂ«n libcapstone pĂ«r desasemblimin e instruksioneve tĂ« procesorit ('perf script -F disasm'). JanĂ« bĂ«rĂ« optimizime tĂ« konsumit tĂ« memorjes gjatĂ« ekzekutimit tĂ« komandave perf report dhe perf annotate.
- Virtualizimi dhe siguria
- ĂshtĂ« shtuar mbrojtja nga vulnerabiliteti RFDS (Register File Data Sampling) nĂ« procesorĂ«t Intel Atom, e cila lejon nxjerrjen e informacionit tĂ« mbetur nga skedarĂ«t e regjistrave (RF, Register File) tĂ« procesorit, tĂ« cilĂ«t pĂ«rdoren pĂ«r tĂ« ruajtur pĂ«rmbajtjen e regjistrave nĂ« tĂ« gjitha detyrat nĂ« tĂ« njĂ«jtin bĂ«rthamĂ« tĂ« CPU-sĂ«. PĂ«r tĂ« bllokuar vulnerabilitetin kĂ«rkohet pĂ«rditĂ«simi i mikro-kodit dhe pĂ«rdorimi i instruksionit VERW pĂ«r tĂ« pastruar pĂ«rmbajtjen e bufereve mikroarkitekturale 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 vulnerabilitetit 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'.
- ĂshtĂ« shtuar mbĂ«shtetje bazike pĂ«r mbrojtjen e sistemeve tĂ« mysafirĂ«ve pĂ«rmes zgjerimit AMD SEV-SNP (Secure Nested Paging), i cili siguron punĂ« tĂ« sigurt me tabela tĂ« pĂ«rfshira tĂ« memorjes dhe mbron nga sulmet 'undeSErVed' dhe 'SEVerity' nĂ« procesorĂ«t AMD EPYC, tĂ« cilat mund tĂ« anashkalojnĂ« mekanizmin e mbrojtjes AMD SEV (Secure Encrypted Virtualization). Ne KVM ndryshimet e nevojshme pĂ«r pĂ«rdorimin e SNP planifikohen tĂ« shtohen nĂ« degĂ«n 6.10.
- Modulet me implementimin e teknologjive IMA (Integrity Measurement Architecture) dhe EVM (Extended Verification Module) janë transferuar për të përdorur kornizën LSM (Linux Security Modules), e cila pa humbje funksionaliteti ka lejuar një thjeshtim të dukshëm të kodit, duke bashkuar funksionalitetet e kopjuara dhe duke angazhuar mundësitë e zakonshme përmes LSM. Moduli IMA është i destinuar për të verifikuar integritetin e komponenteve të sistemit operativ përmes nënshkrimeve dixhitale dhe hash-eve. Moduli EVM lejon të mbrojë atributet e zgjeruara të skedarëve (xattrs) nga sulmet që kanë për qëllim të dëmtojnë integritetin e tyre (EVM nuk do të lejojë një sulm offline, ku një sulmues mund të ndryshojë metadata, për shembull, duke u ngarkuar nga disku i tij).
- Janë ridizajnuar për një më të madhe kompatibilitet me ambientet 32-bit thirrjet e sistemit lsm_list_modules(), lsm_get_self_attr() dhe lsm_set_self_attr(), të destinuara për të dhënë një listë të modulit LSM të ngarkuar (Linux Security Modules) dhe për të marrë/ vendosur atributet e modulit LSM. Ndryshimi e shkel backward compatibility-në, por pasi thirrjet e reja të sistemit u shtuan në versionin e kaluar të bërthamës dhe për momentin nuk përdoren në aplikacione, Linus Torvalds e konsideroi se ndryshimi është i pranueshëm.
- ĂshtĂ« bĂ«rĂ« njĂ« pĂ«rpjekje pĂ«r tĂ« rinisur pĂ«rdorimin e mekanizmit UBSAN (Undefined Behavior Sanitizer). Problemi qĂ«ndron se kompajluesit i trajtojnĂ« ndryshe mbushjet e plota tĂ« integerĂ«ve me lloje tĂ« nĂ«nshkruara dhe tĂ« pabashkuar. Mbushjet e plota tĂ« integerĂ«ve me nĂ«nshkrim dhe mbushjet e pointerĂ«ve bien nĂ« kategorinĂ« e sjelljes sĂ« paqartĂ«, ndĂ«rsa mbushjet e plota tĂ« integerĂ«ve tĂ« pabashkuar shkurtohen modulo 2n me ruajtjen vetĂ«m e biteve mĂ« tĂ« rinj tĂ« rezultatit ('wrap-around') dhe nuk bien nĂ«n sjellje tĂ« paqartĂ«. PĂ«r tĂ« pĂ«rjashtuar situatat e ndodhjes sĂ« sjelljes sĂ« paqartĂ«, bĂ«rthama ndĂ«rtohet me opsionin '-fno-strict-overflow', i cili çon nĂ« pĂ«rdorimin e 'wrap-around' pĂ«r tĂ« gjitha mbushjet e plota tĂ« integerĂ«ve. GCC dhe Clang nuk mund tĂ« diagnostikojnĂ« normalisht disa probleme kur pĂ«rdoret flamuri '-fno-strict-overflow' dhe pĂ«rfshirja e UBSAN ka pĂ«r qĂ«llim tĂ« zhvillojĂ« njĂ« bashkĂ«punim me zhvilluesit e kompajlerĂ«ve pĂ«r tĂ« eliminuar alarme tĂ« rreme qĂ« lindin dhe pĂ«r tĂ« identifikuar mbushjet e plota tĂ« integerĂ«ve nĂ« vendet ku nuk ka verifikime tĂ« qarta.
Për të verifikuar mbushjet e mundshme në bërthamë, përdoren konstrukte si «var + offset PAGE_SHIFT) < pgoff){..}»), të cilat janë të lidhura me ndërtimin me flamurin «-fno-strict-overflow» dhe nuk mbulojnë gjithë kodin, në të cilin mund të ndodhin mbushje. Problemi është se, me përdorimin e UBSAN, këto kontrolle shkaktonin një numër të madh paralajmërimesh të rreme, dhe për këtë arsye në vitin 2021, UBSAN musht u çaktivizua. Në realizimin e azhurnuar, është propozuar përdorimi i anotacioneve speciale __signed_wrap dhe __unsigned_wrap, si dhe makros me kontrolle add_would_overflow(a, b) dhe add_wrap(a, b), të cilat ndihmojnë në ndarjen e përdorimeve të parashikuara të mbushjeve të numrave të plota nga ato të rastësishme, që mund të sjellin dobësitë. Propozimi për një riparim më të gjerë të bërthamës me futur definita të reja të tipeve u refuzua nga Linus Torvalds.
- Sistemi i rrjetit
- Në nënshkallën rrjet, janë bërë punë për të reduktuar ndodhitë e bllokimeve konkurruese (lock contention, përpjekja për të marrë një bllokim të mbajtur nga një proces tjetër). Janë reduktuar përdorimet e bllokimeve RTNL.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« aktivizuar mbĂ«shtetje pĂ«r polling aktiv tĂ« soketeve (busy polling) nĂ« kontekstin e thirrjeve tĂ« veçanta tĂ« epoll. MadhĂ«sia e grupit dhe parametrat e buxhetit mund tĂ« vendosen veçmas nga parametrat sistemikĂ« tĂ« parazgjedhur.
- ĂshtĂ« realizuar struktura net_hotdata pĂ«r tĂ« pĂ«rmirĂ«suar efikasitetin e ĐșĐ”ŃĐŸŃ tĂ« variablave mĂ« tĂ« pĂ«rdorura tĂ« konfigurimit rrjet.
- Në MPTCP është shtuar mbështetje për vendosjen e opsionit TCP_NOTSENT_LOWAT për soketët, i cili lejon të kufizohet madhësia e buferit të dërgimit. Në API për soketët MCTP është shtuar mbështetje për identifikuesit e rrjetit (network ID), që lejon përdorimin e disa rrjeteve MCTP të papërgjatëshme në një host.
- Në IPSec është shtuar mbështetje për ridrejtimin e mesazheve ICMP me informacione për gabime (RFC 4301).
- Procesi i skanimit të rrugëve me jetë të skaduar është përshpejtuar.
- Përshpejtuar funksionimi i XDP, falë shmangies më të rreptë të alokimit të blloqeve të mëdha të memories.
- Shtuar mundësia e lidhjes së metadata me mesazhet netconsole.
- Në Netfilter është lejuar definimi nga hapësira përdoruesi i tabelave që lidhen me procesin e menaxhimit në prapavijë dhe nuk fshihen automatikisht pas përfundimit të aplikacionit të përdoruesit.
- Në nftables është përshpejtuar shtimi i elementeve në set-grupet me intervale të bashkuara.
- Pajisjet
- Në drejtuesin i915 është vazhduar puna për të realizuar mbështetje për çipat Intel LunarLake (Xe 2). Janë shtuar identifikues të rinj PCI për pajisjet të bazuara në çipat Intel Arrow Lake dhe Alder Lake N. Për Displayport është shtuar mbështetje për tunneling (DP tunneling) dhe alokimin e bandwidth. Për të gjitha platformat është aktivizuar mode fastboot. Shtuar mbështetje për daljen e depurimit të lidhur me pajisje të veçanta.
- Në drejtuesin AMDGPU është përgatitur për realizimin e mbështetjes për GPU AMD RDNA3.5 dhe RDNA4. 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 framework-in RAS ACA. Në modul të bërthamës është shtuar parametri freesync_video për aktivizimin e mbështetjes eksperimentale për optimizimin e kalimit të modesh të videos duke përdorur teknologjinë e sinkronizimit adaptiv FreeSync.
- Në drejtuesin Nouveau kodi i menaxhimit të ekranit është kaluar në përdorimin e funksionit kmemdup().
- Puna për drejtuesin drm (Direct Rendering Manager) Xe 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, është vazhduar.
- Shtuar drejtues DRM për çipat Mediatek MT8188 VDOSYS1.
- Cilësimet e lidhura me nënshkallat video 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 ARM dhe pajisjet: telefonat Android të bazuar në çipin Tegra30, modelet Chromebook të bazuara në Mediatek MT8186, NAS, tabletat dhe konsolat e lojërave të bazuara në Rockchips RK35xx, bordet White Hawk të bazuara në SoC Renesas, bordet të bazuara në Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.
- Bërë një refaktorizim të kodit të nënshkallës audio ALSA. Shtuar mbështetje për sistemet audio Microchip SAM9x7, NXP i.MX95 dhe Qualcomm WCD939x. Në drejtuesin SoundWire është shtuar mbështetje për ASoC me koprocessorët audio AMD ACP 6.3, dhe për sistemet Intel është realizuar moda DSPless. Shtuar mbështetje për kodekët audio shtesë Cirrus HD. Në drejtuesin virtio është përmirësuar menaxhimi i pajisjeve audio.
- Shtuar mbështetje për kontrolluesit Ethernet Marvell Octeon PCI Endpoint NIC VF dhe Intel E825-C 100G.
NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Fondi Latin Amerikano pĂ«r Softin e LirĂ« formoi njĂ« variant tĂ«rĂ«sisht tĂ« lirĂ« tĂ« kernelit 6.9 â Linux-libre 6.9-gnu, i pastruar nga elemente firmware dhe drivere qĂ« pĂ«rmbajnĂ« komponente ose pjesĂ« kodi tĂ« nesĂ«rm tĂ« kufizuara nga prodhuesi. NĂ« lĂ«shimin 6.9, Ă«shtĂ« pĂ«rditĂ«suar kodi i pastrimit tĂ« blob-eve nĂ« driverĂ«t amdgpu, ath12k, adreno, btusb dhe r8169. ĂshtĂ« kryer pastrimi i driverit tĂ« ri ptp_fc3. ĂshtĂ« kryer pastrimi i emrave tĂ« blob-eve nĂ« skedarĂ«t dts (devicetree) pĂ«r arkitekturĂ«n Aarch64. JanĂ« zgjidhur problemet me pastrimin e driverit i915 qĂ« shkaktonin bllokim gjatĂ« inicializimit. JanĂ« bĂ«rĂ« ndryshime qĂ« lidhen me trajtimin e blob-eve, tĂ« ofruara nĂ« formĂ«n e dump-eve nĂ« hex.
Burimi: opennet.ru
