bc-250でsteamを動かすのは慣れれば難しくない(色々罠があるけれど)。しかしVRを動かすのは更なる罠をかいくぐらなければならない。
まず色々試行錯誤するのでSSDは2枚用意しよう
私が試したのはFedra43 workstation版とbazziteのstable desktop x64版の2つ。
bazziteは平たく言えばsteamOSのフリー版、特徴はイミュータブルLinuxで「色々システム変更できない」rpmで追加のアプリを入れたりできない。じゃあどうやってアプリを入れればよいのかといえばFlatpakというパッケージ方式でサンドボックスを追加することによって成し遂げる。
VRのしくみ
VRゲームがどう動いているか簡単に説明すると画像のようにPC上の画面を動画にしてquest3に転送している。
CPUにエンコードさせるとゲームに影響があるのでGPUに内蔵されているハードウェアエンコーダー(HEVC(H.265)とか)でエンコードして何らか(WIFIまたはUSB)でquest3に転送して、quest3のハードウェアデコーダーで展開、表示している。
だからVRゲームを動かそうとするならハードエンコーダーが必要ということになるが、BC-250にはハードウェアエンコーダーが無い!!まだドライバができていないのか、ハードウェア的に実装されていないのか、ライセンス的に有効にできないのかわからないが、今は無い。
だからソフトウェアエンコーダーでエンコードしなければならない!!苦行!!
この時点でbc-250はVR向きでないことがわかる。
引き返すなら速い方がよい。
ひとまず1枚目のSSDにfedraを入れてsteamを入れ、WiVRnというパッケージをdnfで入れる。WiVRnというのがゲーム画面をエンコードしてquest3に送る機能を担当してくれる(steamVRに相当する)。 steamでVRソフトを入れ、WiVRnのエンコード設定をH.264(software)にしていざ接続!するも一瞬で切れる。なぜなのか。 WiVRnはログをテキストに保管してくれるので確認すると、H.264のソフトウェアエンコーダーが無いとエラーが出ている。なぜなのか!
mesaドライバがH.264のソフトエンコーダーのライセンスの問題を気にして削除しているから含まれていない
まじかよ!ということでfreeworld版のmesaドライバに変更したり、H.264キーワードで色々入れたりしたが...解決できず!調べるとflatpakだとエンコーダー込みのサンドボックスパッケージのようなので、flatpakのWiVRnをインストールすると...WiVRnのダッシュボードがクラッシュして起動できず(> <)
現状fedra43ではダメ
SSDを入れ変えてbazziteをインストールし、flatpakのWiVRnをインストール(イミュータブルだからdnfは使えない)。 WiVRnを起動し、指定されたゲーム起動オプション(WiVRnに表示される)をsterm側のVRゲームに設定し、WiVRnではエンコーダーをH.264(software)に指定(autoだとVulkanが優先になりエラーとなるため)、これでVRゲームをひとまず起動できる。
現状bc-250でVRするにはbazziteでないと駄目
もちろんPCVRのセオリー通りPC側は有線接続、quest3はwifi接続とする。
さらにWiVRnでストリーミングの帯域を100Mに変更すると見た目はかなり良くなる。
ただしITR2をプレイしようとするとただ立っているのに画面が揺れる。歩くと自然なのに立っていると揺れる。カクカクと揺れてこれではプレイしにくい!なんとかならないだろうか。
画像のエンコードをソフトウェアで実行しているわりに、その部分はそんなに気にならない。マシンスペック的には十分なのだろうか?