A Mesa fejlesztői a Rust kód hozzáadásának lehetőségéről tárgyalnak

Mesa projektfejlesztők tárgyalnak a Rust nyelv használatának lehetősége OpenGL/Vulkan illesztőprogramok és grafikus verem komponensek fejlesztésére. A beszélgetést Alyssa Rosenzweig, illesztőprogram-fejlesztő kezdeményezte panfrost Midgard és Bifrost mikroarchitektúrán alapuló Mali GPU-khoz. A kezdeményezés tárgyalási szakaszban van, konkrét döntések még nem születtek.

A Rust használatának támogatói kiemelik a memória teljesítményének javítását és az olyan problémák kiküszöbölését, mint az utófelszabadítás, a nullmutató hivatkozások és a puffertúllépések. A rozsda támogatása azt is lehetővé tenné, hogy a Mesa harmadik féltől származó fejlesztéseket, például szoftveres renderelő rendszert is bevonjon Kazan a Vulkan grafikus API megvalósításával, Rust nyelven írva.

Megjegyzendő, hogy az illesztőprogramok biztonságának javításának sürgőssége a közelmúltban megnőtt, mivel OpenGL-t használnak megbízhatatlan kódok futtatásakor a WebGL-t támogató böngészőkben, ami az illesztőprogramokat a felhasználói rendszerek elleni támadások fontos vektorává teszi. Jelenleg a Mesa már használ olyan eszközöket, mint a ralloc és a statikus kódelemzés a memóriaproblémák minimalizálása érdekében, de ezek használata nem elegendő.

A Rust implementáció ellenzői úgy, hogy a Rust hasznos funkcióinak többsége megszerezhető a fejlesztés modern C++-ra való áthelyezésével, ami vonzóbbnak tűnik, tekintve, hogy a Mesa nagy része C nyelven íródott. A Rust elleni érvek között is megemlítik szövődmény összeszerelő rendszerek, nem vágy kötődik a rakománycsomag rendszerhez,
az összeszerelési környezet követelményeinek bővítése és kell tartalmaznia Rust fordító a kulcsfontosságú asztali összetevők Linux rendszeren történő felépítéséhez szükséges összeállítási függőségekbe.

A Rust fejlesztési célú felhasználása felé irányuló elmozdulás az AMD-nél is megfigyelhető, amely a közelmúltban állást nyitott meg Rust programozó a Radeon GPU-k 3D illesztőprogramjaihoz kapcsolódó új eszközök fejlesztésére.

Forrás: opennet.ru

Hozzászólás