Các nhà phát triển Mesa đang thảo luận về khả năng thêm mã Rust

Nhà phát triển dự án Mesa đang thảo luận khả năng sử dụng ngôn ngữ Rust để phát triển trình điều khiển OpenGL/Vulkan và các thành phần ngăn xếp đồ họa. Cuộc thảo luận được khởi xướng bởi Alyssa Rosenzweig, nhà phát triển trình điều khiển panfrost dành cho GPU Mali dựa trên vi kiến ​​trúc Midgard và Bifröst. Sáng kiến ​​này đang ở giai đoạn thảo luận, chưa có quyết định cụ thể nào được đưa ra.

Những người ủng hộ việc sử dụng Rust nêu bật khả năng cải thiện hiệu suất bộ nhớ và loại bỏ các vấn đề như truy cập bộ nhớ sau khi trống, hủy tham chiếu con trỏ null và lỗi tràn bộ đệm. Hỗ trợ Rust cũng sẽ cho phép Mesa bao gồm các phát triển của bên thứ ba, chẳng hạn như hệ thống kết xuất phần mềm Kazan với việc triển khai API đồ họa Vulkan, được viết bằng Rust.

Cần lưu ý rằng tính cấp bách của việc cải thiện tính bảo mật của trình điều khiển gần đây đã tăng lên do việc sử dụng OpenGL khi thực thi mã không đáng tin cậy trong các trình duyệt hỗ trợ WebGL, điều này khiến trình điều khiển trở thành trung tâm quan trọng cho các cuộc tấn công vào hệ thống người dùng. Hiện tại, Mesa đã sử dụng các công cụ như ralloc và phân tích mã tĩnh để giảm thiểu các vấn đề về bộ nhớ, nhưng việc sử dụng chúng là chưa đủ.

Những người phản đối việc triển khai Rust xem xét, rằng hầu hết các tính năng hữu ích của Rust có thể có được bằng cách chuyển sự phát triển sang C++ hiện đại, trông hấp dẫn hơn vì hầu hết Mesa được viết bằng C. Trong số các lập luận chống lại Rust cũng được đề cập sự phức tạp hệ thống lắp ráp, không mong muốn liên kết với hệ thống đóng gói hàng hóa,
mở rộng các yêu cầu đối với môi trường lắp ráp và cần bao gồm Trình biên dịch Rust thành các phần phụ thuộc lắp ráp cần thiết để xây dựng các thành phần máy tính để bàn chính trên Linux.

Phong trào sử dụng Rust để phát triển cũng được quan sát thấy ở AMD, gần đây đã mở một vị trí tuyển dụng Lập trình viên Rust để phát triển các công cụ mới liên quan đến trình điều khiển 3D cho GPU Radeon.

Nguồn: opennet.ru

Thêm một lời nhận xét