GCPのGPUマシンでVRでVRChatをプレイする
環境
- OS: Ubuntu Server 24.04 LTS (Desktop-minimal)
- GPU: NVIDIA L4 (Driver: 560.35.03 / CUDA: 12.6)
- VRヘッドセット: Meta Quest 2
- VRランタイム: WiVRn (SteamVRの代替)
必要なもの
- 任意のデスクトップ環境 (DE)
- リモートデスクトップツール: xrdpやVNCなど
- GPUドライバ
- proton-ge-rtsp: VRChatをプレイする場合に推奨
- Steam: Flatpak版ではなく、ネイティブ版をインストール
なぜUbuntuを選んだのか?
VRChatはEAC(Easy Anti-Cheat)を採用しており、VM上での動作は公式にサポートされていません。
以前はWindows Server上でGPUインスタンスを立ち上げてVRChatを実行できていましたが、現在はEACがVMを検知して起動をブロックしてしまいます。
そのため、EACが動作しないLinux環境を採用しました。
セットアップ手順
1. monado-vulkan-layersのインストール
NVIDIA GPUを使用している場合、monado-vulkan-layers
が必要です。
以下のリンクからubuntu:jammy:package:archive
をダウンロードし、含まれるdebファイルをインストールしてください。
2. Envisionのセットアップ
EnvisionのリポジトリからAppImageをダウンロードし、以下のコマンドで実行権限を付与します。
chmod +x Envision-*.AppImage
ダブルクリックでEnvisionを起動し、画面下部の▼をクリックしてWiVRn - Envision Default
を選択します。
次に、Build Profile
をクリックし、Missing dependencies
と表示された場合は、表示されたコマンドをコンソールに貼り付けて依存関係をインストールします。
ビルド中に以下のポートを開放してください。
5353/udp
9757/tcp,udp
ビルドが完了したら、Run
をクリックしてWiVRnサーバーを起動し、Meta Quest 2側のWiVRnクライアントとペアリングします。
Start pairing mode
をクリックして表示される6桁のコードを、VR側のWiVRnクライアントに入力して接続します。
3. WlxOverlay-Sのインストール(オプション)
WlxOverlay-Sは、XSOverlayとOVR-Advanced-SettingsのSpaceDrag機能を統合したオーバーレイツールです。
必要に応じて以下のリンクからダウンロードしてください。
VRChatをVRモードで起動する
-
Envisionを起動し、サーバーとクライアントを接続します。
接続が成功すると、HMDとコントローラーが認識されている状態になります。
-
VRChatをVRモードで起動します。
正常に動作すれば、SteamVRを使用せずにVRモードで起動します。
既知の問題点
- ワールドのロード画面が崩れる: ゲームプレイには支障ありません。
- Goボタンの自動スキップ: Goボタンを表示する設定にしていても、自動的にスキップされます。
VRChat以外のゲーム
SteamのVRゲームはProtonで動作するものは大抵動きます。
ただ、レンダリングが壊れることが多めなので心配であればALVRを使用したほうが良さそうです。
Discussion