Розробники Mesa обговорюють можливість додавання коду мовою Rust

Розробники проекту Mesa обговорюють можливість використання мови Rust для розробки драйверів OpenGL/Vulkan та компонентів графічного стеку. Ініціатором обговорення стала Аліса Розенцвейг (Alyssa Rosenzweig), яка розвиває драйвер. Панфроз для GPU Mali на базі мікроархітектур Midgard та Bifrost. Ініціатива перебуває на стадії обговорення, конкретних рішень поки що не прийнято.

Прибічники використання Rust висувають на передній план можливість підвищення якості роботи з пам'яттю та позбавлення таких проблем, як звернення до області пам'яті після її звільнення, розйменування нульових покажчиків та вихід за межі буфера. Підтримка Rust також дозволила б включити до складу Mesa сторонні напрацювання, такі як система програмного рендерингу Kazan з реалізацією графічного API Vulkan, написана мовою Rust.

Відзначається, що актуальність підвищення безпеки драйверів останнім часом зросла у світлі використання OpenGL при виконання не заслуговує на довіру коду в браузерах, що підтримують WebGL, що робить драйвери важливим вектором для здійснення атак на системи користувачів. В даний час для мінімізації проблем при роботі пам'яттю в Mesa вже використовуються такі засоби, як ralloc та статичний аналіз коду, але їх застосування недостатньо.

Противники застосування Rust вважають, Що більшість корисних можливостей Rust можна отримати через переклад розробки на сучасний С++, який виглядає більш привабливим в умовах того, що більша частина Mesa написана мовою Сі. З аргументів проти Rust також згадується ускладнення системи збирання, не бажання прив'язуватися до пакетної системи cargo,
розширення вимог до складального оточення та необхідність включення компілятора Rust у складальні залежності, обов'язкові для побудови ключових компонентів робочого столу в Linux.

Рух у бік використання Rust для розробки також спостерігається у компанії AMD, яка днями відкрила вакансію програміста на мові Rust для створення нового інструментарію, пов'язаного з 3D-драйваєрами для GPU Radeon.

Джерело: opennet.ru

Додати коментар або відгук