Oculus Rift SをUbuntu 20.04で使用する


今回の作業装置

MSI のゲーミングノート
core i7
nvidia 2060
memory 16G

インストールメディア作成

https://itlogs.net/ubuntu-bootable-usb/
Universal USB Installerを使用してメディアを作成
Ubuntu 20.04をPCにインストール

OSインストール後の作業

sudo apt update && sudo apt upgrade -y && sudo apt install curl git ssh

nvideaのドライバーインストール

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-450

ドライバーインストール時に設定するパスワードは
インストール後の再起動時ににセキュリティブートで解除するパスワードで
起動時に解除作業を行わないとnvideaのドライバーを有効にすることができません。

再起動後設定画面を開くと、グラフィックがNVIDIAに変更されています。

ビルドしたりするのに必要なライブラリをインストール

sudo apt install git curl
sudo apt-get install build-essential cmake libhidapi-dev 

認識作業

OpenHMDをインストール

以下ページを参考
OpenHMD
実際に実行するコマンドは以下の通り

cd ~/
git clone --recursive https://github.com/OpenHMD/OpenHMD.git
cd OpenHMD
mkdir build
cd build
cmake ..
make
sudo make install

ハードウェア認識設定

以下のサイト参考
XR Hardware Rules

sudo apt install python3-pip
pip3 install attr
cd ~/
git clone --recursive https://gitlab.freedesktop.org/monado/utilities/xr-hardware.git
cd xr-hardware
sudo make install

以下コマンドで設定をする

sudo vi /etc/udev/rules.d/83-hmd.rules

設定内容は以下の通り

83-hmd.rules
#Oculus DK1 DK2 CV1
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0666", GROUP="plugdev"
#Vive
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
#Deepoon
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", MODE="0666", GROUP="plugdev"
#Sony PSVR
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"
#OSVR
SUBSYSTEM=="usb", ATTR{idVendor}=="1532", MODE="0666", GROUP="plugdev"
#Pimax 4K
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0666", GROUP="plugdev"
#NOLO CV1
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", MODE="0666", GROUP="plugdev"
#Samsung GearVR
SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev"
#HP Mixed Reality
SUBSYSTEM=="usb", ATTR{idVendor}=="03F0", MODE="0666", GROUP="plugdev"
#Lenovo Mixed Reality
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", MODE="0666", GROUP="plugdev"
#DreamWorld DreamGlass AR
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", MODE="0666", GROUP="plugdev"

steamのインストール

公式サイトからインストールパッケージをダウンロードして
インストール後、再起動します。
再起動後、steamを起動させて、steamVRをダウンロードして一回起動させてください
立ち上げ後、steamVRを閉じてください。

seamvrプラグイン導入

OpenHMDドライバーを使用したSteamVRのプラグインを導入します。
以下のサイトを参考します。
SteamVR Plugin for OpenHMD Drivers

cd ~/
git clone --recursive  https://github.com/ChristophHaag/SteamVR-OpenHMD.git
cd SteamVR-OpenHMD
cd subprojects/openhmd
git pull origin master
cd ../../
mkdir build
cd build
cmake ..
make
cd ../
./unregister.sh

導入後必要なライブラリをインストールします

sudo apt-get install git curl libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 libsdl2-2.0-0
wget https://github.com/ValveSoftware/openvr/raw/master/lib/linux64/libopenvr_api.so
sudo cp libopenvr_api.so /usr/lib/
rm libopenvr_api.so

あと、ヘッドマウントディスプレイを本体認識させるため、/usr/share/X11/xorg.conf.d/10-nvidia.conf
文章に以下の一文を追加します。

Option "AllowHMD" "yes"

設定後終わったら再起動を行います。

VRの起動

SteamVRの起動

起動させる前に以下のコマンドを実行します。

~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrpathreg adddriver ~/SteamVR-OpenHMD/build
cp ~/SteamVR-OpenHMD/steamvr.vrsettings ~/.local/share/Steam/config/steamvr.vrsettings

入力後、USBを接続しゴーグルのLEDが赤点灯に変わったら、DisplayPortを接続します。
そのあとで、SteamVRを立ち上げると、ゴーグルのLEDが赤から白に代わります。

その状態で、画面設定を見ると2番目に縦向きに認識されるため回転させればゴーグル内に画面が映ることを確認できます。(以下の画面を参照)
あと、向きは、縦方向(左向き)に設定するときれいに表示されます。