De ontwikkelaars van het Mesa-project De mogelijkheid om de Rust-taal te gebruiken voor de ontwikkeling van OpenGL/Vulkan-drivers en grafische stackcomponenten. De discussie werd geïnitieerd door Alyssa Rosenzweig, die de driver ontwikkelt. voor Mali GPU's gebaseerd op de Midgard- en Bifrost-microarchitectuur. Het initiatief is momenteel in bespreking, maar er zijn nog geen specifieke beslissingen genomen.
Voorstanders van Rust benadrukken de mogelijkheid om geheugenbeheer te verbeteren en problemen zoals toegang na vrijgave, null pointer dereferences en buffer overruns te elimineren. Rust-ondersteuning zou Mesa ook in staat stellen om ontwikkelingen van derden te integreren, zoals een software rendering systeem. met een implementatie van de Vulkan grafische API, geschreven in de Rust-taal.
Het belang van het verbeteren van de beveiliging van drivers is de laatste tijd toegenomen dankzij het gebruik van OpenGL bij het uitvoeren van niet-vertrouwde code in browsers die WebGL ondersteunen. Dit maakt drivers een belangrijk doelwit voor aanvallen op gebruikerssystemen. Momenteel worden tools zoals ralloc en statische codeanalyse al in Mesa gebruikt om problemen met geheugen te minimaliseren, maar het gebruik ervan is niet voldoende.
Tegenstanders van de adoptie van Rust dat de meeste nuttige functies van Rust kunnen worden verkregen door de ontwikkeling te verplaatsen naar modern C++, wat aantrekkelijker lijkt gezien het feit dat het grootste deel van Mesa in C is geschreven. Een ander argument tegen Rust is dat assemblagesystemen, verbinding maken met het vrachtpakketsysteem,
uitbreiding van de eisen voor de gebouwde omgeving en Afhankelijkheden van de Rust-compiler die nodig zijn om belangrijke desktopcomponenten te bouwen. Linux.
De beweging richting het gebruik van Rust voor ontwikkeling is ook te zien bij AMD, dat onlangs Rust-programmeur om nieuwe tools te ontwikkelen met betrekking tot 3D-drivers voor Radeon GPU's.
Bron: opennet.ru
