پس از دو ماه توسعه، لینوس توروالدز هسته را منتشر کرد. Linux ۶.۱۲. از جمله قابل توجهترین تغییرات: امکان فعال کردن حالت Realtime، sched_ext برای ایجاد زمانبندهای CPU از طریق eBPF، خروجی کد QR در شرایط اضطراری، مکانیزم TCP حافظه دستگاه، مکانیزم رزرو منابع سرور SCHED_DEADLINE، بهبود زمانبند وظایف EEVDF، ماژول IPE برای تنظیم سیاستهای یکپارچگی.
نسخه جدید شامل 14607 اصلاحات از 2167 توسعه دهنده است، اندازه پچ 37 مگابایت است (تغییرات بر 13087 فایل تأثیر گذاشت، 507913 خط کد اضافه شد، 234083 خط حذف شد). آخرین نسخه دارای 15130 اصلاح از 2078 توسعه دهنده بود، اندازه پچ 85 مگابایت بود (در هسته 6.10 وصله 41 مگابایت حجم داشت). حدود 45 درصد از کل تغییرات معرفی شده در 6.12 مربوط به درایورهای دستگاه، تقریباً 12 درصد تغییرات مربوط به به روز رسانی کدهای خاص معماری سخت افزار، 13 درصد مربوط به پشته شبکه، 6 درصد مربوط به سیستم های فایل و 3 درصد است. مربوط به زیرسیستم های هسته داخلی هستند.
نوآوری های کلیدی در هسته 6.12:
- خدمات حافظه و سیستم
- امکان ساخت هسته با گزینه PREEMPT_RT بدون نیاز به وصلههای اضافی برای عملیات بلادرنگ، اکنون در دسترس است. آخرین ویژگی هسته که از فعال شدن حالت PREEMPT_RT جلوگیری میکرد، پشتیبانی از خروجی اتمی غیر مسدودکننده از طریق تابع printk بود که آن هم در هسته گنجانده شده است. پشتیبانی از PREEMPT_RT برای معماریهای x86، x86_64، ARM64 و RISC-V در دسترس است. تاکنون، پیادهسازی حالت PREEMPT_RT به صورت وصلههای خارجی ارائه میشد که برخی از توزیعها، مانند RHEL، SUSE و ... Ubuntu، نسخههای جداگانهی Realtime از محصولات خود را ایجاد کردند که در زمینههایی مانند سیستمهای مالی، دستگاههای پردازش صدا و تصویر، هوانوردی، پزشکی، رباتیک، مخابرات و سیستمهای صنعتی، که در آنها اطمینان از زمان پردازش رویداد قابل پیشبینی ضروری است، مورد تقاضا هستند.
- مکانیزم "sched_ext" (SCX) اضافه شده است که امکان استفاده از eBPF را برای ایجاد زمانبندهای CPU فراهم میکند که تقریباً تمام جنبههای زمانبندی وظایف و تخصیص منابع CPU را پوشش میدهند. چنین زمانبندهایی میتوانند به صورت پویا در هسته بارگذاری و اجرا شوند. Linux в ماشین مجازی eBPF. مکانیزم sched_ext ایجاد زمانبندهای مختص به وظیفه را ساده میکند، امکان آزمایش با تکنیکها و استراتژیهای مختلف زمانبندی را فراهم میکند و امکان ایجاد سریع نمونههای اولیه کاربردی و جایگزینی در لحظه زمانبندها در زیرساختهای عملیاتی را فراهم میکند. به عنوان مثال، با استفاده از sched_ext، میتوانید زمانبند ایجاد کنید که ویژگیهای خاص یک برنامه خاص را در نظر میگیرد و به صورت پویا استراتژی زمانبندی خود را بسته به وضعیت سیستم و سایر عوامل تغییر میدهد.
- این ترکیب شامل بخش باقی مانده از وصله های لازم برای عملکرد مکانیسم سرور SCHED_DEADLINE است که مشکل استفاده ناکافی از منابع CPU توسط وظایف معمولی را در زمانی که CPU در انحصار وظایف با اولویت بالا (زمان بیدرنگ) است، حل می کند. برای جلوگیری از انحصار CPU، هسته قبلاً از مکانیسم Realtime throttling استفاده می کرد که سعی می کرد 5٪ را برای کارهای با اولویت پایین رزرو کند و 95٪ از زمان را برای کارهای بلادرنگ باقی بگذارد. از آنجایی که کارهای معمولی در بسیاری از موقعیتها زمان کافی برای پردازشگر دریافت نمیکردند، این مکانیسم بسیار مورد انتظار بود. سرور SCHED_DEADLINE مکانیسم رزرو منابع کارآمدتری را پیاده سازی می کند.
- ادغام زمانبندی وظایف EEVDF (اولین مهلت مجاز مجازی اول) تکمیل شده است، که جایگزین زمانبندی CFS (زمانبندی کاملا منصفانه) شد که با هسته 2.6.23 عرضه شده بود. زمانبند جدید، هنگام انتخاب فرآیند بعدی برای انتقال اجرا، فرآیندهایی را در نظر میگیرد که منابع پردازنده کافی دریافت نکردهاند یا به طور غیرمنصفانهای از زمان پردازشگر دریافت کردهاند. در حالت اول، انتقال کنترل به فرآیند اجباری است و در حالت دوم، برعکس، به تعویق می افتد. زمانبند قدیمی CFS از روشهای اکتشافی و تنظیم دقیق برای شناسایی فرآیندهایی که نیاز به توجه ویژه دارند، استفاده میکرد، در حالی که زمانبندی جدید آنها را با وضوح بیشتری دنبال میکند و نیازی به تنظیم دقیق ندارد. انتظار می رود EEVDF تاخیر در کارهایی را که CFS برای آنها مشکل زمان بندی داشته است کاهش دهد.
- در کنترل کننده اضطراری هسته - DRM Panic، که از زیرسیستم DRM (مدیر رندر مستقیم) برای نمایش یک گزارش تصویری به سبک "صفحه آبی مرگ" استفاده می کند، توانایی نمایش لوگو و کد QR با گزارش kmsg در صفحه زمانی که شرایط اضطراری رخ می دهد اضافه شده است. از آنجایی که تنها 2953 بایت در یک کد QR قرار می گیرد، گزینه DRM_PANIC_SCREEN_QR_CODE_URL ارائه شده است که در آن گزارش kmsg با استفاده از zlib فشرده شده و به عنوان پارامتری به URL متصل می شود، که اجازه می دهد حدود 40 بایت از طریق کد QR V7500 منتقل شود. هنگام ساخت بستهها با هسته، توزیعها میتوانند یک URL پایه برای URL تعیین کنند، که به آنها اجازه میدهد تا به صفحهای برای گزارش مشکل حرکت کنند. برای انتخاب قالب کد QR، تنظیم DRM_PANIC_SCREEN_QR_VERSION ارائه شده است.
- پشتیبانی اضافه شده برای ARM POE (Permission Overlay Extension)، که به شما امکان می دهد حقوق دسترسی به مناطق حافظه را تنظیم کنید. با استفاده از این افزونه، در سیستم های دارای پردازنده ARM64، مکانیسم Memory Protection Keys قابل پیاده سازی است که برای محدود کردن دسترسی به صفحات حافظه بدون تغییر جدول صفحه حافظه استفاده می شود.
- برای معماری های Loongarch، ARM64، PowerPC و s390، اجرای فراخوانی سیستم getrandom() منتقل شده است، با استفاده از مکانیزم vDSO (شئ مشترک پویا مجازی) بهینه شده است، که امکان انتقال کنترل کننده تماس سیستم از هسته به کاربر را فراهم می کند. فاصله و از سوئیچ های زمینه اجتناب کنید. بهینه سازی به شما امکان می دهد سرعت تولید اعداد تصادفی را تا 15 برابر افزایش دهید.
- قابلیت استفاده از وقفه های زمانی مطلق، که با رسیدن به زمان معینی در ساعت سیستم آغاز می شود، به زیرسیستم ورودی/خروجی ناهمزمان io_uring اضافه شده است (قبلاً فقط زمان های نسبی را می توان تنظیم کرد که مدت زمان شروع عملیات را نشان می داد. ).
- فایلهایی برای تولید پیوندها برای کتابخانه libcpupower با استفاده از کیت ابزار SWIG اضافه شده است، که به شما امکان میدهد از کد C/C++ برای زبانهای برنامهنویسی مختلف پیوندهایی ایجاد کنید. Bindings به شما امکان می دهد اسکریپت هایی را در پایتون و سایر زبان ها ایجاد کنید و از آنها برای گسترش عملکرد کتابخانه libcpupower استفاده کنید که یک API برای مدیریت cpufreq و درایورها از فضای کاربر ارائه می دهد.
- ابزار cpuidle مقدار «سکونت» حالت غیرفعال را نشان میدهد که برای سیستمهای بلادرنگ استفاده میشود و حداقل زمانی را که پردازنده باید در حالت غیرفعال باشد برای توجیه هزینههای انرژی انتقال به این حالت و خروج از آن در نظر میگیرد.
- قابلیت استفاده از کامپایلر Clang برای ساخت کتابخانه استاندارد C به نام nolibc که در کد منبع هسته گنجانده شده است، اضافه شد. Linux و یک پوشش برای فراخوانیهای سیستمی پایه فراهم میکند. هنگام ساخت nolibc در Clang، بهینهسازی زمان پیوند (LTO) فعال میشود.
- برخی از رابطهای cgroup1 منسوخ شدهاند، مانند حسابداری TCP، نسخه XNUMX محدودیت نرمافزار و مدیریت تخلیه حافظه. پشتیبانی از این ویژگی ها در حال حاضر به طور کامل باقی مانده است و این هشدار برای بررسی تعداد کاربرانی که به استفاده از این ویژگی ها ادامه می دهند، داده شده است.
- قابلیت پیکربندی بافر ردیابی حلقه برای ذخیره دادههای انباشته پس از راهاندازی مجدد اضافه شده است، که به شما امکان میدهد در صورت خرابی هسته، اطلاعات اشکال زدایی انباشته را از دست ندهید. داده ها در حافظه ذخیره می شوند. فعال کردن از طریق پارامتر خط فرمان هسته trace_instance انجام می شود، به عنوان مثال، با تنظیم "trace_instance=boot_map@0x285400000:12M"، 12 مگابایت حافظه در 0x285400000 برای بافر "boot_map" ذخیره می شود، که از طریق فایل /s/ysker در دسترس خواهد بود. /tracing/instances/boot_map.
- ادامهی مهاجرت تغییرات از شاخهی Rust-for-Linuxمربوط به استفاده از Rust به عنوان زبان دوم برای توسعه درایورها و ماژولهای هسته (پشتیبانی از Rust به طور پیشفرض فعال نیست و Rust را در بین وابستگیهای ساخت مورد نیاز هسته شامل نمیشود). ماژولهای 'list' و 'rbtree' برای کار با لیستهای پیوندی مضاعف و درختهای جستجوی قرمز-مشکی اضافه شد. قابلیتهای ماژولهای 'init'، 'sync'، 'types' و 'error' گسترش یافت. امکان استفاده از کد Rust هنگام ساخت هسته با محافظت در برابر حملات Spectre (گزینههای MITIGATION_{RETHUNK,RETPOLINE,SLS})، با استفاده از سیستم اشکالزدایی KASAN، مکانیسمهای محافظت kCFI (یکپارچگی جریان کنترل هسته) و Shadow Call و هنگام استفاده از افزونههای اضافی GCC اضافه شد. یک درایور برای کنترلر اترنت Applied Micro QT2025 PHY، نوشته شده با Rust، اضافه شد. یک وبسایت جداگانه با مستندات تهیه شده است: rust.docs.kernel.org.
- ابزار xdrgen به کد منبع هسته اضافه شده است تا مشخصات XDR (نمایش دادههای خارجی) را به توابع رمزگذاری و رمزگشایی XDR که با استفاده از سبک C اتخاذ شده توسط هسته نوشته شدهاند، تبدیل کند. Linux.
- هسته برای پیادهسازی مکانیزم پوشاندن اشارهگر اصلاح شده است تا تعداد تماسهای آهسته به ()barrier_nospec را در تابع copy_from_user() 64 بیتی که برای کپی دادهها از فضای کاربر در هسته استفاده میشود، کاهش دهد. استفاده از ماسکینگ تست "per_thread_ops" را که تعداد عملیات قابل انجام در یک رشته را 2.6% ارزیابی می کند، سرعت می بخشد.
- یک درایور USB جدید اضافه شده است که به شما امکان می دهد از پروتکل 9pfs به عنوان یک انتقال برای ارسال و دریافت داده ها از یک دستگاه USB هنگام نصب سیستم فایل 9p بر روی USB استفاده کنید (به عنوان مثال، "mount -t 9p -o trans=usbg، aname=/path/to/ fs /mnt/9"). نمونه ای از استفاده از درایور جدید استفاده از آن به جای NFS برای سازماندهی بوت پارتیشن ریشه هنگام توسعه دستگاه های جاسازی شده است.
- زیرسیستم دیسک، I/O و سیستم های فایل
- قابلیت کار با دستگاه های ذخیره سازی که اندازه بلوک آنها بزرگتر از اندازه صفحه حافظه در سیستم است به زیرسیستم VFS اضافه شده است. در سیستم های فایل، این ویژگی در حال حاضر فقط در XFS پشتیبانی می شود.
- زیرسیستم FUSE که به شما امکان میدهد پیادهسازیهایی از سیستمهای فایل را در فضای کاربر ایجاد کنید، پشتیبانی از نقشهبرداری شناسههای کاربر سیستمهای فایل نصبشده را اضافه کرده است که برای تطبیق فایلهای یک کاربر خاص روی یک پارتیشن خارجی نصبشده با کاربر دیگر در پارتیشن فعلی استفاده میشود. سیستم
- یک عملیات fcntl جدید، F_CREATED_QUERY، پیادهسازی شده است که به یک برنامه کاربردی این امکان را میدهد تا تعیین کند که آیا فایلی که با استفاده از پرچم O_CREAT باز شده است ایجاد شده است یا قبلا وجود داشته است.
- قابلیت استفاده از شناسههای نقطه اتصال 64 بیتی منحصر به فرد را به فراخوانی سیستم name_to_handle_at() اضافه کرد تا از شرایط مسابقه در هنگام تجزیه /proc/mountinfo جلوگیری شود.
- اندازه ساختار "فایل" در هسته از 232 به 184 بایت کاهش یافته است که باعث کاهش مصرف حافظه در سیستم هایی می شود که به طور فعال با فایل ها کار می کنند.
- نصب سیستم های فایل برای نصب نقاط در سلسله مراتب proc / مانند /proc/PID/fd ممنوع بود که باعث ایجاد مشکلات امنیتی بالقوه می شد.
- شبه FS NSFS (NameSpace FS)، که برای کار با فضاهای نام استفاده می شود، اطلاعات بیشتری در مورد فضای نام نقاط اتصال ارائه می دهد.
- سیستم فایل EROFS (سیستم فایل فقط خواندنی قابل توسعه) که برای استفاده در پارتیشنهای فقط خواندنی طراحی شده است، اکنون از نصب سیستمهای فایل مستقیماً از تصاویر دیسک ذخیره شده به عنوان فایل پشتیبانی میکند.
- دستورات جدید ioctl XFS_IOC_START_COMMIT و XFS_IOC_COMMIT_RANGE برای تبادل محتوا بین دو فایل به XFS اضافه شده است.
- NFS پشتیبانی از پروتکل "LOCALIO" را اضافه کرده است که به شما امکان میدهد تعیین کنید که آیا کلاینت و سرور NFS روی همان میزبان برای فعال کردن بهینهسازیهای مربوطه.
- در سیستم فایل Btrfs، بهینه سازی عملکرد پیشنهاد شده است، کد بازسازی شده است، ناحیه قفل شدن وسعت در حین عملیات خواندن کاهش یافته است، کار بر روی تبدیل صفحات حافظه برای استفاده از برگه های صفحه ادامه یافته و انتشار خودکار حافظه انجام شده است. برای ساختار btrfs_path پیاده سازی شده است.
- در سیستم فایل Ext4، باگ های مربوط به تخصیص بلوک، مدیریت وسعت، تعهد سریع و ژورنال رفع شده است.
- مجازی سازی و امنیت
- ماژول IPE (اجرای سیاست یکپارچگی) LSM را که توسط مایکروسافت برای گسترش سیستم کنترل دسترسی اجباری موجود ایجاد شده است، اضافه شد. ماژول به شما اجازه می دهد تا یک خط مشی یکپارچگی کلی را برای کل سیستم تعریف کنید، که نشان می دهد کدام عملیات مجاز است و چگونه باید صحت مولفه ها تأیید شود. به عنوان مثال، با استفاده از IPE، می توانید مشخص کنید که کدام فایل های اجرایی مجاز به اجرا هستند، با در نظر گرفتن انطباق آنها با نسخه مرجع با استفاده از هش های رمزنگاری ارائه شده توسط سیستم dm-verity.
- در مرحله کامپایل هسته، میتوان روشهای حفاظتی موجود در برابر آسیبپذیریهای کلاس Spectre را بهطور جداگانه در CPU فعال کرد. Kconfig پارامترهای جدیدی را ارائه می دهد: MITIGATE_MDS (محافظت در برابر آسیب پذیری Microarchitectural Sampling)، MITIGATE_TAA (محافظت در برابر آسیب پذیری TSX Asynchronous Abort)، MITIGATE_MMIO_STALE_DATA (محافظت در برابر آسیب پذیری MMIO Stale Data (MIGATEinLT) ITIGATE_RETBLEED (محافظت در برابر آسیبپذیریهای Retbleed)، MITIGATE_SPECTRE_V1، MITIGATE_SPECTRE_V1 (محافظت در برابر آسیبپذیریهای Spectre)، MITIGATE_SRBDS (محافظت در برابر آسیبپذیری نمونهگیری دادههای بافر ثبت ویژه)، MITIGATE_SSB (محافظتپذیری توسط پاسهای حفاظتی Speculnerability).
- گزینه خط فرمان proc_mem.force_override و مجموعه ای از تنظیمات اسمبلی در Kconfig (PROC_MEM_FORCE_ALWAYS، PROC_MEM_FORCE_PTRACE و PROC_MEM_FORCE_NEVER) برای جلوگیری از تغییرات حافظه از طریق /proc/pid/mem اضافه شد.
- زیرسیستم LSM (Linux ماژول امنیتی) به استفاده از فراخوانیهای استاتیک تغییر یافته است که امنیت و عملکرد را بهبود بخشیده است.
- امکان استفاده از هستههای استاندارد برای معماری ARM64 در محیطهای مهمان که روی ... اجرا میشوند Android-سیستمهایی با هایپروایزر KVM اصلاحشده (KVM محافظتشده).
- ماژول Landlock LSM، که به شما امکان می دهد تعامل گروهی از فرآیندها را با محیط خارجی محدود کنید، مفهوم "محدوده IPC" را برای محدود کردن انتخابی تعامل با محیط های sandbox با استفاده از سوکت ها و سیگنال های یونیکس پیاده سازی می کند. به عنوان مثال، میتوانید اتصالات با استفاده از سوکتهای یونیکس را از یک محیط sandbox به فرآیندهایی که انزوا اعمال نمیکنند، ممنوع کنید، اما اجازه اتصال به پردازشها را در همان محدوده میدهید.
- در هایپروایزر KVM، یک پرچم برای سیستم های مهمان به CPUID اضافه شده است که نشان دهنده پشتیبانی از برنامه های افزودنی AVX10.1 است.
- زیر سیستم شبکه
- مکانیزم Device Memory TCP اضافه شده است که به استفاده از سوکت های شبکه اجازه می دهد تا محتویات حافظه دستگاه های جانبی را مستقیماً از طریق شبکه ارسال کند (حالت کپی صفر) و مستقیماً محتویات بسته های شبکه را در منطقه حافظه دستگاه قرار دهد. سمت گیرنده دادههای ارسال شده در بستهها از کارت شبکه به حافظه دستگاه جانبی یا از حافظه دستگاه به کارت شبکه مستقیماً با دور زدن CPU منتقل میشوند و سرصفحههای بسته به بافرهای هسته معمولی ختم میشوند.
- قابلیت های بسیاری از درایورهای اترنت و بی سیم گسترش یافته است. به عنوان مثال، درایور Intel iwlwifi برای انتقال عملیات RLC/SMPS به سمت سیستمافزار، درایور RealTek rtw89 عملکرد را افزایش داد و از تراشههای RTL8852BT/8852BE-VT (WiFi 6) پشتیبانی کرد، درایور اترنت میکروچیپ پشتیبانی از IEEE 802.3 را اضافه کرد. مشخصات bw (100BASE) -T1) و IEEE 802.3bp، Microsoft vNIC و IBM veth پیاده سازی اترنت مجازی بهبود یافته است. درایورهای جدید برای تراشه های اترنت Realtek RTL9054، RTL9068، RTL9072، RTL9075، RTL9068، RTL9071 و Microchip LAN8650/1 10BASE-T1S MAC-PHY اضافه شد.
- در MPTCP (MultiPath TCP)، گسترش پروتکل TCP برای سازماندهی تحویل بسته های TCP به طور همزمان در طول چندین مسیر از طریق واسط های مختلف شبکه، اندازه وزن های مورد استفاده در مسیریابی از 8 به 16 بیت افزایش می یابد. شناسایی ترافیک گمشده (سیاهچاله) و تعلیق برای مدتی تلاش برای برقراری ارتباط با سیستم هایی که منجر به از دست دادن ترافیک می شود.
- برای IPv6، پشتیبانی برای پرچم «p» در PIO (گزینه اطلاعات پیشوند)، که در تبلیغات RA (تبلیغات روتر IPv6) برای انتخاب مدل استقرار کلاینت از طریق DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) بهجای تخصیص استفاده میشود، اجرا میشود. آدرسهای فردی براساس پیشوندها با استفاده از SLAAC (پیکربندی خودکار آدرس بدون حالت). IPv6 IOAM6 از حالت جدید کپسولهسازی tunsrc پشتیبانی میکند که امکان عملکرد بهتر را فراهم میکند.
- عملکرد بهبود یافته برای پردازش بسته های کنترل IPsec.
- بهبود عملکرد مجموعه قوانین nftables بزرگ فلاشینگ. nfnetlink_queue پشتیبانی از پروتکل SCTP را بهبود بخشیده است.
- Ethtool API پشتیبانی از اتصال چند کارت شبکه به یک رابط شبکه را اضافه کرده است.
- Оборудование
- در درایور AMDGPU، کار برای اجرای پشتیبانی از پردازندههای گرافیکی AMD RDNA4 ("GFX12") ادامه دارد. قابلیت تنظیم مجدد صف های تک تک کارها بدون تنظیم مجدد کل GPU اضافه شده است.
- کار بر روی درایور Xe drm (مدیر رندر مستقیم) برای پردازندههای گرافیکی مبتنی بر معماری Intel Xe، که در کارتهای ویدیویی خانواده Intel Arc و گرافیکهای یکپارچه استفاده میشود، ادامه یافت و با پردازندههای Tiger Lake شروع شد. نسخه جدید شامل پشتیبانی از پردازندههای گرافیکی مبتنی بر ریزمعماری Battlemage و Lunar Lake است. پشتیبانی از اصلاح کننده های Xe2 CCS (Color Control Surface) برای کنترل پارامترهای GPU های یکپارچه و مجزا معرفی شده است.
- درایور i915 توانایی خروجی اطلاعات مربوط به سرعت فن را از طریق رابط HWMON یا sysfs (ویژگی "fan1_input") پیاده سازی می کند. پارامتر "i915.modeset" منسوخ شده است.
- پشتیبانی از پردازندههای گرافیکی A615، A306 و A621 به درایور msm DRM (GPU Qualcomm Adreno) اضافه شده است.
- درایور Nouveau ساختارهای داخلی آن بازسازی و تمیز شده است.
- درایور intel_pstate که پارامترهای مصرف انرژی (P-state) را در سیستمهای دارای پردازندههای اینتل کنترل میکند، پشتیبانی از سیستمهای هیبریدی با CPUهای نامتقارن (ویژگیهای متفاوت) و همچنین پشتیبانی از مدیریت توان پردازندههای مبتنی بر Granite Rapids و Sierra Forest را اضافه کرده است. ریزمعماری ها پشتیبانی از CPU Xeon Granite Rapids به درایور intel_idle اضافه شده است. درایور intel_rapl شناسایی فرآیندهای خانواده AMD 1Ah و پردازنده های Intel ArrowLake-U را فراهم می کند.
- ادامه تغییرات برای پشتیبانی از ARM SoC Snapdragon X Elite که از پردازنده ۱۲ هستهای Oryon و پردازنده گرافیکی Qualcomm Adreno خود کوالکام استفاده میکند. هدف این تراشه استفاده در لپتاپها و رایانههای شخصی است و در بسیاری از تستهای عملکرد از تراشههای Apple M12 و Intel Core Ultra 3H جلوتر است.
- پشتیبانی از بردهای ARM، SoCها و دستگاهها: Broadcom bcm2712 (Raspberry Pi 5)، Renesas R9A09G057 (RZ/V2H)، Qualcomm Snapdragon 414 (MSM8929)، Lenovo ThinkPad T14s Gen 6, Lenovo A6000 XXSP ، Firefly Core-PX6010-JD7 ، Lunzn Fastrhino R35s ، Aspeed Riser ، Agx Orin ، Rockchip Qnap-TS30 ، Huashan PI ، Meta Catalina ، Beagley-AI ، Nanopi R4S Plus ، Exynosauto V68 ، Sophgo SG433 ، QualeMcomm IPQ2 )، Cool Pi CM920 GenBook، Anbernic RG2002XXSP، GameForce Ace، IBM P5332، Kontron i.MX4 OSM-S، NanoPC-T815
- اضافه شدن پشتیبانی از پنل های صفحه نمایش Anbernic RG28XX، On Tat Industrial Company KD50G21-40NT-A1، Innolux G070ACE-LH3، Melfas lmfbx101117480، DMT028VGHMCMI-1D، Microchip A 40XAN08، B116XAT02.3، BOE TV116WUM -LL06.1، BOE NV116WUM-N04.1، BOE NV101WUM-N2، BOE NV140WHM-A41D، BOE NE133WUM-N63G، CMN N116BCA-EA4، CMN N140BCP-EA6، CMN N116BCP-EA2، CSW116M-A2D، CSWNV601WHM-A1D
- زیرسیستم صوتی پشتیبانی از تراشه ها و کدک های RME Digiface USB، AMD ACP 7.1، Mediatek MT6367، MT8365، Realtek RTL1320، C-Media CM9825 را اضافه کرده است. درایورهای صدای قدیمی برای Intel ASoC منسوخ اعلام شده اند و توصیه می شود به جای آن از درایورهای AVS استفاده کنید. بهبودهای زیادی در درایور SoundWire انجام شده است.
منبع: opennet.ru
