Mesa-ontwikkelaars bespreken het toevoegen van Rust-code

Mesa-projectontwikkelaars zijn aan het discussiëren de mogelijkheid om de Rust-taal te gebruiken om OpenGL/Vulkan-stuurprogramma's en grafische stapelcomponenten te ontwikkelen. De discussie werd geïnitieerd door Alyssa Rosenzweig, driverontwikkelaar panfrost voor Mali GPU's gebaseerd op Midgard- en Bifrost-microarchitecturen. Het initiatief bevindt zich in de discussiefase; er zijn nog geen specifieke beslissingen genomen.

Voorstanders van het gebruik van Rust benadrukken de mogelijkheid om de geheugenprestaties te verbeteren en problemen zoals toegang tot after-free geheugen, null pointer-dereferenties en bufferoverruns te elimineren. Rust-ondersteuning zou Mesa ook in staat stellen om ontwikkelingen van derden op te nemen, zoals een softwarerenderingsysteem Kazan met een implementatie van de Vulkan grafische API, geschreven in Rust.

Opgemerkt wordt dat de urgentie van het verbeteren van de beveiliging van stuurprogramma's recentelijk is toegenomen in het licht van het gebruik van OpenGL bij het uitvoeren van onbetrouwbare code in browsers die WebGL ondersteunen, waardoor stuurprogramma's een belangrijke vector zijn voor aanvallen op gebruikerssystemen. Momenteel gebruikt Mesa al tools zoals ralloc en statische code-analyse om geheugenproblemen te minimaliseren, maar het gebruik ervan is niet voldoende.

Tegenstanders van Rust-implementatie overwegen, dat de meeste nuttige functies van Rust kunnen worden verkregen door de ontwikkeling over te brengen naar het moderne C++, wat aantrekkelijker lijkt gezien het feit dat het grootste deel van Mesa in C is geschreven. Onder de argumenten tegen Rust wordt ook genoemd complicatie montagesystemen, niet verlangen binden aan het vrachtpakketsysteem,
uitbreiding van de eisen aan de montageomgeving en hoeven op te nemen Rust-compiler in de assemblage-afhankelijkheden die nodig zijn om belangrijke desktopcomponenten op Linux te bouwen.

De beweging richting het gebruik van Rust voor ontwikkeling wordt ook waargenomen bij AMD, dat onlangs een vacature geopend Rust-programmeur om nieuwe tools te ontwikkelen met betrekking tot 3D-stuurprogramma's voor Radeon GPU's.

Bron: opennet.ru

Voeg een reactie