Efelychydd RISC-V ar ffurf lliwiwr picsel sy'n eich galluogi i redeg Linux yn VRChat

Mae canlyniadau arbrawf ar drefnu lansiad Linux y tu mewn i ofod rhithwir 3D y gêm ar -lein aml -chwaraewr VRChat, sy'n caniatáu llwytho modelau 3D gyda'u eillwyr eu hunain, wedi'u cyhoeddi. I weithredu'r syniad a genhedlwyd, crëwyd efelychydd pensaernïaeth RISC-V, ei weithredu ar ochr GPU ar ffurf eilliwr picsel (darn) (nid yw VRChat yn cefnogi eillwyr cyfrifiadol ac UAV). Cyhoeddir y cod efelychydd o dan y drwydded MIT.

Mae'r efelychydd yn seiliedig ar weithrediad yn yr iaith C, y defnyddiodd ei greu, yn ei dro, ddatblygiadau'r efelychydd minimalaidd RISCV-RUST, a ddatblygwyd yn yr iaith rhwd. Mae'r cod C wedi'i baratoi yn cael ei gyfieithu i eilliwr picsel yn HLSL, sy'n addas i'w lwytho i mewn i VRChat. Mae'r efelychydd yn darparu cefnogaeth lawn ar gyfer pensaernïaeth set cyfarwyddiadau RV32imasu, uned rheoli cof SV32, a set leiaf o berifferolion (UART ac amserydd). Mae'r galluoedd a baratowyd yn ddigon i lwytho'r cnewyllyn Linux 5.13.5 a'r amgylchedd llinell orchymyn BusyBox sylfaenol, y gallwch ryngweithio'n uniongyrchol ag ef o'r byd rhithwir VRChat.

Efelychydd RISC-V ar ffurf lliwiwr picsel sy'n eich galluogi i redeg Linux yn VRChat
Efelychydd RISC-V ar ffurf lliwiwr picsel sy'n eich galluogi i redeg Linux yn VRChat

Gweithredir yr efelychydd yn yr eilliwr ar ffurf ei wead deinamig ei hun (gwead rendro undod undod), wedi'i ategu gan sgriptiau udon a ddarperir ar gyfer VRChat, a ddefnyddir i reoli'r efelychydd yn ystod ei weithredu. Mae cynnwys yr RAM a chyflwr prosesydd y system efelychu yn cael ei storio ar ffurf gwead, 2048x2048 picsel o faint. Mae'r prosesydd wedi'i efelychu yn gweithredu ar amledd o 250 kHz. Yn ogystal â Linux, gall yr efelychydd hefyd redeg micropython.

Efelychydd RISC-V ar ffurf lliwiwr picsel sy'n eich galluogi i redeg Linux yn VRChat

Er mwyn creu storio data parhaus gyda chefnogaeth ar gyfer darllen ac ysgrifennu, tric yw defnyddio gwrthrych camera wedi'i rwymo i ardal hirsgwar a gynhyrchir gan yr eilliwr a chyfeirio allbwn y gwead wedi'i rendro i fewnbwn y eilliwr. Fel hyn, gellir darllen unrhyw bicsel a ysgrifennwyd yn ystod dienyddiad eilliwr picsel pan fydd y ffrâm nesaf yn cael ei phrosesu.

Wrth gymhwyso eillwyr picsel, mae enghraifft eilliwr ar wahân yn cael ei lansio ochr yn ochr ar gyfer pob picsel gwead. Mae'r nodwedd hon yn cymhlethu gweithrediad yn sylweddol ac mae angen cydgysylltu cyflwr y system efelychiedig gyfan ar wahân a chymharu safle'r picsel wedi'i brosesu â'r wladwriaeth CPU wedi'i hamgodio ynddo neu gynnwys RAM y system a efelychwyd (gall pob picsel amgodio 128 darnau o wybodaeth). Mae angen cynnwys nifer enfawr o sieciau ar y cod eilliwr, er mwyn symleiddio'r gweithrediad y defnyddiwyd Perlpp Perl ohono.



Ffynhonnell: opennet.ru

Ychwanegu sylw