🥽

GCPのGPUマシンでVRでVRChatをプレイする

2025/01/12に公開

環境

  • 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ファイルをインストールしてください。
https://gitlab.freedesktop.org/monado/utilities/vulkan-layers/-/pipelines

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機能を統合したオーバーレイツールです。
必要に応じて以下のリンクからダウンロードしてください。
https://github.com/galister/wlx-overlay-s

VRChatをVRモードで起動する

  1. Envisionを起動し、サーバーとクライアントを接続します。
    接続が成功すると、HMDとコントローラーが認識されている状態になります。
    Envisionの接続状態

  2. VRChatをVRモードで起動します。
    正常に動作すれば、SteamVRを使用せずにVRモードで起動します。

既知の問題点

  • ワールドのロード画面が崩れる: ゲームプレイには支障ありません。
  • Goボタンの自動スキップ: Goボタンを表示する設定にしていても、自動的にスキップされます。

VRChat以外のゲーム

SteamのVRゲームはProtonで動作するものは大抵動きます。
ただ、レンダリングが壊れることが多めなので心配であればALVRを使用したほうが良さそうです。

Discussion