Gli sviluppatori di Mesa stanno discutendo la possibilità di aggiungere codice Rust

Sviluppatori del progetto Mesa discutere la capacità di utilizzare il linguaggio Rust per sviluppare driver OpenGL/Vulkan e componenti dello stack grafico. La discussione è stata avviata da Alyssa Rosenzweig, sviluppatrice di driver panfrost per GPU Mali basate su microarchitetture Midgard e Bifrost. L'iniziativa è in fase di discussione; non sono state ancora prese decisioni specifiche.

I sostenitori dell'utilizzo di Rust evidenziano la capacità di migliorare le prestazioni della memoria ed eliminare problemi come l'accesso alla memoria after-free, i dereferenziamenti dei puntatori nulli e i sovraccarichi del buffer. Il supporto di Rust consentirebbe inoltre a Mesa di includere sviluppi di terze parti, come un sistema di rendering del software Kazan con un'implementazione dell'API grafica Vulkan, scritta in Rust.

Va notato che l’urgenza di migliorare la sicurezza dei conducenti è recentemente aumentata alla luce dell’uso di OpenGL durante l’esecuzione di codice non affidabile nei browser che supportano WebGL, il che rende i conducenti un importante vettore di attacchi ai sistemi degli utenti. Attualmente Mesa utilizza già strumenti come ralloc e analisi statica del codice per ridurre al minimo i problemi di memoria, ma il loro utilizzo non è sufficiente.

Oppositori dell'implementazione di Rust prendere in considerazione, che la maggior parte delle funzionalità utili di Rust possono essere ottenute trasferendo lo sviluppo al moderno C++, il che sembra più attraente dato che la maggior parte di Mesa è scritta in C. Tra gli argomenti contro Rust viene menzionato anche complicazione sistemi di assemblaggio, non desiderio vincolarsi al sistema dei pacchi cargo,
espansione dei requisiti per l'ambiente di assemblaggio e è necessario includere Compilatore Rust nelle dipendenze dell'assembly necessarie per creare componenti desktop chiave su Linux.

Il movimento verso l'utilizzo di Rust per lo sviluppo è stato osservato anche da AMD, che di recente ha aperto un posto vacante Programmatore Rust per sviluppare nuovi strumenti relativi ai driver 3D per GPU Radeon.

Fonte: opennet.ru

Aggiungi un commento