Mesa-utviklere diskuterer muligheten for å legge til Rust-kode

Mesa prosjektutviklere diskuterer muligheten til å bruke Rust-språket til å utvikle OpenGL/Vulkan-drivere og grafikkstabelkomponenter. Diskusjonen ble initiert av Alyssa Rosenzweig, driverutvikler panfrost for Mali GPUer basert på Midgard og Bifrost mikroarkitekturer. Initiativet er på diskusjonsstadiet, ingen konkrete beslutninger er tatt ennå.

Tilhengere av å bruke Rust fremhever muligheten til å forbedre minneytelsen og eliminere problemer som tilgang til etterfri minne, null-peker-dereferanser og bufferoverskridelser. Ruststøtte vil også tillate Mesa å inkludere tredjepartsutviklinger, for eksempel et programvaregjengivelsessystem Kazan med en implementering av Vulkan graphics API, skrevet i Rust.

Det bemerkes at det haster med å forbedre førersikkerheten nylig har økt i lys av bruken av OpenGL ved kjøring av upålitelig kode i nettlesere som støtter WebGL, noe som gjør drivere til en viktig vektor for angrep på brukersystemer. For tiden bruker Mesa allerede verktøy som ralloc og statisk kodeanalyse for å minimere minneproblemer, men bruken er ikke nok.

Motstandere av Rust-implementering vurdere, at de fleste av de nyttige funksjonene til Rust kan oppnås ved å overføre utvikling til moderne C++, som ser mer attraktivt ut gitt at det meste av Mesa er skrevet i C. Blant argumentene mot Rust nevnes også komplikasjon monteringssystemer, ikke ønske binde seg til lastpakkesystemet,
utvidelse av krav til monteringsmiljø og trenger å inkludere Rust kompilatoren inn i monteringsavhengighetene som kreves for å bygge viktige skrivebordskomponenter på Linux.

Bevegelsen mot å bruke Rust for utvikling er også observert hos AMD, som nylig åpnet en ledig stilling Rustprogrammerer for å utvikle nye verktøy relatert til 3D-drivere for Radeon GPUer.

Kilde: opennet.ru

Legg til en kommentar