Рэліз ядра Linux 5.18

Пасля двух месяцаў распрацоўкі Лінус Торвальдс прадставіў рэліз ядра Linux 5.18. Сярод найболей прыкметных змен: праведзена вялікая чыстка састарэлай функцыянальнасці, абвешчаная састарэлай ФС Reiserfs, рэалізаваны падзеі трасіроўкі карыстацкіх працэсаў, дададзеная падтрымка механізму блакавання працы эксплоітаў Intel IBT, уключаны рэжым выяўлення перапаўнення буфераў пры выкарыстанні функцыі memcpy(), дададзены механізм адсочвання падвышаная прадукцыйнасць планавальніка задач на CPU AMD Zen, у склад уключаны драйвер для кіравання функцыянальнасцю CPU Intel (SDS), інтэграваная частка патчаў для рэструктурызацыі загалоўкавых файлаў, ухвалена ўжыванне стандарту C11.

У новую версію прынята 16206 выпраўленняў ад 2127 распрацоўнікаў (у мінулым выпуску было 14203 выпраўленні ад 1995 распрацоўнікаў), памер патча – 108 МБ (змены закранулі 14235 файлаў, дададзена 1340982 радкоў кода, выдалена 593836). Каля 44% усіх прадстаўленых у 5.18 змен злучаны з драйверамі прылад, прыкладна 16% змен маюць дачыненне да абнаўлення кода, спецыфічнага для апаратных архітэктур, 11% злучана з сеткавым стэкам, 3% - з файлавымі сістэмамі і 3% c унутранымі падсістэмамі ядра.

Асноўныя навіны ў ядры 5.18:

  • Дыскавая падсістэма, увод/выснова і файлавыя сістэмы
    • У файлавай сістэме Btrfs дададзена падтрымка пракіду сціснутых дадзеных пры выкананні аперацый send і receive. Раней пры выкарыстанні send/receive які адпраўляе бок распакоўваў дадзеныя, захоўваемыя ў сціснутым выглядзе, а якая прымае паўторна сціскала перад запісам. У ядры 5.18 прыкладанням у прасторы карыстача, выкарыстоўвалым выклікі send/receive, прадстаўлена магчымасць перадачы сціснутых дадзеных без пераўпакоўкі. Функцыянальнасць рэалізавана дзякуючы новым ioctl-аперацыям BTRFS_IOC_ENCODED_READ і BTRFS_IOC_ENCODED_WRITE, якія дазваляюць наўпрост чытаць і запісваць інфармацыю ў экстэнты.

      Акрамя таго, у Btrfs падвышаная прадукцыйнасць fsync. Дададзена магчымасць дэдуплікацыі і выкананні reflink (кланаванне метададзеных файла са стварэннем спасылкі на ўжо наяўныя дадзеныя без іх фактычнага капіявання) для ўсяго сховішча, не абмяжоўваючыся кропкамі мантавання.

    • У рэжыме прамога ўводу/высновы (Direct I/O) забяспечана магчымасць доступу да зашыфраваных файлаў пры выкарыстанні ў fscrypt inline-шыфраванні, у якім аперацыі шыфравання і расшыфроўкі выконваюцца сіламі кантролера назапашвальніка, а не ядры. Пры звычайным шыфраванні сіламі ядра доступ да зашыфраваных файлаў пры дапамозе Direct I/O па-ранейшаму немагчымы, бо зварот да файлаў ажыццяўляецца абыходзячы механізм буферызацыі ў ядры.
    • У NFS-серверы па змаўчанні ўключаная падтрымка пратаколу NFSv3, якая зараз не патрабуе асобнага ўключэння і даступная пры агульным уключэнні NFS. NFSv3 разглядаецца як асноўная і заўсёды падтрымліваемая версія NFS, а падтрымка NFSv2 магчыма ў будучыні будзе спынена. Значна падвышана эфектыўнасць чытання змесціва каталогаў.
    • Файлавая сістэма ReiserFS пераведзена ў разрад састарэлых і чакае выдалення ў 2025 годзе. Пераклад ReiserFS у разрад састарэлых дазволіць зменшыць працавыдаткі на суправаджэнне агульных для файлавых сістэм змен, звязаных з падтрымкай новага API для мантавання, iomap і фаліянтаў.
    • Для ФС F2FS рэалізаваная магчымасць мапінга ідэнтыфікатараў карыстачоў прымантаваных файлавых сістэм, ужывальнага для супастаўлення файлаў вызначанага карыстача на прымантаванай чужой частцы з іншым карыстачом у бягучай сістэме.
    • Перапрацаваны код для падліку статыстыкі ў апрацоўшчыках Device-mapper, што дазволіла прыкметна павысіць дакладнасць акаўнтынгу ў такіх апрацоўшчыках, як dm-crypt.
    • Для прылад NVMe рэалізавана падтрымка 64-разрадных кантрольных сум для праверкі цэласнасці.
    • Для файлавай сістэмы exfat прапанавана новая опцыя мантавання "keep_last_dots", якая забараняе ачыстку кропак у канцы імя файла (у Windows кропкі ў канцы імя па змаўчанні выдаляюцца).
    • У EXT4 падвышаная прадукцыйнасць рэжыму fast_commit і павялічаная маштабаванасць. Опцыя мантавання "mb_optimize_scan", якая дазваляе падвысіць прадукцыйнасць ва ўмовах вялікай фрагментацыі ФС, адаптаваная для працы з файламі з экстэнтамі.
    • Спыненая падтрымка струменяў запісу (write stream) у падсістэме, якая забяспечвае працу блокавых прылад. Указаная магчымасць была прапанавана для SSD, але не атрымала распаўсюджвання і цяпер ва ўжытку адсутнічаюць прылады з падтрымкай дадзенага рэжыму і малаверагодна, што яны з'явяцца ў будучыні.
  • Памяць і сістэмныя сэрвісы
    • Пачалася інтэграцыя набору патчаў, які дазваляе значна скараціць час перазборкі ядра за кошт рэструктурызацыі іерархіі загалоўкавых файлаў і скарачэнні ліку крыжаваных залежнасцяў. У склад ядра 5.18 уключаны патчы, якія аптымізуюць структуру загалоўкавых файлаў планавальніка задач (kernel/sched). У параўнанні з мінулым выпускам спажыванне працэсарнага часу пры зборцы кода kernel / sched / скарацілася на 61%, а фактычны час паменшылася на 3.9% (з 2.95 да 2.84 сек).
    • У кодзе ядра дазволена выкарыстанне стандарту C11, апублікаванага ў 2011 годзе. Раней які дадаецца ў ядро ​​код павінен быў адпавядаць спецыфікацыі ANSI C (С89), сфармаванай яшчэ ў 1989 году. У зборачных скрыптах ядра 5.18 опцыя '—std=gnu89' заменена на '—std=gnu11 -Wno-shift-negative-value'. Разглядалася магчымасць выкарыстання стандарту C17, але ў гэтым выпадку прыйшлося б падвышаць мінімальна падтрымоўваную версію GCC, уключэнне ж падтрымкі C11 укладваецца ў бягучыя патрабаванні да версіі GCC (5.1).
    • Падвышаная прадукцыйнасць планавання задач на працэсарах AMD з мікраархітэктурай Zen, у якіх для кожнага вузла з лакальнымі каналамі памяці падаецца некалькі кэшаў апошняга ўзроўня (LLC, Last Level Cache). У новай версіі ўхілены дысбаланс LLC паміж вузламі NUMA, што пры некаторых выглядах нагрузкі прывяло да істотнага падвышэння прадукцыйнасці.
    • Пашыраны сродкі для трасіроўкі прыкладанняў у прасторы карыстальніка. У новай версіі ядра дададзена магчымасць стварэння карыстацкімі працэсамі падзей трасіроўкі (User events) і запісы дадзеных у буфер трасіроўкі, якія могуць быць прагледжаны праз тыпавыя ўтыліты трасіроўкі ядра, такія як ftrace і perf. Падзеі трасіроўкі з прасторы карыстальніка ізаляваны ад падзей трасіроўкі ядра. Стан падзей можа быць прагледжаны праз файл /sys/kernel/debug/tracing/user_events_status, а рэгістрацыя падзеі і запіс дадзеных праз файл /sys/kernel/debug/tracing/user_events_data.
    • Дададзены механізм адсочвання (probe) выклікаў функцый - fprobe. API fprobe заснаваны на ftrace, але абмежаваны толькі магчымасцю прымацавання callback-апрацоўшчыкаў да кропак уваходу ў функцыю і завяршэнні працы функцыі. У адрозненне ад kprobes і kretprobes, новы механізм дазваляе выкарыстоўваць адзін апрацоўшчык адразу для некалькіх функцый.
    • Спыненая падтрымка старых працэсараў ARM (ARMv4 і ARMv5), не абсталяваных блокам кіравання памяццю (MMU). Падтрымка сістэм ARMv7-M без MMU захавана.
    • Спынена падтрымка RISC-падобнай архітэктуры NDS32, якая выкарыстоўвалася ў працэсарах кампаніі Andes Technologies. Код выдалены з-за адсутнасці суправаджэння і незапатрабаванасці падтрымкі NDS32 у асноўным ядры Linux (астатнія карыстальнікі выкарыстоўваюць спецыялізаваныя зборкі ядра ад вытворцаў абсталявання).
    • Па змаўчанні адключаная зборка ядра з падтрымкай фармату выкананых файлаў a.out для архітэктур alpha і m68k, у якіх дадзены фармат працягвае выкарыстоўвацца. Верагодна, падтрымка састарэлага фармату a.out у хуткім часе будзе поўнасцю выдаленая з ядра. Планы па выдаленні фармату a.out абмяркоўваюцца з 2019 года.
    • Для архітэктуры PA-RISC рэалізавана мінімальная падтрымка механізму vDSO (virtual dynamic shared objects), які прадстаўляе абмежаваны набор сістэмных выклікаў, даступны ў прасторы карыстальніка без пераключэння кантэксту. Падтрымка vDSO дазволіла рэалізаваць магчымасць запуску з невыканальным стэкам.
    • Дададзена падтрымка механізму Intel HFI (Hardware Feedback Interface), які дазваляе абсталяванню перадаваць ядру звесткі аб бягучай прадукцыйнасці і энергаэфектыўнасці кожнага CPU.
    • Дададзены драйвер для механізму Intel SDSi (Software-Defined Silicon), які дазваляе кіраваць уключэннем дадатковых магчымасцяў у працэсары (напрыклад, спецыялізаваныя інструкцыі і дадатковая кэш-памяць). Ідэя ў тым, што па ніжэйшай цане могуць пастаўляцца чыпы з заблакаванымі пашыранымі функцыямі, якія затым можна "дакупіць" і актываваць дадатковыя магчымасці без апаратнай замены чыпа.
    • Дададзены драйвер amd_hsmp для падтрымкі інтэрфейсу AMD HSMP (Host System Management Port), які прадстаўляе доступ да функцый кіравання працэсарам праз набор спецыяльных рэгістраў, якія з'явіліся ў серверных працэсарах AMD EPYC пачынаючы з пакалення Fam19h. Напрыклад, праз HSMP можна атрымаць дадзеныя аб энергаспажыванні і тэмпературы, выставіць абмежаванні на частату, актываваць розныя рэжымы павышэння прадукцыйнасці, кіраваць параметрамі працы памяці.
    • У інтэрфейсе асінхроннага ўводу/высновы io_uring рэалізаваная опцыя IORING_SETUP_SUBMIT_ALL для рэгістрацыі ў кальцавым буферы набору файлавых дэскрыптараў, а таксама аперацыя IORING_OP_MSG_RING, якая дазваляе адправіць сігнал з аднаго колцавага буфера ў іншы кальцавой буфер.
    • У механізме DAMOS (Data Access Monitoring-based Operation Schemes), які дазваляе вызваляць памяць з улікам частаты звароту да памяці, пашыраны магчымасці па кантролі за аперацыямі з памяццю з прасторы карыстальніка.
    • Інтэграваная трэцяя серыя патчаў з рэалізацыяй канцэпцыі фаліянтаў старонак памяці (page folios), якія нагадваюць аб'яднаныя старонкі памяці (compound pages), але адрозніваюцца палепшанай семантыкай і больш зразумелай арганізацыяй працы. Выкарыстанне фаліянтаў дазваляе паскорыць кіраванне памяццю ў некаторых падсістэмах ядра. У прапанаваных патчах ажыццёўлены пераклад на фаліянты ўнутраных функцый кіравання памяццю, уключаючы разнавіднасці функцыі get_user_pages(). Дадзена падтрымка стварэння вялікіх фаліянтаў у кодзе папераджальнага чытання дадзеных.
    • У зборачнай сістэме з'явілася падтрымка зменных асяроддзі USERCFLAGS і USERLDFLAGS, пры дапамозе якіх можна перадаць дадатковыя сцягі кампілятару і кампаноўніку.
    • У падсістэме eBPF у механізме BTF (BPF Type Format), які прадстаўляе інфармацыю для праверкі тыпаў у псеўдакодзе BPF, рэалізавана магчымасць дадання анатацый да зменных, якія спасылаюцца на вобласці памяці ў прасторы карыстача. Анатацыі дапамагаюць сістэме верыфікацыі BPF-кода больш якасна выяўляць і правяраць звароты да памяці.
    • Прапанаваны новы апрацоўшчык вылучэння памяці для захоўвання загружаных BPF-праграм, які дазваляе больш эфектыўна выкарыстоўваць памяць у сітуацыях загрузкі вялікай колькасці BPF-праграм.
    • У сістэмны выклік madvise(), які прадстаўляе сродкі для аптымізацыі кіравання памяццю працэсу, дададзены сцяг MADV_DONTNEED_LOCKED, які дапаўняе ўжо наяўны сцяг MADV_DONTNEED, праз які ядру можна загадзя паведаміць аб якое рыхтуецца вызваленні блока памяці, г.зн. аб тым, што гэты блок ужо не патрэбен і можа выкарыстоўвацца ядром. У адрозненне ад MADV_DONTNEED выкарыстанне сцяга MADV_DONTNEED_LOCKED дапушчальна для замацаваных у АЗП старонак памяці, якія пры выкліку madvise выцясняюцца без змены свайго замацаванага статуту і ў выпадку наступнага звароту да блока і генерацыі "page fault" вяртаюцца з захаваннем прывязкі. Дадаткова дададзена змена, якое дазваляе выкарыстоўваць сцяг MADV_DONTNEED з вялікімі старонкамі памяці ў HugeTLB.
  • Віртуалізацыя і бяспека
    • Для архітэктуры x86 дададзеная падтрымка механізму абароны струменя выканання каманд Intel IBT (Indirect Branch Tracking), які замінае ўжыванню тэхнік пабудовы эксплоітаў з выкарыстаннем прыёмаў зваротна-арыентаванага праграмавання (ROP, Return-Oriented Programming), пры якіх эксплоіт фармуецца ў форме ланцужка выклікаў ужо наяўных памяці кавалкаў машынных інструкцый, якія завяршаюцца інструкцыяй звароту кіравання (як правіла, гэта канчаткі функцый). Сутнасць рэалізаванага метаду абароны ў блакаванні ўскосных пераходаў у цела функцыі праз даданне спачатку функцыі спецыяльнай інструкцыі ENDBR і дазвол выканання па ўскосным пераходзе толькі ў выпадку пераходу на гэтую інструкцыю (ускосны выклік праз JMP і CALL павінен заўсёды трапляць на інструкцыю ENDBR, якая размешчана ў самым пачатку функцыі).
    • Уключаная стражэйшая праверка меж буфераў у функцыях memcpy(), memmove() і memset(), выкананая на этапе кампіляцыі пры ўключэнні рэжыму CONFIG_FORTIFY_SOURCE. Дададзеная змена зводзіцца да праверкі вынахаду за межы элементаў структур, памер якіх вядомы. Адзначаецца, што рэалізаваная магчымасць дазволіла б блакаваць усе звязаныя з memcpy() перапаўненні буфера ў ядры, выяўленыя сама меней за апошнія тры гады.
    • Дададзена другая частка кода абноўленай рэалізацыі генератара псеўдавыпадковых лікаў RDRAND, які адказвае за працу прылад /dev/random і /dev/urandom. Новая рэалізацыя характэрна уніфікацыяй працы /dev/random і /dev/urandom, даданнем абароны ад з'яўлення дублікатаў у струмені выпадковых лікаў пры запуску віртуальных машын і пераходам на выкарыстанне хэш-функцыі BLAKE2s замест SHA1 для аперацый змешвання энтрапіі. Змена дазволіла павысіць бяспеку генератара псеўдавыпадковых лікаў, дзякуючы збавенню ад праблемнага алгарытму SHA1 і выключэнні перазапісу вектара ініцыялізацыі RNG. Бо алгарытм BLAKE2s апярэджвае SHA1 па прадукцыйнасці, тое яго ўжыванне таксама дадатна адбілася на прадукцыйнасці.
    • Для архітэктуры ARM64 дададзеная падтрымка новага алгарытму аўтэнтыфікацыі паказальнікаў – «QARMA3», які хутчэй алгарытму QARMA пры захаванні належнага ўзроўня абароны. Тэхналогія дазваляе выкарыстоўваць спецыялізаваныя інструкцыі ARM64 для праверкі адрасоў звароту пры дапамозе лічбавых подпісаў, якія захоўваюцца ў невыкарыстоўваных верхніх бітах самога паказальніка.
    • Для архітэктуры ARM64 рэалізавана падтрымка зборкі з уключэннем у GCC 12 рэжыму абароны ад перазапісу адрасу звароту з функцыі ў выпадку перапаўнення буфера ў стэку. Сутнасць абароны ў захаванні пасля перадачы кіравання функцыі адрасу звароту ў асобным "ценявым" стэку і выманні дадзенага адрасу перад вынахадам з функцыі.
    • Дададзена новае сховішча ключоў (keyring) - "machine", якое змяшчае ключы ўладальніка сістэмы (MOK, Machine Owner Keys), якія падтрымліваюцца ў shim-загрузніку. Указаныя ключы могуць выкарыстоўвацца для запэўнення лічбавым подпісам кампанентаў ядра, загружаных на стадыі пасля пачатковай загрузкі (напрыклад, модуляў ядра).
    • Выдалена падтрымка асіметрычных зачыненых ключоў для TPM, якія прапанаваны ў састарэлай версіі TPM, маюць вядомыя праблемы з бяспекай і не атрымалі распаўсюджванне на практыцы.
    • Дададзена абарона дадзеных з тыпам size_t ад цэлалікіх перапаўненняў. У кодзе задзейнічаны апрацоўшчыкі size_mul(), size_add() і size_sub(), якія дазваляюць бяспечна вырабляць множанне, складанне і адніманне памераў з тыпам size_t.
    • Пры зборцы ядра ўключаны сцягі "-Warray-bounds" і "-Wzero-length-bounds", якія выводзяць папярэджанні пры выхадзе індэкса за мяжу масіва і выкарыстанні масіваў нулявой даўжыні.
    • У прыладу virtio-crypto дададзеная падтрымка шыфравання з выкарыстаннем алгарытму RSA.
  • Сеткавая падсістэма
    • У рэалізацыі сеткавых мастоў дададзена падтрымка рэжыму прывязкі партоў (locked mode), пры якім карыстач можа адпраўляць трафік праз порт толькі з дазволенага MAC-адрасы. Таксама дададзена магчымасць выкарыстання некалькіх структур для ацэнкі стану пратакола STP (Spanning Tree Protocol). Раней для VLAN магла вырабляцца толькі прамая прывязка да STP (1:1), пры якой кожны VLAN кіраваўся незалежна. У новай версіі дададзены параметр mst_enable, пры ўключэнні якога стан VLAN-ов кантралюецца модулем MST (Multiple Spanning Trees) і прывязка VLAN-ов можа адпавядаць мадэлі M:N.
    • Прадоўжана работа па інтэграцыі ў сеткавы стэк сродкаў для адсочвання прычын адкідвання пакетаў (коды reason). Код прычыны перадаецца падчас вызвалення памяці, звязанай з пакетам, і дазваляе ўлічваць такія сітуацыі, як адкідванне пакета з-за памылак запаўнення палёў у загалоўку, выяўленне спуфінгу фільтрам rp_filter, няслушная кантрольная сума, недахоп памяці, спрацоўванне правіл IPSec XFRM, няправільны нумар паслядоўнасці TCP і да т.п.
    • Дадзена магчымасць перадачы сеткавых пакетаў з BPF-праграм, запушчаных з прасторы карыстача ў рэжыме BPF_PROG_RUN пры якім BPF-праграмы выконваюцца ў ядры, але вяртаюць вынік у прастору карыстача. Пакеты перадаюцца з выкарыстаннем падсістэмы XDP (eXpress Data Path). Падтрымліваецца live-рэжым апрацоўкі пакетаў, пры якім XDP-апрацоўшчык можа на лёце перанакіроўваць сеткавыя пакеты ў сеткавы стэк ці на іншыя прылады. Таксама магчыма стварэнне праграмных генератараў вонкавага трафіку ці падстаноўка сеткавых кадраў у сеткавы стэк.
    • Для BPF-праграм, якія прымацоўваюцца да сеткавых cgroups, прапанаваны дапаможныя функцыі для відавочнага выстаўлення значэння, якое вяртаецца сістэмнымі выклікамі, што дазваляе перадаць больш поўную інфармацыю аб чынніках блакавання сістэмнага выкліку.
    • У падсістэму XDP (eXpress Data Path) дададзеная падтрымка фрагментаваных пакетаў, якія размяшчаюцца ў некалькіх буферах, што дазваляе апрацоўваць у XDP Jumbo-кадры і ўжываць TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) для XDP_REDIRECT.
    • Значна паскораны працэс выдалення сеткавых прастор імёнаў, што было запатрабавана на некаторых буйных сістэмах з вялікім аб'ёмам трафіку.
  • Абсталяванне
    • У драйверы amdgpu па змаўчанні ўключана тэхналогія адаптыўнай сінхранізацыі FreeSync, якая дазваляе карэктаваць частату абнаўлення інфармацыі на экране, забяспечваючы плыўнасць і адсутнасць парываў выявы падчас гульняў і прагляду відэа. Абвешчана стабільнай падтрымка GPU Aldebaran.
    • У драйверы i915 дададзеная падтрымка чыпаў Intel Alderlake N і дыскрэтных відэакарт Intel DG2-G12 (Arc Alchemist).
    • У драйверы nouveau забяспечана падтрымка больш высокіх бітрэйтаў для інтэрфейсаў DP/eDP і падтрымка падаўжальнікаў кабеля lttprs (Link-Training Tunable PHY Repeaters).
    • У падсістэме drm (Direct Rendering Manager) у драйверах armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen і vc4 дададзеная падтрымка параметру nomodeset, які дазваляе адключыць пераключэнне відэарэжымаў на ўзроўні ядра і выкарыстанне сродкаў для апаратнага паскарэння адмалёўкі, пакінуўшы толькі функцыянальнасць, звязаную з сістэмным фрэймбуферам.
    • Добавлена ​​поддержка ARM SoС Qualcomm Snapdragon 625/632 (используется в смартфонах LG Nexus 5X и Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (используется в Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (планшет Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ / G2LC, RZ / V2L, Tesla FSD, TI K3 / AM62 і i.MXRTxxxx.
    • Дададзена падтрымка ARM-прылад і поплаткаў 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 Prestigio PMT5008 3G tablet), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 і OSMC Vero 4K +), Aspeed (Quanta S6Q, 8 Armada (Ctera C3 V200 і V1 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT2MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW8).
    • Дададзена падтрымка гукавых сістэм і кодэкаў AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renes Дададзена пачатковая рэалізацыя гукавога драйвера для DSP-чыпа Intel AVS. Абноўлена падтрымка драйвераў для Intel ADL і Tegra2, а таксама занесены змены для паляпшэння падтрымкі гуку на прыладах Dell, HP, Lenovo, ASUS, Samsung і Clevo.

    Адначасова лацінаамерыканскі Фонд вольнага ПЗ сфармаваў варыянт цалкам вольнага ядра 5.18 – Linux-libre 5.18-gnu, вычышчанага ад элементаў прашывак і драйвераў, якія змяшчаюць нявольныя кампаненты ці ўчасткі кода, вобласць ужывання якіх абмежавана вытворцам. У новым выпуску праведзена чыстка драйвераў для панэляў MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) і Realtek 8852a/8852c, гукавых чыпаў Intel AVS і Texas Instruments TAS5805M. Таксама праведзена чыстка DTS-файлаў для розных SoC Qualcomm з працэсарамі на базе архітэктуры AArch64. Абноўлены код чысткі блобаў у драйверах і падсістэмах AMD GPU, MediaTek MT7915, Silicon Labs WF200 + WiFi, Mellanox Spectru Ethernet, Realtek RTW8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.

Крыніца: opennet.ru

Дадаць каментар