Tá forbróirí Mesa ag plé an fhéidearthacht cód Rust a chur leis

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

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

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

Противники внедрения Rust breithnigh, что большую часть полезных возможностей Rust можно получить через перевод разработки на современный С++, который выглядит более привлекательным в условиях того, что большая часть Mesa написана на языке Си. Из доводов против Rust также упоминается casta системы сборки, не желание привязываться к пакетной системе cargo,
расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.

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

Foinse: oscailtenet.ru

Add a comment