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ýznamnějšími změnami jsou: mechanismus izolace FS založený na pseudofilesystému failfs a systémovém volání fchroot(), podpora vytváření vnořených plánovačů SCHED_EXT, BPF-handlery spouštění spustitelných souborů, alternativní datové proudy 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 videopaměti, sledování přístupu k paměti hostitelského systému přes userfaultfd, komprese 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é poslalo své změny do jádra. Velikost patchu – 63 MB (změny se dotkly 14923 souborů, přidáno 943849 řádků kódu,
odstraněno 297515 řádků). V minulém vydání bylo 17833 oprav od 2766 vývojářů, velikost patchu – 68 MB. Přibližně 44 % všech předložených změn v 7.3 souvisí s ovladači zařízení, asi 12 % změn se týká aktualizace kódu specifického pro hardwarové architektury, 12 % souvisí s síťovým zásobníkem, 5 % s filesystémy 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
    • Byla provedena optimalizace výkonu FS Btrfs. Pro ne SSD úložná zařízení byla odstraněna zbytečná zpoždění, což vedlo k pětinásobnému zvýšení propustnosti pro zátěže s aktivním použitím funkce fsync, jako je zapisování logů. V fsync bylo vypnuto určování prázdnot v souborech s velkým počtem extentů a bez prázdnot, což zrychlilo provádění některých specifických testů pětkrát.

      Při sledování ne-cacheovaných bufferů extentů byla struktura xarray nahrazena lokální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žití režimu přímého vstupu/výstupu, způsobené regresemi v minulých vydáních jádra. Byly zredukovány zámky při proaktivním čtení extentů, což snížilo režijní náklady při přístupu různých úloh k překrývajícím se oblastem.

    • V Btrfs byla odstraněna podpora první verze cache s informacemi o volném místě. Systémy souborů vytvořené na starších systémech musí být převedeny na druhou verzi cache pomocí nástroje btrfstune, jinak budou fungovat pomaleji. Také byla odstraněna možnost montování „usebackuproot“, místo níž je třeba používat „rescue=usebackuproot“.
    • V systému souborů Ext4 byla zvýšena výkonnost paralelních operací zápisu při přímém vstupu/výstupu (Direct I/O) a urychleno rezervování prázdných oblastí pomocí volání fallocate(). Byla odstraněna regrese, která snižovala výkonnost při vyrovnaném zápisu.
    • V systému souborů Ext4 byla možnost montování „data=journal“ označena jako zastaralá. Podporu této montážní možnosti plánují ukončit v roce 2028. Možnost „data=journal“ zahrnuje režim úplného žurnálování, při kterém se do žurnálu zapisují nejen metadata, ale také samotná data, což zajišťuje vysokou odolnost v případě selhání, ale ztěžuje údržbu kódu a vede k výraznému snížení výkonnosti ve srovnání s režimy „data=ordered“ a „data=writeback“.
    • Byl odstraněn systém souborů EFS, který byl používán v raných verzích operačního systému IRIX, byl opuštěn před asi 30 lety a více než 20 let nebyl udržován. Pro ty, kteří potřebují přístup k oddílům s EFS, existují nástroje fungující v uživatelském prostoru.
    • Byl odstraněn systém souborů FreeVxFS, implementující formát FS VERITAS VxFS, který se používal v SCO UnixWare v 90. letech a už dávno se nepoužívá v praxi.
    • V mechanismu tvorby 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žití systému asynchronního vstupu/výstupu io_uring. Zrychlení bylo dosaženo přidáním možnosti přenosu poolů bufferů z uživatelského prostoru do jádra a vyloučením nadbyteč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 flag 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 v dotazech na čtení a zápis přes io_uring pro přístup k blokovému zařízení mimo stránkovou cache. Například, tento flag může být aplikován v DBMS pro nízkoúrovňovou práci s blokovými zařízeními.
    • V systému souborů overlayfs byla přidána podpora mapování identifikátorů uživatelů, používaná k přiřazení souborů určitého uživatele na připojeném cizím oddílu k jinému uživateli v aktuálním systému.
    • Byla vylepšena podpora pro připojení několika FS z jednoho blokového zařízení.
    • V ovladači ntfs3 byla implementována počáteční podpora alternativních datových proudů, které jsou sdíleny pomocí dvojtečky v názvu souboru. Pro vytvoření nového alternativního proudu lze použít příkaz „touch file:proud“, pro čtení — „cat file:proud“, pro odstranění — „rm file:proud“, pro výpis dostupných proudů — „cat file:query_streams“.
    • V nové implementaci NTFS (ntfsplus) v režimu pouze pro čtení byla přidána podpora technologie průhledného komprese souborů pomocí overlay filtrů WOF (Windows Overlay Filter).
    • Do NFS serveru byla přidána podpora operace CB_NOTIFY, která umožňuje klientovi cachovat metadata adresářů na své straně, přičemž dostává oznámení o změnách od serveru.
    • V systému souborů F2FS byla přidána podpora dynamického (bez odpojení FS) odstraňování oddílů ze sdíleného poolu s automatickým přesunem dat na jiné oddíly a navrácením zpět (například lze dočasně vyjmout úložiště pro jiné potřeby).
    • V XFS byla přidána podpora flagu FALLOC_FL_WRITE_ZEROES v systémovém volání fallocate(), který umožňuje vyplnit nuly uvedený rozsah v souboru, s využitím povoleného příkazu WRITE_ZERO některými SSD disky, provádějícím nulování bez operací I/O.
  • Paměť a systémové služby
    • Byla vylepšena správa nedostatku grafické paměti. V situaci vyčerpání volné grafické paměti jádro nyní zkouší vypustit z grafické paměti do systémové paměti (GTT) aplikace, které nemají zaručenou kvótu paměti (dmem cgroup), místo toho, aby okamžitě odmítlo přidělení grafické paměti. Tento přístup zajišťuje přidělení zdrojů aplikaci, které systém rezervoval určitý objem grafické paměti, i když je paměť již přidělena jiným aplikacím. Dříve, pokud aplikaci bez kvót byla již přidělena grafická paměť, v situaci nedostatku grafické paměti aplikace se zaručenými kvótami ji nemohla získat, a místo grafické paměti byla aplikaci přidělena pomalejší systémová operační paměť adresovaná z GPU (GTT).
      Podpora dmem cgroup byla implementována pro ovladače nouveau, xe a amdgpu.
    • V mechanismu SCHED_EXT, který umožňuje použití BPF pro vytváření plánovačů CPU, byla dokončena práce na možnosti vytváření vnořených plánovačů (sub-scheduler), se kterými každá cgroup může mít svůj vlastní plánovač úloh.
    • Do plánovače úloh byla provedena vylepšení týkající se zpracování cgroup a řešení problémů s přidělováním váhy, kvůli nimž vznikaly dodatečné režijní náklady a zpoždění. Bylo navrženo několik metod přidělování váhy pro cgroup – 'up', 'max', 'concur' a 'tasks', které jsou nastaveny prostřednictvím parametru cgroup_mode. Byla zapojena jednotná fronta pro zpracování (runqueue) pro plánování úloh uvnitř cgroup. Byla snížena 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 podle potřeby zrušit, aktualizovat nebo minimalizovat dobu vykonávání úloh chráněných proti vytlačení.
    • V mechanismu binfmt_misc (/proc/sys/fs/binfmt_misc) byla implementována
      možnost připojení BPF zpracovatelů pro přidání podpory nových formátů spustitelných souborů. Změna umožňuje programově při každém spuštění analyzovat typ spustitelného souboru a vybrat pro něj interpreter nebo dynamického načítače bez hackování typu použití nástroje 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 uspořádání spuštění spustitelných souborů v balících, které jsou nainstalovány v různých adresářích v systémech s balíčkovým manažerem Nix.
    • Pokračuje přenos změn z větve Rust-for-Linux, týkajících se použití jazyka Rust jako druhého jazyka pro vývoj ovladačů a modulů jádra (podpora Rust není ve výchozím nastavení aktivní a nevede k zařazení Rustu mezi povinné závislosti k jádru). Objevila se možnost použití Rust pro architekturu PowerPC. Byly implementovány: modul pro celá čísla bez ztráty, režim obfuskovaného logování hodnot ukazatelů pro prevenci úniku informací o adresním prostoru, obal nad funkcí synchronize_rcu(), bariéry paměti, modul interrupt pro zapnutí/vypnutí přerušení, typy pro vstup/výstup, obaly nad fwctl, mechanismus SRCU (sleepable read-copy-update), obaly nad gem shmem.
      spinlock zámky SpinLockIrq, které neumožňují přerušení v kritických sekcích.
    • Byl přidán sysctl parametr syscall_user_dispatch pro správu zapnutí režimu plánování systémových volání v uživatelském prostoru, což 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. Ve verifieru BPF programů byla poskytnuta dodatečná informace o zjištěných chybách, což usnadňuje určení příčin problému.
      (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ů.
    • V mechanismech trasování kprobes, uprobes a fprobes byla implementována podpora pro převod typů, využívající data BTF (BPF Type Format) s informacemi pro kontrolu typů v pseudokódu BPF, a také bylo zlepšeno získávání 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, do jakých oblastí paměti proces přistupoval a které oblasti paměti zůstaly nevyužity), byla přidána možnost monitorování změn atributů dat (anonymní paměť, soubory mapované do paměti, přístup pouze pro čtení, žádné přístupy k paměti atd.).
    • V mechanismu KHO (Kexec HandOver), používaném k spuštění nového jádra ze starého bez ztráty systémového stavu, byla zajištěna úvaha o alokaci velkých stránek paměti (huge pages) během zavádění. Takové stránky paměti jsou nyní označovány a uchovávány po spuštění nového jádra.
    • Nízkolevelový kód systému pro stránkování (swap) byl převeden na novou nízkolevelovou strukturu dat swap_ops, což zjednodušilo údržbu kódu a realizovalo abstrakce potřebné pro rozšíření funkcionality 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ávání dat profilu alokace paměti do uživatelského prostoru. Ve srovnání s dříve dostupným rozhraním /proc/allocinfo umožňují navržené ioctl volání až 20násobné zvýšení výkonu dotazů na profilaci díky filtrování nadbytečných dat.
  • Virtualizace a bezpečnost
    • Byl navržen nový mechanismus izolace, který blokuje přístup k obsahu souborových systémů, s výjimkou zdrojů, které jsou výslovně 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 implementuje princip „nic není podporováno“ místo „nic není ukládáno“. Taková vlastnost neumožňuje připojit něco nad failfs, klonovat souborový systém a sledovat stav přes statmount(), listmount(), /proc//mountinfo a /proc/filesystems. Pokud je kořenový nebo pracovní adresář procesu umístěn ve failfs, blokovány jsou veškeré pokusy o navigaci v souborovém systému při použití absolutních cest k souborům, 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 přístupu k určitému adresáři pomocí otevřených popisovačů souborů před izolací.

      Pro přechod do nového izolačního režimu byl přidán systémový hovor fchroot, který je podobný systémovému volání chroot, ale funguje na úrovni popisovačů 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 systému failfs.
      Podobný příznak je k dispozici i 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ářet zpracovatele přístupů k nealokovaným nebo chráněným stránkám paměti v uživatelském prostoru. V praxi tato možnost umožňuje hypervisoru určit stránky paměti, ke kterým nebyly přístupy ve virtuálním stroji, a přemístit je do pomalejší paměti nebo externího úložiště. Pro sledování narušení stanoveného zákazu čtení a zápisu v sledované oblasti paměti byl přidán příznak UFFDIO_REGISTER_MODE_RWP, který může být používán jako výkonnější analog použití mprotect(PROT_NONE) spolu se zpracovatelem signálu, generovaného při přístupu k paměti, pro kterou je stanoven zákaz na čtení a zápis (v případě userfaultfd se generuje výjimka, která je zpracovávána 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 byla v jádrových vláknech a v PID 1 sdílena společná stavová data souborového systému.
      co umožnilo převoláním pivot_root() předefinovat stav FS pro všechny vlákna jádra. V nové verzi je v PID 1 použita zcela oddělená struktura fs_struct a vlákna jádra jsou izolována v samostatném bodě připojení s nullfs.
    • Do zabudované 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 mandatorního řízení přístupu AppArmor byla zavedena 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ý řídí zapnutí přístupu k kryptografickému API AF_ALG z uživatelského prostoru. 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 přináší zvýšení výkonu ve srovnání s implementací akcelerace v uživatelském prostoru. Současně byly v souvisejících s AF_ALG zpracovatelích zjištěny série zranitelností, jako například Copy Fail, které umožňují měnit data ve stránkovém cache. Pro snížení útočné plochy je přístup k AF_ALG ve výchozím nastavení částečně omezen. Zvažuje se možnost odstranění AF_ALG v jednom z budoucích vydání.
    • 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(), používaného 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 oprávnění. Mechanismus Landlock umožňuje neoprávněným programům zrušit nepotřebná oprávnění pro jejich činnost a dobrovolně omezit svůj další přístup k systému za účelem zvýšení bezpečnosti, například na ochranu v případě pokusů o zneužití zranitelností v programu.
    • Do ovladače VirtIO-GPU, který zajišťuje činnost virtuálního GPU, byla přidána podpora pohotovostního režimu S4 (hibernace).
  • Síťová subsystém
    • V ksmbd, serveru integrovaném do jádra pro protokol SMB, byla přidána podpora rozšíření Apple Time Machine pro ukládání záloh vytvářených v macOS prostřednictvím této aplikace. Byla zavedena izolace sekvencí SMB příkazů vázaných na MessageId pro blokaci útoků pomocí odesílání neplatných nebo duplicitních požadavků. Přidána podpora odesílání opakovaných požadavků prostřednictvím protokolu SMB3 bez narušení stavu relace, pokud předchozí požadavek byl ztracen. V SMB3 byla implementována možnost šifrování na úrovni jednotlivých sdílených úložišť. Přidána podpora šifrování komunikačního kanálu SMB Direct, využívající technologii RDMA (Remote Direct Memory Access).
    • Byla zrealizována možnost použití TCP paketů s rozšířením BIG TCP, umožňujícím zvýšení maximální velikosti TCP paketu až na 4 GB, v UDP tunelech založených na protokolech VXLAN a GENEVE.
    • Byla přidána podpora přesměrování protokolu MCTP (Management Component Transport Protocol) přes USB (MCTP-over-USB 1.1).
    • Byla poskytnuta možnost odhlášení (unregistration) síťových zařízení (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan atd.) pro vybrané prostory jmen.
    • Pro Bluetooth 6.2+ byla zrealizována podpora mechanismu SCI (Shorter Connection Interval) ke snížení latencí při přenosu dat v režimu Bluetooth LE (Low Energy).
    • Do API nl80211 byl přidán unifikovaný mechanismus (NL80211_CMD_PROBE_PEER) pro ověřování připojených peerů, fungující jak na bezdrátových přístupových bodech, tak na straně klienta.
  • Hardware
    • Ve verzi jádra 7.5 byly vyhlášeny za zastaralé a plánovány k odstranění staré ARM platformy, které jsou téměř nepoužívané a komplikují údržbu aktuálních subsystémů. K odstranění směřuje 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 řídící 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. Implementována správa stavu spotřeby energie pro SoC Apple.
    • Do subsystémy DRM (Direct Rendering Manager) bylo přidáno vlastnost „color format“, umožňující uživateli přepnout formát zobrazení barev pro výstupní zařízení. Toto vlastnost bylo implementováno pro ovladače GPU i915 (HDMI, DP), amdgpu (HDMI, DP) a rockchip (HDMI). Pro testování lze použít příkaz ve formátu „modetest -s 115:1920×1080-60@NV12 -w 115:‘color format’:4“, kde 115 je identifikátor konektoru a ‘4’ číslo formátu YUV420.
    • Do ovladače amdgpu byla přidána podpora modifikátorů DRM pro GPU AMD sérií GFX6-8 (Southern Islands, Sea Islands a Volcanic Islands). Byla realizována počáteční podpora DCN 6.0.0 (Display Core Next). Bylo provedeno vyčištění zastaralého kódu.
      Byla zahrnuta podpora CACP (Content Adaptive Contrast and Power), která umožňuje snížit spotřebu energie OLED panelů. Pro displejové enginy na architektuře DCN4 byla zahrnuta podpora mechanismu IPS (Idle Power State) pro snížení spotřeby energie při nečinnosti. Přidána podpora grafických karet AMD Barco.
    • Ve ovladači i915 byl přepracován kód pro určení schopností a obnovení 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é se používají v grafických kartách Intel rodiny Arc a integrované grafice počínaje procesory Tiger Lake. Byly přidány nové identifikátory podporovaných zařízení. V configfs byl realizován atribut 'enable_multi_queue' pro deaktivaci souběžného používání více front přenosu příkazů. Byla zlepšena podpora přechodu do režimu spánku.
    • Pokračuje integrace komponent ovladače Nova pro GPU NVIDIA vybavené GSP firmwarem, používaným počínaje sérií NVIDIA GeForce RTX 2000 na architektuře Turing. Ovladač je napsán v jazyce Rust. V nové verzi byl přechod na nové obrazy firmwaru TLV namí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) s aktivací vGPU. Přidáno API pro získání informací o velikosti videopaměti.
    • Ve ovladači Tyr, napsaném v jazyce Rust a zajišťujícím funkce 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.
    • Ve 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 Steam Controller (model 2026); myší Logitech G502 X Plus a G502 X Lightspeed; klávesnic Endorfy Thock TKL, Zenbook A16; sluchátek Nova 5X, Nova 7 a Arctis 7; herního volantu Turtle Beach VelocityOne Race; herního ovladače 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 platformy ARM a SoC Samsung Exynos 1580 (používaný ve vlajkových smartphonech 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.

Současně latinskoamerická Nadace svobodného softwaru vytvořila
variantu zcela svobodného jádra 7.3 — Linux-libre 7.3-gnu, očištěného od prvků firmwaru a ovladačů obsahujících nesvobodné komponenty nebo úseky kódu, jejichž použití je omezeno výrobcem. V vydání 7.3 došlo k úklidu nových blobů 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 pro úklid v ovladačích nova-core, amdgpu, adreno, tegra, iris, rtw89 a mt76 wifi, Qualcomm Q6V5 PAS, qla2xxx scsi a zvukových kodecích aw88399. Bylo provedeno úklid pojmenování blobů v dts-souborech (device tree) 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