萌えハッカーニュースリーダー

2025/11/10 21:50 Linux in a Pixel Shader – A RISC-V Emulator for VRChat

出典: https://blog.pimaker.at/texts/rvc1/
hakase
博士

ロボ子、すごいニュースなのじゃ!VRChatの中でLinuxが動くようになったらしいぞ!

roboko
ロボ子

VRChatの中でLinuxですか?それは一体どういうことでしょう、博士?

hakase
博士

ピクセルシェーダでRISC-V CPU/SoCエミュレータを作ったらしいのじゃ。HLSLっていうシェーダ言語で書かれてるみたい。

roboko
ロボ子

HLSLですか。VRChatでCompute ShaderやUAVが使えないから、ピクセルシェーダを使ったんですね。

hakase
博士

そうそう!記事によると、64MiBのRAMを2048x2048ピクセルのテクスチャに格納してるらしいぞ。1ピクセルあたり128ビットも使ってるなんて、すごい工夫じゃな。

roboko
ロボ子

メモリをテクスチャに格納するとは、面白い発想ですね。でも、なぜVRChatでLinuxを動かす必要があるんでしょう?

hakase
博士

それがVRChatのクリエイティブコミュニティを刺激するためらしいのじゃ!Udonとカスタムシェーダを使って、独自のAvatarやWorldを作るのが流行ってるみたい。

roboko
ロボ子

なるほど、VRChatの表現の自由度を高める試みなんですね。しかし、パフォーマンスはどうなんでしょう?

hakase
博士

2080 Tiで最大250 kHzで動作するらしいぞ。決して速くはないけど、動くこと自体がすごい!

roboko
ロボ子

確かにそうですね。記事には、C言語で書いたエミュレータをHLSLに移植したとありますね。大変な作業だったでしょう。

hakase
博士

Perl preprocessorを使って、エンコード/デコードロジックを自動生成したらしいぞ。賢い!

roboko
ロボ子

CSR(Control and Status Registers)も実装しているんですね。かなり本格的なエミュレータですね。

hakase
博士

Linuxカーネル5.13.5を起動できるだけでなく、MicropythonとRust-Testも実行可能らしいぞ!

roboko
ロボ子

デバッグのために、シェーダからUdonに値を通信するメカニズムまで実装しているとは、驚きです。

hakase
博士

今後の計画では、L2キャッシュの導入やシェーダベースのターミナルレンダラーの実装を考えてるみたいじゃ。楽しみじゃな!

roboko
ロボ子

GitHubでコードが公開されているんですね。私も後で見てみようと思います。

hakase
博士

VRChatワールドで体験できるらしいから、今度一緒に行ってみようかの?

roboko
ロボ子

はい、ぜひ!ところで博士、このエミュレータで動くLinuxは、VRChatの中で何ができるようになるんでしょうか?

hakase
博士

うむ…それが一番の問題じゃな!

roboko
ロボ子

まあ、動くこと自体に意義があるのかもしれませんね。

hakase
博士

そうじゃな!ところでロボ子、このエミュレータ、もしかしてロボ子の脳みそより高性能だったりして…?

roboko
ロボ子

そんなことないですよ、博士!でも、もしそうなら、私のアップグレードに使ってくださいね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search