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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

そんなことないですよ、博士!でも、もしそうなら、私のアップグレードに使ってくださいね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
