Lawv tau tswj kom khiav Linux ntawm RISC-V emulator ntawm VRChat

Ntau hnub dhau los cov txiaj ntsig ntawm kev sim raug tso tawm koom haum raws li kev tshaj tawm ntawm Linux ntsiav hauv 3D qhov chaw virtual ntawm kev ua si hauv online multiplayer.

Qhov kev sim no Nws tau ua tiav ntawm VRChat uas tso cai thauj cov qauv 3D nrog lawv tus kheej ntxoov ntxoo. Txhawm rau siv lub tswv yim xeeb xeeb, tus emulator raws li RISC-V architecture tau tsim uas yog ua tiav ntawm GPU sab hauv daim ntawv ntawm pixel shader.

Txog txoj haujlwm

Tus emulator yog raws li kev siv ua lus C, nws qhov kev tsim, tig mus, siv qhov kev txhim kho ntawm qhov tsawg tshaj plaws riscv-xeb emulator, uas nyob rau hauv lem yog tsim los hauv Rust lus. Txoj kev npaj C tau muab txhais ua pixel shader hauv HLSL lus, haum rau thauj mus rau VRChat.

Cov emulator muab kev txhawb nqa tag nrho rau rv32imasu cov lus qhia teeb tsa, SV32 lub cim xeeb tswj chav thiab tsawg kawg ntawm cov khoom siv sab nraud (UART thiab timer). Kev npaj muaj peev xwm txaus los thauj Linux ntsiav 5.13.5 thiab BusyBox cov lus txib kab ib puag ncig, uas koj tuaj yeem cuam tshuam ncaj qha los ntawm VRChat lub ntiaj teb virtual.

Nyob ib ncig ntawm Lub Peb Hlis 2021, Kuv txiav txim siab sau tus emulator muaj peev xwm ua haujlwm puv Linux ntsiav hauv VRChat. Vim qhov txwv tsis pub muaj los ntawm lub platform ntawd, cov cuab yeej xaiv yuav tsum yog tus duab ntxoov ntxoo. Thiab tom qab ob peb lub hlis ntawm kev ua haujlwm tam sim no kuv txaus siab qhia lub ntiaj teb thawj RISC-V CPU / SoC emulator (uas kuv paub ntawm) hauv HLSL pixel shader, muaj peev xwm khiav tau txog 250 kHz (ntawm 2080 Ti) thiab khau raj Linux 5.13.5 nrog MMU txhawb nqa.

Tus emulator tau ua tiav nyob rau hauv tus duab ntxoov ntxoo hauv nws daim ntawv zoo nkauj (Unity Custom Render Texture), ntxiv los ntawm Udon cov ntawv sau rau VRChat, uas yog siv los tswj cov emulator ntawm runtime.

Lub ntsiab lus nco tseem ceeb thiab lub xeev cov txheej txheem ntawm cov kab ke ua haujlwm tau txais kev cawmdim raws li kev ntxhib los mos nrog qhov loj ntawm 2048 × 2048 pixels, yog li ua haujlwm cov qauv ua haujlwm ntawm 250 kHz. Dhau li ntawm Linux, Micropython kuj tseem tuaj yeem ua haujlwm ntawm tus emulator.

Txhawm rau khiav Linux Kuv xav tias peb yuav xav tau tsawg kawg 32 MiB ntawm lub cim xeeb tseem ceeb (RAM), tab sis cia peb muaj kev nyab xeeb thiab ua 64 - kev ua haujlwm sib txawv yuav tsis loj thiab yuav tsum muaj VRAM txaus.

Thaum xub thawj, qhov kev txhawj xeeb tseem ceeb yog moos ceev. Ntawd yog, pes tsawg CPU kev tuaj yeem ua tiav hauv ib kab.

Txhawm rau npaj cov ntaub ntawv khaws cia pheej nrog txhawb rau kev nyeem ntawv thiab sau ntawv, ib qho dag uas cuam tshuam nrog kev siv Lub Koob Yees Duab cov khoom txuas nrog rau thaj tsam ib puag ncig tau siv tsim los ntawm tus shader thiab coj cov txiaj ntsig ntawm qhov ua kom pom kev zoo rau cov tswv yim ntawm tus shader. Yog li ntawd, Txhua lub pixel sau thaum ua tiav ntawm tus duab ntxoov ntxoo pixel tuaj yeem nyeem los ntawm kev ua tus ncej tom ntej.

Thaum siv pixel shaders, ib qho piv txwv ntawm tus duab ntxoov ntxoo raug rho tawm ua haujlwm sib luag rau txhua lub pixel hauv kev ntxhib los mos.

Cov yam ntxwv no ua rau muaj kev cuam tshuam ntau ntxiv thiab yuav tsum muaj kev sib koom ua ke ntawm lub xeev ntawm tag nrho cov qauv kev ua haujlwm thiab kev sib piv ntawm txoj haujlwm ntawm cov txheej txheem pixel nrog lub xeev ntawm CPU lossis RAM cov ntsiab lus ntawm cov kab ke ua kom zoo sib xws hauv nws (txhua lub pixel tuaj yeem nkag tau 128 khoom ntawm cov ntaub ntawv).

Hauv qhov no, tus lej shader xav kom suav nrog ntau qhov kev txheeb xyuas, txhawm rau ua kom yooj yim rau kev siv uas tau siv prel preprocessor perlpp.

Rau cov uas yog txaus siab rau qhov tshwj xeeb nws tau hais tias:

  • qhov chaws nyob ntawm GitHub
  • 64 MiB ntawm RAM rho tawm CPU lub xeev tau khaws cia hauv 2048 × 2048 pixel (128 bpp) cov qauv sib xyaw ua ke
  • Kev sib sau ua ke kev cai ua kom muaj kev ntxhib los mos nrog kev sib pauv tsis pub tso cai rau nkag / txiav txim siab lub xeev ntawm cov thav duab
  • pixel shader tau siv rau kev ua raws li kev suav thiab UAV shaders tsis txhawb los ntawm VRChat

Thaum kawg yog koj txaus siab xav paub ntxiv txog nws, koj tuaj yeem tshawb xyuas cov ntsiab lus Hauv txuas hauv qab no.


Cov ntsiab lus ntawm tsab xov xwm ua raws li peb cov ntsiab cai ntawm kev tswj hwm kev ncaj nceesCov. Tshaj tawm ib qho yuam kev nyem no.

Yog thawj tus tuaj tawm tswv yim

Tso koj saib

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau teb cov cim nrog *

*

*

  1. Lub luag haujlwm rau cov ntaub ntawv: Miguel Ángel Gatón
  2. Lub hom phiaj ntawm cov ntaub ntawv: Tswj SPAM, kev tswj xyuas tawm tswv yim.
  3. Sau raws cai: Koj kev tso cai
  4. Kev sib txuas lus ntawm cov ntaub ntawv: Cov ntaub ntawv yuav tsis raug xa mus rau lwm tus neeg thib peb tsuas yog los ntawm kev txiav txim siab raug cai.
  5. Cov ntaub ntawv khaws cia: Cov Ntaub Ntawv khaws tseg los ntawm Occentus Networks (EU)
  6. Txoj Cai: Txhua lub sijhawm koj tuaj yeem txwv, rov qab thiab tshem tawm koj cov ntaub ntawv.