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

4 октября 2020 года

Разработчики проекта Mesa обсуждают возможность использования языка Rust для разработки драйверов OpenGL/Vulkan и компонентов графического стека. Инициатором обсуждения стала Алиса Розенцвейг (Alyssa Rosenzweig), развивающая драйвер Panfrost для 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.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Разработчики Mesa обсуждают возможность добавления кода на языке Rust», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.