Mesa-Entwickler diskutieren die Möglichkeit, Rust-Code hinzuzufügen

Mesa-Projektentwickler diskutieren die Fähigkeit, die Rust-Sprache zum Entwickeln von OpenGL/Vulkan-Treibern und Grafik-Stack-Komponenten zu verwenden. Die Diskussion wurde von Alyssa Rosenzweig, Treiberentwicklerin, initiiert Panfrost für Mali-GPUs basierend auf Midgard- und Bifrost-Mikroarchitekturen. Die Initiative befindet sich in der Diskussionsphase, konkrete Entscheidungen sind noch nicht gefallen.

Befürworter der Verwendung von Rust betonen die Möglichkeit, die Speicherleistung zu verbessern und Probleme wie den Zugriff auf After-Free-Speicher, Nullzeiger-Dereferenzierungen und Pufferüberläufe zu beseitigen. Die Rust-Unterstützung würde es Mesa auch ermöglichen, Entwicklungen von Drittanbietern einzubinden, beispielsweise ein Software-Rendering-System Kazan mit einer in Rust geschriebenen Implementierung der Vulkan-Grafik-API.

Es wird darauf hingewiesen, dass die Dringlichkeit einer Verbesserung der Treibersicherheit in letzter Zeit angesichts der Verwendung von OpenGL bei der Ausführung nicht vertrauenswürdigen Codes in Browsern, die WebGL unterstützen, zugenommen hat, was Treiber zu einem wichtigen Vektor für Angriffe auf Benutzersysteme macht. Derzeit verwendet Mesa bereits Tools wie Ralloc und statische Codeanalyse, um Speicherprobleme zu minimieren, aber deren Einsatz reicht nicht aus.

Gegner der Rust-Implementierung betrachten, dass die meisten nützlichen Funktionen von Rust durch die Übertragung der Entwicklung auf modernes C++ erhalten werden können, was angesichts der Tatsache, dass der größte Teil von Mesa in C geschrieben ist, attraktiver erscheint. Unter den Argumenten gegen Rust wird auch genannt Komplikation Montagesysteme, kein Verlangen an das Frachtpaketsystem binden,
Erweiterung der Anforderungen an die Montageumgebung und einbeziehen müssen Rust-Compiler in die Assembly-Abhängigkeiten ein, die zum Erstellen wichtiger Desktop-Komponenten unter Linux erforderlich sind.

Der Trend hin zur Verwendung von Rust für die Entwicklung ist seit Kurzem auch bei AMD zu beobachten eine Stelle eröffnet Rust-Programmierer entwickelt neue Tools im Zusammenhang mit 3D-Treibern für Radeon-GPUs.

Source: opennet.ru

Kommentar hinzufügen