Vakakwanisa kumhanyisa Linux pane RISC-V emulator paVRChat

Mazuva mashoma apfuura mhedzisiro yekuyedza yakaburitswa sangano zvichibva pakuvhurwa kwe Linux kernel mukati meiyo 3D chaiyo nzvimbo yemutambo wevazhinji wepamhepo.

Kuedza uku Izvo zvaiitwa paVRChat iyo inobvumidza kurodha 3D mamodheru nema shadhi avo. Kuti uite iyo pfungwa yakafungidzirwa, emulator yakavakirwa paRISC-V dhizaini yakagadzirwa iyo inoitwa padivi reGPU muchimiro chepikseli shader.

Nezve chirongwa

Emulator yakavakirwa pakuitwa mumutauro weC, iyo yakasikwa, zvakare, yakashandisa zviitiko zveiyo minimalist riscv-rust emulator, inozo gadziriswazve mumutauro weRust. Iyo yakagadzirirwa C kodhi inoshandurwa kuita pixel shader mumutauro weHLSL, yakakodzera kurodha muVRChat.

Emulator inopa rutsigiro ruzere rweiyo rv32imasu yekurayira seti yekuvaka, iyo SV32 memory control unit uye yakagadziriswa seti yezvipenga (UART uye timer). Kugadzirira kwakakwanira kukwana kurongedza Linux kernel 5.13.5 uye BusyBox yakakosha yekuraira mutsara nharaunda, iyo iwe yaunogona kutaurirana yakananga kubva kuVRChat rakapusa nyika.

Pakati paKurume 2021, ndakafunga kunyora emulator inokwanisa kumhanya izere neLinux kernel muVRChat. Nekuda kwekukanganisa kwepamhepo kwepuratifomu, chishandiso chakasarudzwa chaifanira kunge chiri shader. Uye mushure memwedzi mishoma yebasa ndave kudada kuunza yekutanga RISC-V CPU / SoC emulator (iyo yandinoziva) muHLSL pixel shader, inokwanisa kumhanyisa kusvika ku250 kHz (pane 2080 Ti) uye bhuti Linux 5.13.5 ine rutsigiro rweMMU.

Iyo emulator inoitwa mumumvuri muchimiro chesimba rayo dhizaini (Kubatana Kwetsika Render Texture), inowedzerwa neUdon zvinyorwa zvakapihwa VRChat, ayo anoshandiswa kudzora emulator panguva yekumhanya.

Iyo huru yekurangarira yezvinyorwa uye processor mamiriro eiyo akateedzerwa system inochengetwa seyakagadzirwa ine saizi ye2048 × 2048 pixels, nokudaro ichishandisa processor yakateedzerwa pa250 kHz. Kunze kweLinux, Micropython inogona zvakare kumhanyisa pane emulator.

Kumhanya Linux ini ndaifunga kuti taizoda kanenge 32 MiB yechirangaridzo chikuru (RAM), asi ngative takachengeteka uye tiite makumi matanhatu neshanu - mutsauko wekuita hauzove mukuru uye panofanirwa kuve neVRAM yakakwana.

Pakutanga, kunetsekana kwekuita kwaive kumhanyisa wachi. Ndokunge, mangani maCPU macircuit anogona kuitwa mune imwechete furemu.

Kuronga kuchengetedza data kushingirira nerutsigiro rwekuverenga nekunyora, hunyengeri hune chekuita nekushandisa chinhu cheKamera chakabatana nenzvimbo yemakona chinoshandiswa inogadzirwa nemumvuri uye ichitungamira kuburitsa kwechakashandurwa dhizaini kune iyo yekuisa iyo shader. Naizvozvo, Chero pixel yakanyorwa panguva yekuitwa kwepikisi shader inogona kuverengwa nekugadzirisa inotevera furemu.

Kana pixel shader yaiswa, imwe yakasarudzika yeiyo shader inodururwa zvakafanana kune pixel imwe neimwe mukugadzirwa.

Ichi chiitiko chinonyanya kuomesa kuitisa uye chinoda kubatana kwakabatana kweiyo nyika yeese akateedzerwa system uye kuenzanisa kwechinzvimbo chepikisi yakagadziriswa pamwe neiyo mamiriro eCUU kana RAM yezvakatemerwa system yakanyorwa mukati mayo (pixel imwe neimwe inogona encode 128 mabits ruzivo).

Mune ino kesi, iyo shader kodhi inoda kuiswa kwenhamba hombe yemacheki, kurerutsa kuitiswa kweiyo perl preprocessor perlpp yakashandiswa.

Kune avo vari kufarira ma specs zvinotaurwa kuti:

  • kodhi iri paGitHub
  • 64 MiB ye RAM kubviswa CPU mamiriro inochengetwa mune 2048 × 2048 pixel (128 bpp) manhamba ese manyorerwo.
  • Kubatana tsika kupa mameseji neiyo buffer kuchinjisa inobvumira encoding / kududzira mamiriro pakati pemafuremu
  • iyo pixel shader inoshandiswa kutevedzera sekomputa uye UAV shader haina kutsigirwa neVRChat

Finalmente kana iwe uchifarira kuziva zvakawanda nezvazvo, unogona kutarisa ruzivo Mune inotevera chinongedzo.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako