Bakwazi ukuqhuba iLinux kwi-RISC-V yesiphelo kwiVRChat

Kwiintsuku ezininzi ezidlulileyo iziphumo zovavanyo zakhutshwa umbutho osekwe kumiliselo lwe I-Linux kernel ngaphakathi kwendawo ebonakalayo ye-3D yomdlalo wabadlali abaninzi kwi-Intanethi.

Olu vavanyo Yenziwe kwiVRChat evumela ukulayishwa kweemodeli ze3D ngezithunzi zazo. Ukuphumeza umbono okhulelweyo, i-emulator esekwe kuyilo lwe-RISC-V yenziwa eqhutywa kwicala le-GPU ngohlobo lwe-pixel shader.

Malunga neprojekthi

I-emulator isekwe kuphumezo kulwimi lwe-C, indalo yayo, yona, isebenzise uphuhliso lwe-riscv-rust emulator encinci, ethi yona iphuhliswe kulwimi lweRust. Ikhowudi ye-C elungiselelwe iguqulelwe kwi-pixel shader kulwimi lwe-HLSL, efanelekileyo ukulayishwa kwiVRChat.

Inkqubo yesiphelo ibonelela ngenkxaso egcweleyo kumyalelo we-rv32imasu usete uyilo, iyunithi yolawulo yememori ye-SV32 kunye neseti encinci yemida (UART kunye nexesha). Izinto esele zenziwe zanele ukulayisha i-kernel ye-Linux 5.13.5 kunye nomgaqo osisiseko we-BusyBox-command, apho unokusebenzisana ngokuthe ngqo kwilizwe elibonakalayo leVRChat.

Malunga no-Matshi 2021, ndaye ndagqiba kwelokuba ndibhale i-emulator ekwazi ukuqhuba i-Linux kernel epheleleyo kwiVRChat. Ngenxa yokusikelwa umda kweli qonga, isixhobo esikhethiweyo kufuneka sibe sisithunzi. Kwaye emva kweenyanga ezimbalwa zomsebenzi ndiyazingca ngokuzisa i-RISC-V yokuqala ye-CPU / SoC emulator (endiyaziyo) kwi-HLSL pixel shader, ekwaziyo ukuya kuthi ga kwi-250 kHz (kwi-2080 Ti) kwaye I-boot Linux 5.13.5 ngenkxaso yeMMU.

I-emulator iphunyezwa kwi-shader ngohlobo lwayo eyomeleleyo (Unity Custom Render Texture), yongezwa yimibhalo ye-Udon ebonelelwe ngeVRChat, esetyenziselwa ukulawula i-emulator ngexesha lokubaleka.

Umxholo ophambili wenkumbulo kunye nemeko yeprosesa yenkqubo yokulingisa igcinwa njengobumba obunobungakanani beepikseli ezingama-2048 × 2048, ngaloo ndlela kusebenze iprosesa ekhutshiweyo kwi-250 kHz. Ngaphandle kweLinux, iMicropython nayo inokuqhutywa kwi-emulator.

Ukuqhuba iLinux bendicinga ukuba siyakudinga ubuncinci ama-32 MiB enkumbulo engundoqo (RAM), kodwa masikhuseleke kwaye senze ama-64-umahluko wentsebenzo awuzukuba mkhulu kwaye kuya kubakho iVRAM eyaneleyo.

Ekuqaleni, eyona nto yayixhalabisa ukusebenza yayisisantya sewotshi. Oko kukuthi, zingaphi imijikelezo ye-CPU enokwenziwa kwisakhelo esinye.

Ukulungiselela ukugcinwa kwedatha ngokuzingisa ngenkxaso yokufunda nokubhala, Kusetyenziswa iqhinga elinxulumene nokusebenzisa into yeKhamera exhunywe kwindawo yoxande eveliswe ngumthunzi kwaye uqondise ukuphuma kobume obunikezelweyo kwigalelo le-shader. Ke ngoko, Nayiphi na i-pixel ebhaliweyo ngexesha lokuphunyezwa kwe-pixel shader inokufundwa ngokuqhubekeka kwesakhelo esilandelayo.

Xa kusetyenziswa i-pixel shaders, imeko eyohlukileyo ye-shader iyagxothwa ngokuhambelana kwipikseli nganye ekubunjweni.

Eli nqaku linzima kakhulu ekuphunyezweni kwaye lifuna ulungelelwaniso olwahlukileyo lobume benkqubo yonke ekhutshelweyo kunye nokuthelekisa imeko yepikseli eqhutyiweyo kunye nemeko ye-CPU okanye umxholo we-RAM wenkqubo ebunjiweyo kuyo (ipikseli nganye inokufaka iikhithi ezili-128 Ulwazi).

Kule meko, ikhowudi ye-shader ifuna ukubandakanywa kwenani elikhulu lokutshekisha, ukwenza lula ukuphunyezwa kwayo kusetyenziswa i-perl preprocessor perlpp.

Okwe abo unomdla kuma-specs kukhankanyiwe ukuba:

  • ikhowudi ikwiGitHub
  • I-64 MiB ye-RAM ithathe imeko ye-CPU igcinwe kwi-pixel engama-2048 × 2048 (128 bpp)
  • Isiko lobumbano linika ubume ngokutshintsha kwesixhobo se-buffer kuvumela imeko yokufaka iikhowudi / ukumisela phakathi kwezakhelo
  • I-pixel shader isetyenziselwa ukulingisa njengekhompyuter kunye ne-UAV shader ayixhaswanga yiVRChat

Gqibela ukuba unomdla wokwazi okungakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.