انتشار هسته Linux 7.2

پس از دو ماه توسعه، لینوس توروالدز هسته را منتشر کرد. Linux ۷.۲. از جمله قابل توجه‌ترین تغییرات: مکانیزم استریمینگ داده USB4STREAM، بهینه‌سازی عملکرد btrfs، xfs و ext4، حذف مداوم کد مربوط به پشتیبانی از پردازنده i486، امکان ایجاد زمان‌بندهای تو در تو SCHED_EXT، کاهش مصرف حافظه در زیرسیستم swap، لوله‌های بدون نام شتاب‌یافته، پشتیبانی از افزونه‌های Intel MBEC و AMD GMET در KVM، حذف پروتکل AppleTalk، پشتیبانی اولیه از HDMI 2.1 FRL در درایور AMDGPU.

ویژگی‌های اصلی جدید در هسته ۶.۱۷ (۱، ۲، ۳):

  • زیرسیستم دیسک، I/O و سیستم های فایل
    • در مکانیزم iomap، فراخوانی اضافی تابع memset برای تکرارهای از پیش تکمیل‌شده در تابع iomap_iter() حذف شده است که با شدت بالای ورودی/خروجی در درایوهای سریع NVMe، تعداد عملیات ورودی/خروجی در ثانیه (IOPS) را در آزمایش‌های انجام‌شده هنگام استفاده از سیستم‌های فایل ext4 و xfs 5٪ افزایش داد.
    • XFS برای پشتیبانی از دستگاه‌های ذخیره‌سازی منطقه‌ای (تقسیم گروه‌هایی از بلوک‌ها یا سکتورها به مناطق، که فقط اضافه کردن متوالی داده‌ها به آنها مجاز است و کل گروه بلوک را به‌روزرسانی می‌کند) پایدار اعلام شده است.
    • Btrfs اکنون به طور پیش‌فرض از folio های بزرگ پشتیبانی می‌کند، که باعث کاهش سربار و بهبود عملکرد در طول I/O متوالی فشرده می‌شود. پشتیبانی آزمایشی برای folio های بزرگ (تا 2 مگابایت) اضافه شده است. یک ioctl جدید، GET_CSUMS، برای بازیابی اطلاعات checksum در فضای کاربر، به عنوان مثال، برای ابزار mkfs و بهینه‌سازی deduplication اضافه شده است. عملکرد نوشتن متوالی 15٪ و عملکرد I/O مستقیم 59٪ افزایش یافته است.
    • مکانیزم «ارسال سریع» سیستم فایل Ext4 به طور قابل توجهی بازطراحی شده است تا تداخل و بن‌بست‌ها را از بین ببرد. استخراج آمار اسنپ‌شات inode از طریق /proc/fs/ext4/*/fc_info اضافه شده است. عملکرد محاسبه هش دایرکتوری بهینه شده است (تقریباً دو برابر شدن سرعت برای نام‌های ۲۵۵ کاراکتری، ۲۷٪ برای نام‌های ۶۴ کاراکتری و ۱۱٪ برای نام‌های ۳۲ کاراکتری).
    • F2FS اکنون از بازگشت خطای fserror پشتیبانی می‌کند و امکان نظارت بر مشکلات سیستم فایل را از فضای کاربر فراهم می‌کند. زمان صرف شده برای مدیریت وقفه کاهش یافته است.
    • یک کنترل‌کننده‌ی جدید dm-inlinecrypt به Device Mapper (DM) اضافه شده است تا رمزگذاری و رمزگشایی دستگاه‌های بلوکی با استفاده از دستگاه‌های سخت‌افزاری با قابلیت رمزگذاری درون‌خطی، به صورت شفاف انجام شود.
    • مستنداتی در مورد افزودن سیستم‌های فایل جدید به هسته ارائه شده است.
    • در NFS، اندازه بلوک پیش‌فرض در سیستم‌هایی با حداقل ۱۶ گیگابایت رم به ۴ مگابایت افزایش یافته است (می‌توانید از /proc/fs/nfsd/max_block_size برای تغییر دستی اندازه بلوک استفاده کنید). پشتیبانی از واگذاری دایرکتوری اضافه شده است که امکان انجام عملیات با یک دایرکتوری مشخص را برای مدت زمان مشخصی بدون بررسی تغییرات وضعیت در ... فراهم می‌کند. سرور.
    • سرور SMB اکنون از فایل‌های ذخیره شده به صورت فشرده و همچنین فشرده‌سازی داده‌ها هنگام انتقال از طریق شبکه پشتیبانی می‌کند.
    • پیاده‌سازی جدید NTFS (ntfsplus) پشتیبانی از پیوندهای نمادین را اضافه می‌کند. Windows و مدیریت صحیح بسیاری از انواع خرابی‌های فراداده تضمین شده است.
    • پشتیبانی fscache برای ذخیره‌سازی داده‌های EROFS (سیستم فایل فقط خواندنی پیشرفته) که دو سال پیش منسوخ شده بود، حذف شده است.
    • Ceph FS اکنون از تنظیم مجدد دستی جلسات کلاینت پشتیبانی می‌کند.
    • سیستم فایل 9P برای بهبود عملکرد در سناریوهایی مانند ساخت پروژه بهینه شده است.
    • پرچم‌هایی برای بازیابی اطلاعات مربوط به حساسیت سیستم فایل به حروف کوچک و بزرگ به فراخوانی سیستمی file_getattr() اضافه شده‌اند. پرچم FS_XFLAG_CASEFOLD نشان می‌دهد که بررسی نام فایل بدون حساسیت به حروف کوچک و بزرگ انجام می‌شود و پرچم FS_XFLAG_CASENONPRESERVING نشان می‌دهد که اطلاعات مربوط به حروف کوچک و بزرگ هنگام ایجاد نام فایل‌های جدید حفظ نمی‌شود. این پرچم‌ها را می‌توان در کلاینت‌های NFS بدون حساسیت به حروف کوچک و بزرگ استفاده کرد.
    • پرچم O_EMPTYPATH به فراخوانی سیستمی openat2() اضافه شده است که امکان ارسال مسیر فایل خالی را فراهم می‌کند. در این حالت، مسیر فایلی که قرار است باز شود بر اساس توصیفگر فایل ارسالی تعیین می‌شود.
    • پرچم OPENAT2_REGULAR به فراخوانی سیستمی openat2() اضافه شده است که فقط امکان باز کردن فایل‌های معمولی را فراهم می‌کند (در صورت تلاش برای باز کردن یک فایل خاص مانند سوکت، لوله یا دستگاه، خطای EFTYPE بازگردانده می‌شود).
  • خدمات حافظه و سیستم
    • مکانیزم USB4STREAM برای پخش داده‌ها بین کامپیوترهای متصل از طریق پورت‌های USB4 پیاده‌سازی شده است. دستگاه /dev/tbstreamX اضافه شده است که به شما امکان می‌دهد داده‌ها را با استفاده از توابع استاندارد read() و write() بخوانید و بنویسید، مشابه خواندن و نوشتن فایل‌ها. به عنوان مثال، در یک میزبان، می‌توانید اطلاعات را با استفاده از دستور "echo hello > /dev/tbstream0" ارسال کنید و در میزبان دیگر، آن را با استفاده از دستور "cat /dev/tbstream0" بخوانید. مکانیزم USB4STREAM را می‌توان با قابلیت برقراری اتصال شبکه از طریق کابل USB4 (thunderbolt_net) ترکیب کرد یا به طور جداگانه برای انتقال داده‌ها بین برنامه‌هایی که از سوکت‌های شبکه پشتیبانی نمی‌کنند، استفاده کرد.
    • سری دوم تغییرات برای حذف پشتیبانی از پردازنده‌های i486 گنجانده شده است. بیش از ۱۳ خط کد مربوط به شبیه‌سازی واحد ممیز شناور برای پردازنده‌های بدون FPU حذف شده است. پشتیبانی از پردازنده‌های i486 بدون عملیات سخت‌افزاری CX8 (مقایسه و تبادل ۸ بایت) و TSC (شمارنده چرخه CPU که در زمان‌بندی وظایف استفاده می‌شود) حذف شده است، زیرا کد شبیه‌سازی برای این موارد حذف شده است.
    • پشتیبانی از پردازنده‌های AMD Geode که در رایانه OLPC XO-1 استفاده می‌شوند، به عنوان یتیم اعلام شده است.
    • پشتیبانی از به‌روزرسانی پیاده‌سازی TDX اینتل (Trusted Domain Extensions)، مکانیزمی که برای رمزگذاری RAM سیستم مهمان استفاده می‌شود، اضافه شده است. TDX به عنوان یک ماژول زمان اجرای نرم‌افزار ویژه پیاده‌سازی شده است که در هنگام بوت توسط BIOS از حافظه فلش به RAM منتقل می‌شود. هسته اکنون شامل قابلیت‌هایی برای مدیریت این ماژول و جایگزینی آن با نسخه جدیدتر در یک سیستم در حال اجرا بدون نیاز به راه‌اندازی مجدد است.
    • یک زمان‌بند تخصیص منابع GPU جدید (زمان‌بند GPU منصفانه) پیاده‌سازی شده است. این زمان‌بند برای تعیین ترتیب اجرای کار ارسالی توسط فرآیندهای استفاده‌کننده از GPU روی GPU استفاده می‌شود. به جای استفاده از صف سنتی FIDO برای درخواست‌های GPU، زمان‌بند جدید از مکانیسم‌های تخصیص منابع منصفانه مبتنی بر زمان‌بند وظایف Completely Fair Scheduler (CFS) استفاده می‌کند که از یک طرح راه‌اندازی با زمان انتقال برای فرآیند بعدی استفاده می‌کند. قابل توجه‌ترین تأثیر زمان‌بند جدید در طول اجرای موازی وظایف تعاملی که به شدت از GPU استفاده می‌کنند، مشاهده می‌شود. در آخرین لحظه قبل از انتشار هسته ۷.۲، زمان‌بند GPU منصفانه غیرفعال شد و زمان‌بند FIFO قدیمی به دلیل نیاز به اشکال‌زدایی رگرسیون، که باعث کاهش عملکرد و استفاده ۱۰۰٪ از GPU هنگام اجرای بازی‌های خاص در Proton می‌شد، بازگردانده شد.
    • تغییرات در زیرسیستم eBPF: قابلیت اتصال یک برنامه BPF واحد به چندین نقطه ردیابی اضافه شد. برنامه‌های BPF متصل به نقاط ردیابی اکنون می‌توانند به حافظه اجزای فضای کاربر دسترسی داشته باشند و صفحات حافظه تخصیص نیافته (خطاهای صفحه) را به درستی مدیریت کنند. فراخوانی سیستم bpf() اکنون از ویژگی‌های استاندارد (log_buf، log_size، log_level و log_true_size) پشتیبانی می‌کند که امکان انتقال یکپارچه فراداده را در تمام دستورات BPF، نه محدود به BPF_PROG_LOAD، BPF_BTF_LOAD و BPF_MAP_CREATE، فراهم می‌کند. محدودیت ارسال حداکثر ۵ پارامتر به توابع BPF حذف شده است. قابلیت دسترسی ایمن به حافظه مشترک bpf_arena بدون ترس از دسترسی به صفحات حافظه تخصیص نیافته (خطاهای صفحه) اضافه شده است. نسخه جدیدی از ساختار نقشه هش BPF پیاده‌سازی شده است که امکان تغییر اندازه پویا را فراهم می‌کند.
    • تولید خروجی "/proc/interrupts" به همراه آمار وقفه‌ها بهینه شده است، و ساختارهای ذخیره‌سازی شمارنده‌های وقفه مدرن‌سازی شده و قابلیت ذخیره‌سازی موقت (caching) نیز اضافه شده است.
    • تولید فایل "/proc/filesystems" که در libselinux استفاده می‌شود، سرعت گرفته است.
    • زمان‌بند وظایف اکنون از متعادل‌سازی بار در سراسر هسته‌های پردازنده پشتیبانی می‌کند و وضعیت حافظه پنهان داخلی پردازنده را در نظر می‌گیرد. این زمان‌بند اکنون تلاش می‌کند تا فرآیندها را با استفاده از منابع مشترک، مانند نخ‌های درون یک فرآیند واحد، گروه‌بندی کند تا حافظه پنهان سطح بالای یکسانی را به اشتراک بگذارد و با افزایش احتمال یافتن داده‌های مورد نیاز در حافظه پنهان، کارایی دسترسی به داده‌ها را بهبود بخشد.
    • مکانیزم SCHED_EXT که امکان استفاده از BPF برای ایجاد زمان‌بندهای CPU را فراهم می‌کند، همچنان به پیاده‌سازی قابلیت ایجاد زمان‌بندهای تودرتو (زمان‌بندهای فرعی) ادامه داده است که به هر گروه c اجازه می‌دهد از زمان‌بند وظایف خود استفاده کند.
    • ادامه‌ی مهاجرت تغییرات از شاخه‌ی Rust-for-Linuxمربوط به استفاده از Rust به عنوان زبان دوم برای توسعه درایورها و ماژول‌های هسته (پشتیبانی از Rust به طور پیش‌فرض فعال نیست و Rust را به عنوان یک وابستگی اجباری برای ساخت هسته شامل نمی‌شود). پشتیبانی از Rust در هسته برای معماری s390 پیاده‌سازی شده است. بسته "zerocopy" که مقادیر اولیه حافظه سریع را برای کد در حالت "unsafe" فراهم می‌کند، گنجانده شده است.
    • حداقل نسخه مورد نیاز از مجموعه ابزارهای LLVM برای ساخت هسته به 17.0.1 افزایش یافته است.
    • در کتابخانه مینیمالیستی C به نام nolibc، که به همراه کد منبع هسته ارائه شده است Linux و چارچوبی برای فراخوانی‌های سیستمی پایه فراهم می‌کند که از معماری‌های OpenRISC و PA-RISC 32 بیتی پشتیبانی می‌کند.
    • زیرسیستم swap برای بهبود عملکرد و کاهش مصرف حافظه در خود زیرسیستم، با حذف سربار هنگام ذخیره ابرداده‌های استاتیک و یکپارچه‌سازی حافظه ناشناس و مشترک هنگام استفاده از tomeها، بهینه‌سازی شده است. کاهش حافظه کاملاً قابل توجه است؛ به عنوان مثال، نصب یک پارتیشن swap با ظرفیت ۱ ترابایت، مصرف حافظه را تقریباً ۵۱۲ مگابایت کاهش می‌دهد.
    • عملکرد مکانیزم تخلیه حافظه، که حافظه را حذف یا جابجا می‌کند تا در صورت فشار بر سیستم، فضای حافظه را برای آزادسازی آن جابجا کند، بهبود یافته است. تحت بارهای کاری خاص، مانند هنگام آزمایش MongoDB با استفاده از YCSB (Yahoo! Cloud Serving Benchmark)، افزایش عملکرد تا 30٪ مشاهده شده است.
    • دستور "make sbom" به سیستم ساخت اضافه شده است تا لیست‌های SBOM (فهرست مواد نرم‌افزاری) را تولید کند که منعکس‌کننده اجزا، کتابخانه‌ها و وابستگی‌های مورد استفاده در ساخت هسته فعلی و همچنین اطلاعات مجوز آنها است که از هدرهای SPDX در فایل‌های کد به دست آمده است.
    • پیاده‌سازی لوله‌های بدون نام برای مدیریت قفل‌ها بهینه شده است (عملیات تخصیص حافظه به خارج از محدوده قفل منتقل می‌شوند)، که باعث افزایش ۲۱ تا ۴۸ درصدی توان عملیاتی لوله‌های بدون نام و کاهش ۱۷ تا ۳۳ درصدی تأخیر شده است.
  • مجازی سازی و امنیت
    • تخصیص‌دهنده‌ی slab اکنون از استفاده از توکن‌های تخصیص، که در کامپایلر Clang 22 پیاده‌سازی شده‌اند، پشتیبانی می‌کند. توکن‌ها امکان شناسه‌های منحصر به فرد برای عملیات تخصیص حافظه و تخصیص جداگانه‌ی انواع مختلف اشیاء را فراهم می‌کنند تا سوءاستفاده از آسیب‌پذیری‌های سرریز بافر را پیچیده‌تر کنند (با جداسازی، سرریز بافر در یک نوع شیء به راحتی برای آسیب رساندن به انواع دیگر اشیاء مورد سوءاستفاده قرار نمی‌گیرد).
    • مکانیزم AF_ALG که در آسیب‌پذیری Copy Fail برای تغییر داده‌ها در حافظه پنهان صفحه مورد سوءاستفاده قرار می‌گرفت، منسوخ شده و قرار است در نسخه‌های آینده حذف شود. AF_ALG شتاب‌دهنده‌های سخت‌افزاری را برای محاسبات رمزنگاری در Crypto API هسته فعال می‌کند، اما در موقعیت‌های نسبتاً خاص استفاده می‌شود. در هسته ۷.۲، پشتیبانی از ورودی/خروجی ناهمزمان، درایورهای قدیمی و مکانیزم zero-copy در پیاده‌سازی‌های skcipher و aead از AF_ALG حذف شده است. فقط پیاده‌سازی‌های نرم‌افزاری الگوریتم‌های رمزنگاری حفظ شده‌اند و پشتیبانی از شتاب‌دهنده‌های رمزنگاری سخت‌افزاری در Crypto API هسته حذف شده است، زیرا AF_ALG سطح حمله را به طور قابل توجهی گسترش می‌دهد اما در مقایسه با پیاده‌سازی‌های رمزنگاری فضای کاربر، هیچ مزیت عملکردی ارائه نمی‌دهد. AF_ALG در جعبه ابزار Cryptsetup استفاده می‌شد، اما پشتیبانی از آن در نسخه اخیر ۲.۸.۷ حذف شد.
    • مکانیزم IMA (معماری اندازه‌گیری یکپارچگی) که به یک سرویس خارجی اجازه می‌دهد وضعیت زیرسیستم‌های هسته را برای اطمینان از صحت آنها تأیید کند، با پشتیبانی از صادرات جداول داخلی با نتایج اندازه‌گیری به فضای کاربر و حذف آنها از بافرهای هسته برای صرفه‌جویی در حافظه تکمیل شده است.
    • در ماژول Landlock، که ابزارهایی را برای محدود کردن استفاده از اشیاء هسته در اختیار برنامه‌های بدون امتیاز قرار می‌دهد. Linux (سلسله مراتب فایل، سوکت‌های شبکه، ioctl و غیره)، پشتیبانی از کنترل دسترسی به سوکت‌های UDP اضافه شده است، همچنین امکان غیرفعال کردن انتخابی خروجی اطلاعات قفل شیء به لاگ برای جلوگیری از شلوغ شدن لاگ با اطلاعات نامربوط فراهم شده است.
    • هسته از استفاده از تابع strncpy() که تعداد مشخصی از بایت‌ها را از یک رشته ورودی کپی می‌کند، منع شده است. استفاده از strncpy() خطر خطا به دلیل از دست دادن یک کاراکتر تهی در انتهای رشته یا فاصله‌گذاری اضافی با صفر را ایجاد می‌کند. به جای strncpy()، توصیه می‌شود از توابع strscpy() و strscpy_pad() برای کپی کردن رشته‌های با انتهای تهی و همچنین از strtomem_pad()، memcpy_and_pad() و memcpy() برای کپی کردن رشته‌هایی با اندازه ثابت شناخته شده استفاده شود. کار برای منسوخ کردن استفاده از strncpy() در هسته از سال ۲۰۲۰ آغاز شد و نیاز به ۳۶۲ کامیت از ۷۰ توسعه‌دهنده داشت.
    • در هایپروایزر KVM پشتیبانی از افزونه‌های Intel MBEC (کنترل اجرای مبتنی بر حالت) و AMD GMET (تله اجرای حالت مهمان) اضافه شده است که امکان مدیریت جداگانه حقوق اجرای هسته و فضای کاربر را در سیستم‌های مهمان در جداول ترجمه حافظه فراهم می‌کنند. پیش از این، افزونه‌های مجازی‌سازی سخت‌افزاری Intel و AMD به صفحات حافظه اجازه می‌دادند که تنها با یک بیت به عنوان قابل اجرا علامت‌گذاری شوند، و جداسازی مبتنی بر نرم‌افزار حقوق هسته و فضای کاربر در سطح هایپروایزر انجام می‌شد. استفاده از MBEC و GMET بررسی‌های مجوز سمت هایپروایزر را حذف می‌کند و انتقال کنترل‌های منابع‌بر از سیستم مهمان به هایپروایزر VMexit را به میزان قابل توجهی کاهش می‌دهد.
  • زیر سیستم شبکه
    • افزونه‌ی TCP-AO (گزینه‌ی احراز هویت TCP، RFC 5925) به کتابخانه‌ی رمزنگاری جدید libcrypto منتقل شده است که کد را ساده‌تر و عملکرد آن را بهبود می‌بخشد. TCP-AO امکان تأیید هدرهای TCP را با استفاده از کدهای MAC (کد احراز هویت پیام) فراهم می‌کند، که با استفاده از الگوریتم‌های مدرن‌تر HMAC-SHA-1-96 و AES-128-CMAC-96 جایگزین گزینه‌ی TCP-MD5 قبلی می‌شود که بر الگوریتم منسوخ‌شده‌ی MD5 متکی بود.
    • تعداد زیرجریان‌های پشتیبانی‌شده برای اتصالات Multipath TCP (MPTCP) از ۸ به ۶۴ افزایش یافته است.
    • کار برای کاهش استفاده از قفل سراسری rtnl_lock در پشته شبکه هسته ادامه یافت.
    • هسته، پیاده‌سازی پشته پروتکل AppleTalk را که از سال ۱۹۸۵ در رایانه‌های اپل استفاده می‌شد و در دهه ۱۹۹۰ با ... جایگزین شد، حذف کرده است. TCP/IPعلاوه بر این، اجزای فناوری انتقال داده ATM غیرمرتبط با PPPoATM، و همچنین رابط‌های شبکه ARCnet مبتنی بر گذرگاه‌های ISA و PCMCIA، آداپتورهای بلوتوث با رابط PCMCIA، شتاب‌دهنده‌های Chelsea TLS، کد مربوط به ادغام TLS با sockmap و پشتیبانی از باندهای فرکانسی 5/10 مگاهرتز در پشته بی‌سیم cfg80211/mac80211 حذف شده‌اند. به دلیل مشکلات حل نشده مسدودسازی و عدم وجود نگهدارنده‌ها، پیاده‌سازی خاصی از شتاب پردازش TLS مبتنی بر موتور تخلیه بار TCP حذف شده است (پیاده‌سازی تخلیه بار TLS رایج‌تر حفظ شده است). کد سازگاری با x_tables 32 بیتی در سیستم‌های 64 بیتی غیرفعال شده و قرار است حذف شود.
    • درایور pppoe اکنون از مکانیزم‌های GRO (Generic Receive Offload) و GSO (Generic Segmentation Offload) برای شتاب‌دهی سخت‌افزاری در جمع‌آوری و قطعه‌بندی بسته‌ها پشتیبانی می‌کند. استفاده از GRO و GSO به طور قابل توجهی توان عملیاتی ترافیک ورودی را افزایش می‌دهد. به عنوان مثال، در دستگاه‌های MediaTek MT7621 که با یک مترجم آدرس پیکربندی شده‌اند، حداکثر توان عملیاتی از ۱۳۰ مگابیت بر ثانیه به ۶۳۰ مگابیت بر ثانیه افزایش یافته است.
  • Оборудование
    • درایور AMDGPU اکنون شامل پشتیبانی اولیه از فناوری HDMI 2.1 FRL (لینک با نرخ ثابت) است که امکان انتقال ویدیوی فشرده نشده با کیفیت 4K/120Hz و 8K/60Hz را فراهم می‌کند. پشتیبانی از HDMI 2.1 پیش از این به دلیل الزامات صدور مجوز انجمن HDMI در درایورهای متن‌باز دور از دسترس بود، اما AMD اکنون پیاده‌سازی مشابهی را تضمین کرده است.
    • درایور i915 اکنون از تنظیم رنگ پس‌زمینه برای کنترلر نمایشگر پشتیبانی می‌کند. پارامتر pin_params.needs_low_address پیاده‌سازی شده است.
    • کار بر روی درایور Xe DRM (مدیر رندر مستقیم) برای پردازنده‌های گرافیکی مبتنی بر معماری Intel Xe که در کارت‌های گرافیکی سری Intel Arc و گرافیک‌های مجتمع استفاده می‌شود، با شروع پردازنده‌های Tiger Lake ادامه یافت. پشتیبانی اولیه از پلتفرم CRI (جزیره هلالی) اضافه شده است. یک کنترلر سیستم برای پلتفرم‌های Xe3p dGPU پیاده‌سازی شده است.
    • درایور Nouveau مشکلات مربوط به پردازنده گرافیکی NVIDIA GA100 را حل می‌کند.
    • درایور v3d به‌روزرسانی شده است تا امکان مدیریت مصرف برق v3D GPU در بردهای Raspberry Pi را فراهم کند.
    • ما به ادغام اجزای درایور Nova برای پردازنده‌های گرافیکی NVIDIA مجهز به میان‌افزار GSP که از سری NVIDIA GeForce RTX 2000 مبتنی بر ریزمعماری Turing استفاده می‌شوند، ادامه داده‌ایم. این درایور با زبان Rust نوشته شده است. پشتیبانی از پردازنده‌های گرافیکی NVIDIA GA100، Hopper و Blackwell نیز به آن اضافه شده است.
    • پشتیبانی از بردها، SoC و دستگاه‌های ARM اضافه شد: Apple t8122 (M3)، Motorola Edge 30، Nothing Phone 3a، Google Pixel 3a XL، Qualcomm Dragonwing IPQ9650، Huawei Hawi، ZTE zx297520v3، Renesas R-Car M3Le، ASPEED AST27xx، Cortina Gemini، NXP i.MX6/8/9، NXP LX2160A، TI K3 AM62x.

در همان زمان، بنیاد نرم‌افزار آزاد آمریکای لاتین نسخه‌ای از هسته کاملاً رایگان ۶.۱۱ را ایجاد کرد - Linux-libre 7.2-gnu، از عناصر میان‌افزار و درایور حاوی اجزای غیرآزاد یا بخش‌های کد با دامنه محدود توسط سازنده پاک‌سازی شده است. نسخه ۷.۲ شامل یک پاکسازی blob برای درایورهای جدید rt722-sdca و tac5xx2 است. کد پاکسازی برای درایورهای amdgpu، nova core، qcom iris، q6v5، iwlwifi، amdxnda، adreno، r8152 و mt792x به‌روزرسانی شده است. رابط‌های کاربری برای بارگذاری میان‌افزار تنظیم شده‌اند. نام‌های blob در فایل‌های devicetree (dts) برای تراشه‌های ARM پاک‌سازی شده‌اند.

منبع: opennet.ru

خرید هاست قابل اعتماد برای سایت های دارای حفاظت DDoS، سرورهای VPS VDS 🔥 خرید هاستینگ معتبر با محافظت در برابر حملات DDoS، سرورهای VPS و VDS | ProHoster