
I-Nova i-Direct Rendering Manager entsha (i-DRM) umqhubi wekernel ebhalwe kwi-Rust
Ekubeni i-Nvidia ikhuphe iimodyuli zayo ze-kernel I-GPU njengomthombo ovulekileyo, kwakubonakala ngathi bobabini umqhubi weNvidia ongumnikazi kunye nomqhubi wemithombo evulekileyo ye-Nouveau banokuba nophuculo olukhulu ngamagalelo anokwenziwa luluntu kwaye nokuba ngaxa lithile. I-Nouveau inokuba ulungele umsebenzi.
Emva kweenyanga ezininzi kwaye Uphuhliso lweNouveau luya kuthoba, iRed Hat ithathe inyathelo ngalo mba kwaye kutshanje ubhengeze iindaba ukuba isebenza kwiprojekthi yeNova, ebonisa njengomqhubi omtsha ovulekileyo we-NVIDIA GPUs ephuhliswa kwi-Rust.
Lo mqhubi ibandakanya ukuqaliswa kweGPU kunye nokusebenza kokulawula kwi-firmware, usebenzisa i-microcontroller ye-GSP ezimeleyo. INova iyilwe njengemodyuli yeLinux kernel kwaye isebenzisa i-DRM (uManejala oBonelela ngokuthe ngqo) inkqubo esezantsi. Le projekthi ithathwa njengokuqhubeka kophuhliso lomqhubi we-Nouveau we-GPUs nge-firmware ye-GSP.
UDanilo Krummrich (umnqwazi oBomvu) uyacacisa:
NgeNova sinethuba lokunciphisa kakhulu ubunzima xa kuthelekiswa neNouveau, ngenxa yezizathu ezibini eziphambili. Okokuqala, ulwakhiwo lweNouveau lwembali, ngakumbi malunga ne-nvif/nvkm, luntsonkothile kwaye aluguquguquki kwaye lufuna uhlengahlengiso olukhulu ukusombulula eminye imiba. Okulandelayo, sikwafuna ukuthatha ithuba lokufaka isandla kwiinzame zeRust kwi-kernel kwaye sizuze kukhuseleko olwandisiweyo lwenkumbulo olunikezwa ngolwimi lwenkqubo yeRust.
Ukongeza, kukhankanyiwe ukuba ngophuhliso lweNova, I-Red Hat ijonge ukuthatha ithuba lokuba negalelo kwiinzame zeRust kwi-kernel, njengoko kukhankanyiwe ikhowudi yomqhubi ibhalwe kwiRust kwaye isebenzisa iileya ezininzi ukuphuhlisa abaqhubi bevidiyo kolu lwimi. Ngokomzekelo, umqhubi usebenzisa i-abstractions kwisebe le-Rust-Device ukudala abaqhubi, amacandelo asuka kwi-Rust-Pci yesebe ukuze asebenze nebhasi ye-PCI, kunye nezibophelelo ze-DRM kunye ne-GEM subsystems ukusuka kwisebe le-Rust-DRM.
Kwakhona kukhankanyiwe kuphuhliso drm-asahi Rust umqhubi Apple M1 kunye M2 chip GPUs. Ukusetyenziswa kweRust kulindeleke ukuba kwandise ukhuseleko kunye nokuthembeka komqhubi ngokunciphisa amathuba okuba neempazamo xa usebenza ngememori kunye nokuvumela ukudibanisa komsebenzi kumqhubi wevidiyo kunye nophuhliso lwamacandelo aqhelekileyo kwi-Rust.
Injongo ukusuka eNova ekugqibeleni ube ngumqhubi womthombo ovulekileyo we-NVIDIA Linux, ejoliswe kwi-Turing GPUs kunye neemodeli ezintsha (ingakumbi kwi-RTX 2000 series) exhasa i-GSP. Lo mlawuli omtsha uphuhliswa kwi-Rust ukuphumeza ukukhanya okukhulu kunye nokuguquguquka, okuvezwa njengokhetho oluthembisayo.
Enye ye izizathu ukwenza umlawuli omtsha kukwenza lula inkqubo xa kuthelekiswa neNouveau, ngenxa yokusetyenziswa kwabaqhubi abalungele ukusetyenziswa ababonelelwe yi-firmware ye-GSP. Oku kuthintela ukuntsonkotha okungafunekiyo kwikhowudi yomqhubi we-Nouveau, efuna ukuxhasa ii-NVIDIA GPUs ezindala kunye nokwazisa imiba efana neengozi kwikhowudi ye-VMM/MMU. Ngokuphuhlisa i-Nova ukusuka ekuqaleni kunye nokugxila kuphela kwi-GPUs esekelwe kwi-GSP, kuyathenjwa ukuphepha ezi ngxaki kunye neengxaki.
Ngakolunye uhlangothi, i-Red Hat iphinda ichaze ezinye zeengongoma ezifuna ukujongana nayo, isithi ngokukhetha i-Rust, ingxaki yokuqala yokusombulula kukungabikho kwe-C ebophezelayo kwisiseko sokuphela kwe-kernel:
"umzekelo, ukutsalwa kwesixhobo / umqhubi ... sifuna umsebenzisi wokuthatha indawo ephezulu, kodwa sikwafuna ukutsalwa ukuze senze umqhubi - sifuna ukuphuhlisa iNova phezulu kwaye siqale nge-stub eyenza kuphela i-abstractions embalwa Umhlwa. iziseko.
ekugqibeleni ukuba ukhona unomdla wokwazi ngakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo, kunye nokubonisana nophuhliso kunye nokubonisana nekhowudi yemvelaphi yoku kwindawo yakho yokugcina.