はじめに
旅行・帰省のときくらいはVRから離れるべきであると思いますが、そのような手元にPCがない状態でもPCVRがしたいという異常者が結構いるので、今回は比較的手軽に外部からPCVRをやる手法について書きたいと思います。
なお、今回はVirtual Desktopそのものの説明は省いていますのでご了承ください。
目次
筆者の環境
ネットワーク機器の設定
ベンチマーク
Wake-on-LANでPCを遠隔起動する(おまけ)
おわりに
参考文献
筆者の環境
| HMD | Meta Quest 3 |
| PC | 自作PC(Windows11 Home) |
| ルータ・AP | Buffalo WXR-6000AX12B |
Virtual Desktopの基本設定
PC側(Streamer)の設定手順
Options → System Settingsで Allow remote connections を有効化

右上の"Allow remote connections"という項目にチェックを入れる
Quest 3(HMD)側の設定
基本的には変更はしないでいいと思いますが、通信環境などに応じて画質やビットレートを調整が必要になるかもしれません。(私は変更しなくても快適に動作しました)
ネットワーク機器の設定
リモート接続を実現するには、自宅ルーターでTCPポート38810、38820、38830、38840を開放する必要があります。
その中で、UPnPによる自動設定か、手動でポート転送の設定を行う必要があります。
UPnPによる自動設定
UPnP(Universal Plug and Play)を有効にすると、Virtual Desktop Streamerが自動的に必要なポートを開放してくれます。
私が使用しているBuffaloの製品では、詳細設定 → セキュリティ → UPnPから有効にできました。ここは各製品によって違うので、あらかじめ設定できるかを確認してください。
ポートを手動で指定して設定
UPnPを使わない場合、以下の4つのTCPポートを手動で転送設定をします。
以下は設定例です。内部IPはPCのプライベートIPです。
| サービス名 | 外部ポート | 内部ポート | プロトコル | 内部IP |
|---|---|---|---|---|
| VD-1 | 38810 | 38810 | TCP | 192.168.x.x |
| VD-2 | 38820 | 38820 | TCP | 192.168.x.x |
| VD-3 | 38830 | 38830 | TCP | 192.168.x.x |
| VD-4 | 38840 | 38840 | TCP | 192.168.x.x |
ベンチマーク
VRにおけるレイテンシは「Motion-to-Photon(動きから表示まで)」で測定され、40ms以下が理想、150ms以上は酔いのリスクがあるらしいです。
Virtual Desktop内蔵統計の見方
設定 → Streaming → Advanced Options → 「Show performance overlay」を有効にすると、以下のデータを見ることができます。
| 指標 | 意味 |
|---|---|
| Framerate | フレームレートとWiFi帯域 |
| Latency | VDの総遅延 |
| Bitrate | ストリーミングデータレート |
| Game | PCでのレンダリング時間 |
| Encoding | GPU圧縮時間 |
| Network | WiFi転送時間 |
| Decoding | Quest側デコード時間 |
VRChatなどのそこまで遅延にシビアでないゲームならば150ms程度でも普通にプレイできると思います。ただし、UdonSaberなどの一部ゲームワールドでは遅延が気になるかもしれません。
Wake-on-LANでPCを遠隔起動する(おまけ)
リモートVRの課題はPCを直接起動できないことです。もちろん、あらかじめ起動してから外出するという解決策もありますが、V睡で浪費した電気代が余分にかかることや、帰省など長い期間つけっぱなしにする場合は故障リスクなども考えられます。そこで、 Wake-on-LAN(WoL) を活用し、必要な時に遠隔から起動することで少しでもリスクを低減させながら、快適にリモートVRをやろうというわけです。
WoLはレイヤー2(MACアドレスベース)で動作するため、インターネット越しに直接マジックパケットを送信できません。なので今回は常時稼働するデバイス(Raspberry Piなど)をWoLリレーとして設置し、Tailscale等のVPN経由でそのデバイスにアクセスする構成を組みます。
PCのWoL設定
BIOS設定
- 「Wake on LAN」または「Power On By PCI-E」を有効化
Windows設定
- デバイスマネージャー → ネットワークアダプター → 詳細設定から、"Wake on Magic Packet" 等の設定項目を有効にする
Raspberry Pi(WoLリレー)のセットアップ
# Tailscaleインストール
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# wakeonlanインストール
sudo apt install wakeonlan
# WoLテスト(MACアドレスは自分のPCのものに置換)
wakeonlan AA:BB:CC:DD:EE:FF
3. リモートからのPC起動
# 外出先のスマホ/PCからTailscale経由でRaspberry PiにSSH
ssh hoge@hoge.domain
# マジックパケット送信
wakeonlan AA:BB:CC:DD:EE:FF
おわりに
このように、Virtual Desktopのリモート接続機能を活用すれば割と簡単に外出先からでも快適にPCVRができるようになります。しかし、UPnP等を有効にする以上、セキュリティリスクは当然あるので、ご自身でリスクを十分に理解した上で行ってください。また、どうしてもセキュリティ面が気になる場合は、VPN等で直接PCと接続するというのも手です。このほかにもたくさんの手法があると思うので、これをベースに、それぞれの環境に合ったやり方を探してみると良いかもしれませんね。
やっぱり帰省時や旅行時ぐらいはVRから離れてみてはいかがでしょうか
最後までお読みいただき、ありがとうございました。