Pengembang Mesa sedang mendiskusikan kemungkinan menambahkan kode Rust

Pengembang Proyek Mesa sedang berdiskusi kemampuan untuk menggunakan bahasa Rust untuk mengembangkan driver OpenGL/Vulkan dan komponen tumpukan grafis. Diskusi diprakarsai oleh Alyssa Rosenzweig, driver developer embun beku untuk GPU Mali berdasarkan mikroarsitektur Midgard dan Bifrost. Inisiatif ini masih dalam tahap diskusi; belum ada keputusan spesifik yang diambil.

Pendukung penggunaan Rust menyoroti kemampuan untuk meningkatkan kinerja memori dan menghilangkan masalah seperti mengakses memori setelah bebas, dereferensi penunjuk nol, dan buffer overruns. Dukungan Rust juga memungkinkan Mesa menyertakan pengembangan pihak ketiga, seperti sistem rendering perangkat lunak Kazan dengan implementasi API grafis Vulkan, yang ditulis dalam Rust.

Perlu dicatat bahwa urgensi untuk meningkatkan keamanan driver baru-baru ini meningkat mengingat penggunaan OpenGL ketika mengeksekusi kode yang tidak dapat dipercaya di browser yang mendukung WebGL, yang menjadikan driver sebagai vektor penting untuk serangan terhadap sistem pengguna. Saat ini Mesa sudah menggunakan alat seperti ralloc dan analisis kode statis untuk meminimalkan masalah memori, namun penggunaannya saja tidak cukup.

Penentang implementasi Rust pertimbangkan, bahwa sebagian besar fitur Rust yang berguna dapat diperoleh dengan mentransfer pengembangan ke C++ modern, yang terlihat lebih menarik mengingat sebagian besar Mesa ditulis dalam C. Di antara argumen yang menentang Rust juga disebutkan komplikasi sistem perakitan, bukan keinginan mengikat ke sistem paket kargo,
perluasan persyaratan untuk lingkungan perakitan dan perlu disertakan Kompiler karat ke dalam dependensi perakitan yang diperlukan untuk membangun komponen desktop utama di Linux.

Pergerakan menuju penggunaan Rust untuk pengembangan juga diamati di AMD, yang baru-baru ini membuka lowongan Pemrogram Rust akan mengembangkan alat baru terkait driver 3D untuk GPU Radeon.

Sumber: opennet.ru

Tambah komentar