توسعه دهندگان Mesa در حال بحث در مورد امکان اضافه کردن کد Rust هستند

توسعه دهندگان پروژه مسا بحث می کنند توانایی استفاده از زبان Rust برای توسعه درایورهای OpenGL/Vulkan و اجزای پشته گرافیکی. این بحث توسط Alyssa Rosenzweig، توسعه دهنده راننده آغاز شد پان فراست برای GPU های مالی مبتنی بر ریزمعماری Midgard و Bifrost. ابتکار عمل در مرحله بحث است و هنوز تصمیم خاصی گرفته نشده است.

طرفداران استفاده از Rust توانایی بهبود عملکرد حافظه و حذف مشکلاتی مانند دسترسی به حافظه پس از آزاد شدن، عدم ارجاع اشاره گر تهی و بیش از حد بافر را برجسته می کنند. پشتیبانی Rust همچنین به Mesa این امکان را می‌دهد که توسعه‌های شخص ثالث مانند سیستم رندر نرم‌افزار را شامل شود کازان با پیاده سازی Vulkan graphics API، نوشته شده در Rust.

خاطرنشان می شود که با توجه به استفاده از OpenGL در هنگام اجرای کدهای غیرقابل اعتماد در مرورگرهایی که از WebGL پشتیبانی می کنند، فوریت بهبود امنیت درایور اخیراً افزایش یافته است، که درایورها را به یک بردار مهم برای حملات به سیستم های کاربر تبدیل می کند. در حال حاضر، Mesa از ابزارهایی مانند تحلیل کدهای ralloc و استاتیک برای به حداقل رساندن مشکلات حافظه استفاده می کند، اما استفاده از آنها کافی نیست.

مخالفان اجرای Rust در نظر گرفتن، که بیشتر ویژگی های مفید Rust را می توان با انتقال توسعه به C++ مدرن به دست آورد که با توجه به اینکه بیشتر Mesa به زبان C نوشته شده است جذاب تر به نظر می رسد. از جمله ادله علیه رست نیز ذکر شده است عوارض سیستم های مونتاژ، نه میل اتصال به سیستم بسته محموله،
گسترش الزامات برای محیط مونتاژ و نیاز به گنجاندن Rust کامپایلر به وابستگی های اسمبلی مورد نیاز برای ساخت اجزای کلیدی دسکتاپ در لینوکس.

حرکت به سمت استفاده از Rust برای توسعه نیز در AMD مشاهده شده است که اخیراً انجام شده است جای خالی باز کرد برنامه نویس Rust برای توسعه ابزارهای جدید مرتبط با درایورهای سه بعدی برای پردازنده های گرافیکی Radeon.

منبع: opennet.ru

اضافه کردن نظر