Na latou mafaia ona tamoe Linux i luga o le RISC-V emulator luga VRChat

I aso ua tuanaʻi o faʻaiuga o se faʻataʻitaʻiga na faʻasaʻolotoina faʻalapotopotoga faʻavae i luga o le faʻalauiloaina o le Nofoaga Linux i totonu ole 3D virtual space o se taʻaloga taʻutaʻua multiplayer.

Lenei faʻataʻitaʻiga Na faia luga o le VRChat e faʻatagaina ai le utaina o faʻataʻitaʻi 3D ma a latou lava shaders. Ina ia faʻatinoina le aitia manatu, o se emulator faʻavae i luga o le RISC-V fausaga fausiaina na faia i le GPU itu i le tulaga o se pixel shader.

E uiga i le poloketi

O le emulator e faʻavae i luga o le faʻatinoga i le C gagana, o lona foafoaga, i le isi itu, faʻaaogaina le atinaʻe o le minimalist riscv-ele emulator, lea i le itu e atiaʻe i le gagana Rust. O le C code C ua faʻaliliuina i totonu o le pixel shader i le gagana HLSL, talafeagai mo le utaina i totonu VRChat.

Le emulator maua ai le lagolago atoatoa mo le faʻavasega setiina o faʻatonuga o le rv32imasu, le SV32 manatua faʻatonu vaega ma se seti laititi o peripherals (UART ma timer) O sauniuniga agavaʻa e lava e uta Linux kernel 5.13.5 ma BusyBox faʻavae laina laina siʻosiʻomaga, lea e mafai ai ona e fesoʻotaʻi saʻo mai VRChat tafaʻilagi lalolagi.

I le vaitaimi o Mati 2021, na ou filifili ai e tusi se emulator mafai ona tamoʻe i se atoa kernel Linux i VRChat. Ona o le utiuti tapulaʻa o lena tulaga, o le filifilia mea faigaluega na tatau ona avea ma shader. Ma ina ua tuanaʻi ni nai masina o galuega, ua ou mitamita lava e faʻailoa le muamua RISC-V CPU / SoC emulator (na ou iloa) i le HLSL pixel shader, mafai ona tamoʻe atu i le 250 kHz (luga o le 2080 Ti) ma seevae Linux 5.13.5 ma le MMU lagolago.

O le emulator o loʻo faʻatinoina i le shader i le tulaga o lana ia lava tino foliga (Unity Custom Render Texture), faʻaopopoina e le Udon scripts saunia mo VRChat, lea e faʻaaoga e faʻatonutonu ai le emulator i le taimi e alu ai.

O le autu manatua anotusi ma le faʻagasologa tulaga o le faʻataʻitaʻi le polokalame ua sefeina o se tino ma se tele o 2048 × 2048 pixel, ma faʻagaioia ai le faʻataʻitaʻiga faʻataʻoto i 250 kHz. E ese mai i le Linux, e mafai foi ona tamoʻe le Micropython i luga o le emulator.

Ina ia tamoʻe Linux Sa ou manatu o le a tatou manaʻomia le 32 MiB o le autu manatua (RAM), ae tatou saogalemu ma fai 64 - o le faʻatinoga eseesega o le a le tele ma tatau ona lava VRAM.

Muamua, o le autu faʻatauaina popolega o le uati saosaoa. Lona uiga, e fia CPU taʻamilosaga mafai ona faʻataunuʻuina i le tasi faʻavaa.

Le faʻatulagaina o faʻamaumauga teuina tumau ma lagolago mo faitau ma tusitusi, o se togafiti e faʻatatau i le faʻaaogaina o se Meapueata mea e fesoʻotaʻi i se vaega faatafafa o loʻo faʻaaogaina gaosia e le shader ma faʻatonutonuina le gaosiga o le faʻavasegaina tino i le sao o le shader. O lea, Soʻo se pixel tusia i le taimi o le faʻatinoina o se pixel shader mafai ona faitauina e ala i le faʻagaioiga o le isi faʻavaa.

Pe a faʻaogaina pixel shaders, o se isi tuʻutuʻuga o le shader e faʻapipiʻi tutusa mo pixel taʻitasi i le uiga.

Lenei vaega vaʻaia faigata faʻatinoina ma manaʻomia eseese tuʻufaʻatasia o le setete o le atoa faʻataʻitaʻiga faiga ma faʻatusatusaga o le tulaga o le gaioiga pixel ma le tulaga o le CPU poʻo le RAM anotusi o le faʻataʻitaʻiga faʻapipiʻiina i totonu (taʻitasi pixel mafai encode 128 fasi o faʻamatalaga).

I lenei tulaga, o le shader code e manaʻomia le aofia ai o le tele o siaki, e faʻafaigofie ai le faʻatinoina o le perl preprocessor perlpp na faʻaaogaina.

Mo i latou o loʻo fiafia i le specs ua taua e faapea:

  • o le tulafono o loʻo i luga GitHub
  • 64 MiB o RAM aveʻesea le tulaga o le CPU o loʻo teuina ile 2048 × 2048 pixel (128 bpp)
  • Lotogatasi tuʻufaʻatasia tuʻufaʻatasi tusitusiga ma buffer fesuiaʻi faʻatagaina faʻatulagaina / decoding tulaga i le va o faʻafanua
  • o se pixel shader e faʻaaogaina mo faʻataʻitaʻiga o le compute ma UAV shaders e le lagolagoina e VRChat

Mulimuli pe afai e te fiafia e iloa atili e uiga i ai, oe mafai ona siakiina auiliiliga I le fesoʻotaʻiga lenei.


O mataupu o le tusitusiga e tausisi ia tatou mataupu silisili o amio lelei faʻatonu. E lipotia se mea sese kiliki iinei.

Ia avea muamua ma faamatalaga

Tuʻu lau faamatalaga

o le a le lomia lou tuatusi imeli.

*

*

  1. E tali atu mo faʻamatalaga: Miguel Ángel Gatón
  2. Faamoemoega o faʻamatalaga: Pulea le SPAM, faʻamatalaga pulega.
  3. Tulaga faʻatulafonoina: Lau maliega
  4. Fesoʻotaʻiga o faʻamatalaga: O faʻamatalaga o le a le fesoʻotaʻi atu i isi vaega vagana i tulafono faʻatulafonoina.
  5. Teuina o faʻamatalaga: Faʻamaumauga tuʻufaʻatasia e Occentus Networks (EU)
  6. Aia Tatau: I soo se taimi e mafai ai ona e faʻatapulaʻaina, toe maua ma aveʻese au faʻamatalaga.