Uvolnění jádra Linux 7.3

Po dvou měsících vývoje Linus Torvalds představil vydání jádra Linux 7.3. Mezi nejvýraznějšími změnami jsou: mechanismus izolace FS založený na pseudo-FS failfs a systémovém volání fchroot(), podpora vytváření vnořených plánovačů SCHED_EXT, BPF-zpracovatelé spouštění spustitelných souborů, alternativní datové toky v NTFS3, optimalizace výkonu FUSE, Btrfs a Ext4, podpora Apple Time Machine v ksmbd, odstranění FS EFS a FreeVxFS, režim přímého přístupu k blokovým zařízením, zlepšení zpracování nedostatku video paměti, sledování přístupu k paměti hostitelského systému přes userfaultfd, zhuštění pravidel AppArmor, omezení přístupu k AF_ALG, podpora čipů Apple M3 Pro, Max a Ultra.

Do nové verze bylo přijato 20260 oprav od 3171 vývojáře, z nichž 807 poprvé zaslalo své změny do jádra. Velikost patche je 63 MB (změny se dotkly 14923 souborů, přidáno 943849 řádků kódu,
odebráno 297515 řádků). V předchozím vydání bylo 17833 oprav od 2766 vývojářů, velikost patche byla 68 MB. Přibližně 44 % všech prezentovaných změn v 7.3 se týká ovladačů zařízení, asi 12 % změn souvisí s aktualizací kódu specifického pro hardwarové architektury, 12 % se týká síťového zásobníku, 5 % je s файловými системами a 3 % s interními subsystémy jádra.

Hlavní novinky v jádře 7.3 (1, 2, 3):

  • Diskový subsystém, vstup/výstup a souborové systémy
    • Bylo provedeno zlepšení výkonu FS Btrfs. Pro SSD disky byla odstraněna zbytečná latence, což vedlo k pětinásobnému zvýšení propusti pro zátěže aktivně využívající funkci fsync, jako je zápis logů. V fsync bylo vypnuto určení prázdných míst ve files s velkým počtem extentů a bez prázdných míst, což urychlilo provádění některých specifických testů pětkrát.

      Při sledování nevyrovnatelných bufferů extentů byla struktura xarray nahrazena místním seznamem LRU, což vedlo k trojnásobnému zvýšení výkonu těchto operací. Byly odstraněny propady výkonu při používání režimu přímého vstupu/výstupu způsobené regresemi v předchozích verzích jádra. Byla snížena blokování při proaktivním čtení extentů, což snížilo režijní náklady při příštím přístupu různých úloh k překrývajícím se oblastem.

    • Ve systému Btrfs byla odstraněna podpora první verze cache pro informace o volném místě. FS vytvořené na starších systémech je nutné převést na druhou verzi cache pomocí utilit btrfstune, jinak budou pracovat pomaleji. Také byla odstraněna možnost montování „usebackuproot“, místo které by se mělo používat „rescue=usebackuproot“.
    • Ve FS Ext4 byla zvýšena výkonnost paralelních zápisových operací při přímém vstupu/výstupu (Direct I/O) a urychlilo se rezervování prázdných oblastí pomocí volání fallocate(). Byla odstraněna regrese, která snižovala výkonnost při buffered zápisu.
    • Ve FS Ext4 byl režim montování „data=journal“ prohlášen za zastaralý. Podpora této možnosti montování má být ukončena v roce 2028. Možnost „data=journal“ zahrnuje režim plného žurnalizování, při kterém se do žurnálu zapisují nejen metadata, ale i samotná data, což zajišťuje vysokou odolnost v případě selhání, ale komplikuje údržbu kódu a způsobuje značné snížení výkonnosti ve srovnání s režimy „data=ordered“ a „data=writeback“.
    • Byla odstraněna souborová systém EFS, který byl používán v raných verzích OS IRIX, přestal se používat před přibližně 30 lety a už více než 20 let není udržován. Pro ty, kdo potřebují přístup k oddílům s EFS, existují utility, které fungují v uživatelském prostoru.
    • Byla odstraněna souborová systém FreeVxFS, implementující formát FS VERITAS VxFS, který byl používán v SCO UnixWare v 90. letech a už dlouho se prakticky nepoužívá.
    • V mechanismu vytváření souborových systémů v uživatelském prostoru FUSE byla zvýšena výkonnost a snížena spotřeba paměti při používání systému asynchronního vstupu/výstupu io_uring. Zrychlení bylo dosaženo díky přidání možnosti přenosu poolů bufferů z uživatelského prostoru do jádra a vyloučení zbytečné bufferizace (zero-copy) při přístupu FUSE-serveru k stránkám paměti klientského procesu nebo stránkovému cache.
    • Pro bloková zařízení byl implementován příznak RWF_DONTCACHE, podobný režimu přímého vstupu/výstupu.
      (Direct I/O), který lze použít ve funkcích preadv2() a pwritev2() nebo při čtení a zápisu pomocí io_uring pro přístup k blokovému zařízení obcházejícímu stránkovou cache. Například, tento flag může být použit v DBMS pro nízkoúrovňovou práci s blokovými zařízeními.
    • Ve FS overlayfs byla přidána podpora mapování identifikátorů uživatelů, která se používá pro porovnání souborů určitého uživatele na připojeném cizím oddílu s jiným uživatelem v aktuálním systému.
    • Byla vylepšena podpora připojení více FS z jednoho blokového zařízení.
    • V ovladači ntfs3 byla implementována počáteční podpora alternativních datových proudů, které se sdílejí přes dvojtečku v názvu souboru. Pro vytvoření nového alternativního proudu lze použít příkaz „touch file:stream“, pro čtení — „cat file:stream“, pro odstranění — „rm file:stream“, pro výpis dostupných proudů — „cat file:query_streams“.
    • V nové implementaci NTFS (ntfsplus) v režimu pouze pro čtení byla zavedena podpora technologie transparentního kompresního souboru s použitím overlay filtrů WOF (Windows Overlay Filter).
    • Do NFS-serveru byla přidána podpora operace CB_NOTIFY, která umožňuje klientovi ukládat metadata adresářů na své straně a dostávat oznámení o změnách od serveru.
    • Ve FS F2FS byla přidána podpora dynamického (bez odpojení FS) odstraňování oddílů ze sdíleného fondu s automatickým přesunem dat na jiné oddíly a návratem zpět (např. je možné dočasně odebrat úložiště pro jiné účely).
    • Ve XFS byla přidána podpora flagu FALLOC_FL_WRITE_ZEROES v systémovém volání fallocate(), který umožňuje vyplnit nulami určený rozsah v souboru, pomocí příkazu WRITE_ZERO, který některé SSD disky podporují a který provádí nulování bez vstupně/výstupních operací.
  • Paměť a systémové služby
    • Byla vylepšena správa nedostatku video paměti. V případě vyčerpání volné video paměti se jádro nyní pokouší vyjmout z video paměti do systémové paměti (GTT) vyrovnávací paměti aplikací, které nemají garantovanou kvótu paměti (dmem cgroup), místo aby okamžitě odmítlo přidělení video paměti. Tento přístup zajišťuje přidělení zdrojů aplikaci, které systém rezervoval určité množství video paměti, i když je paměť již přidělena jiným aplikacím. Dříve, pokud byla aplikaci bez kvót již přidělena video paměť, pak v situaci nedostatku video paměti nemohla aplikace s garantovanými kvótami získat tuto paměť a místo video paměti byla aplikaci prostřednictvím subsystému TTM (Translation Table Maps) přidělena pomalejší systémová operační paměť přístupná z GPU (GTT).
      Podpora dmem cgroup byla implementována pro ovladače nouveau, xe a amdgpu.
    • V mechanismu SCHED_EXT, který umožňuje využití BPF k vytváření plánovačů CPU, byla dokončena práce na možnosti vytváření vnořených plánovačů (sub-scheduler), díky nimž může mít každá cgroup vlastní plánovač úloh.
    • Byly provedeny vylepšení v plánovači úloh, týkající se zpracování cgroup a řešení problémů s přidělováním vah, kvůli nimž vznikaly další režijní náklady a zpoždění. Bylo navrženo několik metod přidělení vah pro cgroup — 'up', 'max', 'concur' a 'tasks', nastavovaných přes parametr cgroup_mode. Byla zapojena jednotná fronta provádění (runqueue) pro plánování úloh uvnitř cgroup. Byla zkrácena zpoždění při plánování úloh, kterým jsou přidělovány krátké kvanty procesorového času, díky
      možnosti v případě potřeby rušit, aktualizovat nebo minimalizovat dobu provádění úloh chráněných před vyhazováním.
    • V mechanizmu binfmt_misc (/proc/sys/fs/binfmt_misc) byla implementována
      možnost připojení BPF zpracovatelů pro přidání podpory pro nové formáty spustitelných souborů. Změna umožňuje programově analyzovat typ spustitelného souboru při každém spuštění a vybrat pro něj interpret nebo dynamický načítač bez obcházení pomocí utilit jako patchelf a skriptových obalů. Například v BPF programu lze definovat spustitelné soubory pro jiné architektury nebo platformy a spouštět odpovídající emulátory nebo Wine, a také zjednodušit organizaci spouštění spustitelných souborů v balících nainstalovaných v různých adresářích v systémech s balíčkovým manažerem Nix.
    • Pokračoval přenos změn z větve Rust-for-Linux, souvisejících s použitím jazyka Rust jako druhého jazyka pro vývoj ovladačů a modulů jádra (podpora Rust není ve výchozím nastavení aktivní a nezahrnuje Rust mezi povinné závislosti při sestavování jádra). Objevila se možnost použití Rust pro architekturu PowerPC. Byly implementovány: modul pro bezztrátové celočíselné převody, režim obfuskovaného logování hodnot ukazatelů za účelem prevence úniku informací o adresním prostoru, obalení nad funkcí synchronize_rcu(), paměťové bariéry, modul interrupt pro zapnutí/vypnutí přerušení, typy pro vstup/výstup, obalení nad fwctl, mechanismus SRCU (sleepable read-copy-update), obalení nad gem shmem.
      spinlock blokace SpinLockIrq, které neumožňují přerušení v kritických sekcích.
    • Byl přidán sysctl parametr syscall_user_dispatch pro řízení zapnutí režimu dispatcheru systémových volání v uživatelském prostoru, který umožňuje jednomu procesu zachytávat systémová volání jiného procesu (používá se ve Wine pro emulaci systémových volání Windows).
    • Do BPF byla přidána funkce bpf_sock_read_xattr(), pomocí které mohou BPF programy číst uživatelsky nastavené rozšířené atributy (user.*) z inode soketů. V BPF aplikacích se objevila možnost definice globálních proměnných vázaných na CPU. V ověřovači BPF programů byla poskytnuta dodatečná informace o zjištěných chybách, což zjednodušuje určení příčin problémů.
      (user.*) z inode soketů. V aplikacích BPF se objevila možnost definice globálních proměnných vázaných na CPU. V ověřovači BPF programů byla poskytnuta dodatečná informace o zjištěných chybách, což zjednodušuje určení příčin problémů.
    • Mechanismy trasování kprobes, uprobes a fprobes implementují podporu pro převod typů, využívající data BTF (BPF Type Format) s informacemi pro kontrolu typů v pseudokódu BPF, a také zlepšují extrakci informací o proměnných.
    • Do subsystému DAMON (Data Access MONitor), který umožňuje sledovat přístup procesu k datům v operační paměti (například lze zjistit, ke kterým oblastem paměti měl proces přístup a které oblasti paměti zůstaly nevyužité), byla přidána možnost monitorování změny atributů dat (anonymní paměť, mapované na paměť soubory, pouze pro čtení, žádné přístupy k paměti atd.).
    • V mechanismu KHO (Kexec HandOver), používaném pro spuštění nového jádra ze starého bez ztráty stavu systému, byla zajištěna úvaha o přidělování velkých stránek paměti (huge pages) během zavádění. Tyto stránky paměti jsou nyní označeny a uloženy po spuštění nového jádra.
    • Nízkourovňový kód systému swap byl převeden na novou nízkourovňovou strukturu dat swap_ops, což zjednodušilo údržbu kódu a implementovalo abstrakce potřebné pro rozšíření funkčnosti v budoucnu.
    • Byly přidány ioctl příkazy ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT a ALLOCINFO_IOC_GET_NEXT, které umožňují selektivně předávat do uživatelského prostoru data profilování alokace paměti. Ve srovnání s dříve dostupným rozhraním /proc/allocinfo, navržené ioctl volání umožňují až 20krát zvýšit výkon dotazů na profilování díky filtrování nadbytečných dat.
  • Virtualizace a bezpečnost
    • Byl navržen nový mechanismus izolace, blokující přístup k obsahu souborových systémů, s výjimkou zdrojů, které byly explicitně předány do sandboxového prostředí prostřednictvím souborových descriptorů. Mechanismus je realizován pomocí pseudo-FS failfs a systémového volání fchroot.

      Pseudofilesystem failfs připomíná souborový systém nullfs, ale na rozdíl od něj uplatňuje princip „nic není podporováno“ namísto „nic není ukládáno“. Tato vlastnost brání montování čehokoliv přes failfs, klonování souborového systému a sledování stavu pomocí statmount(), listmount(), /proc//mountinfo a /proc/filesystems. Pokud je kořenový nebo pracovní adresář procesu umístěn ve failfs, jsou blokovány jakékoli pokusy o navigaci v souborovém systému pomocí absolutních cest, symbolických odkazů a relativních cest, které závisí na aktuálním pracovním adresáři. Procesu zůstává pouze možnost odkazu na konkrétní adresář pomocí otevřených deskriptorů souborů před izolací.

      Pro přechod do nového izolačního režimu byl přidán systémový systémový volání fchroot, podobné systémovému volání chroot, ale pracující na úrovni deskriptorů souborů. Do systémových volání fchdir byl přidán příznak FD_FAILFS_ROOT pro přesun pracovního adresáře procesu do souborového systému failfs.
      Podobný příznak je dostupný v systémovém volání fchroot.

    • Byla přidána možnost sledování přístupů k paměti hostitelského systému pomocí mechanismu userfaultfd, který umožňuje vytváření zpracovatelů přístupů k nealokovaným nebo chráněným stránkám paměti v uživatelském prostoru. V praxi tato přidaná funkce umožňuje hypervisoru určovat stránky paměti, k nimž ve virtuálním stroji nedošlo k přístupům, aby je bylo možné přesunout na pomalejší paměť nebo do externího úložiště. Pro sledování porušení nastaveného zákazu čtení a zápisu v sledované oblasti paměti byl přidán příznak UFFDIO_REGISTER_MODE_RWP, který lze použít jako výkonnější alternativu použití mprotect(PROT_NONE) společně se zpracovatelem signálu generovaného při pokusu o přístup k paměti, pro kterou je nastaven zákaz čtení a zápisu (v případě userfaultfd je vyvolána výjimka zpracovaná v uživatelském prostoru). Změna byla připravena pomocí AI ("Assisted-by: Claude:claude-opus-4-6").
    • Bylo posíleno oddělení mezi vlákny jádra (kthread) a init procesem (PID 1). Dříve bylo ve vláknech jádra a v PID 1 společně používáno společné stavení souborového systému.
      což umožnilo prostřednictvím volání pivot_root() předefinovat stav FS pro všechny jádrové vlákna. V nové verzi je v PID 1 zapojena zcela oddělená struktura fs_struct a jádrová vlákna jsou izolována v samostatném bodě připojení s nullfs.
    • Do vestavěné kryptografické knihovny (libcrypto) byla přidána podpora režimů šifrování AES — ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM a CCM.
    • V systému mandantního řízení přístupu AppArmor byla implementována možnost načítání komprimovaných sad pravidel a přidán auditní režim.
    • Byl přidán sysctl-parametr af_alg_restrict, který spravuje přístup k kryptografickému API AF_ALG z prostoru uživatele. AF_ALG umožňuje využívat hardwarové akcelerátory pro kryptografické výpočty v Crypto API jádra, ale používá se v poměrně specifických situacích a ne vždy poskytuje nárůst výkonu ve srovnání s implementací akcelerace v uživatelském prostoru. Přitom byly v souvisejících AF_ALG zpracovatelích odhaleny série zranitelností, jako je Copy Fail, které umožňují měnit data ve stránkovém cache. Aby se snížil povrch útoku, je výchozí přístup k AF_ALG částečně omezen. Zvažuje se možnost odstranění AF_ALG v některé z budoucích verzí.
    • Byla zpřísněna verifikace BPF programů, které jsou podepsány digitálním podpisem. Byla přidána kontrola integrity metadat BPF programu před jeho načtením.
    • Do systémového volání landlock_restrict_self(), které se používá k aktivaci blokací Landlock, byl přidán příznak
      LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, který zakazuje aktuálnímu procesu získání jakýchkoli nových privilegií. Mechanismus Landlock umožňuje nepřihlášeným programům zrušit nepotřebná privilegium, dobrovolně omezující svůj další přístup k systému za účelem zvýšení bezpečnosti, například k ochraně v případě pokusů o zneužití zranitelností v programu.
    • Do ovladače VirtIO-GPU, který zajišťuje funkci virtuálního GPU, byla přidána podpora spánkového režimu S4 (hibernace).
  • Síťová subsystém
    • Do jádra serveru pro protokol SMB, ksmbd, byla přidána podpora pro rozšíření Apple Time Machine pro ukládání záloh vytvářených v macOS prostřednictvím této aplikace. Byla implementována mechanismus izolace sekvencí SMB příkazů navázaných na MessageId pro blokování útoků prostřednictvím odesílání neplatných nebo duplikovaných požadavků. Přidána podpora pro odesílání opakovaných požadavků prostřednictvím protokolu SMB3 bez narušení stavu relace, pokud byl předchozí požadavek ztracen. V SMB3 byla implementována možnost šifrování na úrovni jednotlivých sdílených úložišť. Byla přidána podpora pro šifrování komunikačního kanálu SMB Direct, využívající technologii RDMA (Remote Direct Memory Access).
    • Byla implementována možnost použití TCP paketů s rozšířením BIG TCP, což umožňuje zvýšit maximální velikost TCP paketu až na 4 GB v UDP tunelech založených na protokolech VXLAN a GENEVE.
    • Byla přidána podpora pro překlady protokolu MCTP (Management Component Transport Protocol) přes USB (MCTP-over-USB 1.1).
    • Byla poskytnuta možnost odpojení (unregistration) síťových zařízení (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan atd.) pro vybrané jmenné prostory.
    • Pro Bluetooth 6.2+ byla implementována podpora mechanismu SCI (Shorter Connection Interval) pro snížení latence při přenosu dat v režimu Bluetooth LE (Low Energy).
    • Do API nl80211 byl přidán sjednocený mechanismus (NL80211_CMD_PROBE_PEER) pro kontrolu připojených peerů, fungující jak na straně bezdrátových přístupových bodů, tak na straně klienta.
  • Hardware
    • Ve verzi jádra 7.5 byly označeny jako zastaralé a plánovány k odstranění staré ARM platformy, které se téměř nepoužívají a brání údržbě aktuálních subsystémů. K odstranění je naplánováno přibližně 55 tisíc řádků kódu souvisejícího s podporou platforem sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, starých desek pxa, orion, dove a mv78xx0, čipů bez řídicí jednotky paměti (MMU) a mikrokontrolérů stm32f4/f7/h7.
    • Byla přidána počáteční podpora čipů Apple M3 Pro, Max a Ultra. Bylo implementováno řízení stavu spotřeby energie pro SoC Apple.
    • Do subsystému DRM (Direct Rendering Manager) byl přidán atribut „color format“, který umožňuje uživateli přepnout formát zobrazení barev pro výstupní zařízení. Atribut byl implementován pro ovladače GPU i915 (HDMI, DP), amdgpu (HDMI, DP) a rockchip (HDMI). Pro testování lze použít příkaz typu „modetest -s 115:1920×1080-60@NV12 -w 115:‘color format’:4“, kde 115 je identifikátor konektoru a '4' je číslo formátu YUV420.
    • Do ovladače amdgpu byla přidána podpora modifikátorů DRM pro GPU AMD řady GFX6-8 (Southern Islands, Sea Islands a Volcanic Islands). Byla implementována počáteční podpora DCN 6.0.0 (Display Core Next). Bylo vyčištěno zastaralé kódu.
      Byla zahrnuta podpora CACP (Content Adaptive Contrast and Power), která umožňuje snížit spotřebu energie OLED panelů. Pro obrazové motory na architektuře DCN4 byla zahrnuta podpora mechanismu IPS (Idle Power State) pro snížení spotřeby energie během neaktivity. Byla přidána podpora grafických karet AMD Barco.
    • V ovladači i915 byl přepracován kód pro určování možností a obnovu stavu konektorů DisplayPort. Pro GPU Novalake (NVL) byla přidána podpora CMTG (Common mode timing generator) a DC3DO (Display C3 with Clock Off).
    • Pokračuje práce na drm-ovladači (Direct Rendering Manager) Xe pro GPU založené na architektuře Intel Xe, která je používána v grafických kartách Intel rodiny Arc a integrované grafice od procesorů Tiger Lake. Byly přidány nové identifikátory podporovaných zařízení. V configfs byla implementována atribut 'enable_multi_queue' pro deaktivaci současného používání více front pro přenos příkazů. Byla zlepšena podpora přechodu do spánkového režimu.
    • Pokračuje integrace komponent ovladače Nova pro GPU NVIDIA vybavené GSP firmwarem, používaným od série NVIDIA GeForce RTX 2000 na základě mikroarchitektury Turing. Ovladač je napsán v jazyce Rust. V nové verzi došlo k přechodu na nové obrazy firmwaru TLV, místo starých variant používaných v ovladači Nouveau. Byla přidána podpora
      spuštění firmwaru pro čip GSP (GPU System Processor) se zapnutím vGPU. Bylo přidáno API pro získávání informací o velikosti grafické paměti.
    • V ovladači Tyr, napsaném v jazyce Rust a zajišťujícím spolupráci s GPU ARM Mali, byla přidána možnost načítání firmwaru ve formátu Mali CSF, aktivace virtuální paměti GPU a spuštění MCU.
    • V ovladači msm byla přidána podpora GPU Adreno Shikra (A704) a Eliza (722).
    • Byla přidána podpora zvukových zařízení a ASoC: Pioneer DJ DJM-S11,
      AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1.
    • Byla přidána podpora pro Steam Controller (model 2026); myši Logitech G502 X Plus a G502 X Lightspeed; klávesnice Endorfy Thock TKL, Zenbook A16; sluchátka Nova 5X, Nova 7 a Arctis 7; herní volantu Turtle Beach VelocityOne Race; herní ovladač MSI Claw.
    • Byla zlepšena podpora zvuku na zařízeních ASUS VivoBook M515DA/X515DAP,
      LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx a HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
      ThinkPad X1 Carbon 6. generace, HP ProBook 440 G5, Acer Aspire A515-57.
    • Byla přidána podpora pro smartphony, tablety a notebooky: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini a Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
    • Byla přidána podpora pro ARM platformy a SoC Samsung Exynos 1580 (používaný ve vlajkových smartfonech od roku 2024), Orange Pi 5 pro, Sophgo SG2000 (hybrid Arm/RISC-V), BeagleBadge, Qualcomm „Shikra“ a „Altera“ (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM a desky Sonata/Symphony na jejich základě, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.

Zároveň latinskoamerická Nadace svobodného softwaru vytvořila
verzi plně svobodného jádra 7.3 — Linux-libre 7.3-gnu, vyčištěnou od prvků firmwaru a ovladačů, které obsahují nesvobodné komponenty nebo úseky kódu, jejichž použití je omezeno výrobcem. Ve vydání 7.3 došlo k vyčištění od blobů nových ovladačů pro GPU Mali Tyr, Morse Micro mm81x wi-fi, NXP wi-fi a síťových karet na čipech Realtek. Byl aktualizován kód čištění v ovladačích nova-core, amdgpu, adreno, tegra, iris, rtw89 a mt76 wifi, Qualcomm Q6V5 PAS, qla2xxx scsi a zvukových kodecích aw88399. Byl proveden úklid názvů blob-ů v dts-souborech (devicetree) pro ARM čipy Qualcomm.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster