「Oculus Rift」の版間の差分
細 (1版 をインポートしました) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを修正) |
||
(2人の利用者による、間の5版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:グラフィック]] |
+ | [[Category:グラフィックス]] |
[[en:Oculus Rift]] |
[[en:Oculus Rift]] |
||
Oculus Rift は [http://www.oculusvr.com/ Oculus VR] によって開発されているバーチャルリアリティヘッドマウントディスプレイです。 |
Oculus Rift は [http://www.oculusvr.com/ Oculus VR] によって開発されているバーチャルリアリティヘッドマウントディスプレイです。 |
||
+ | ==インストール== |
||
− | ==基本設定== |
||
===ハードウェア=== |
===ハードウェア=== |
||
− | Oculus Rift のデバイスは HDMI によってセカンダリディスプレイとしてグラフィックカードに接続します。センサーとして使うには USB でも接続します。{{Aur|oculus-udev}} パッケージが適当な [[ |
+ | Oculus Rift のデバイスは HDMI によってセカンダリディスプレイとしてグラフィックカードに接続します。センサーとして使うには USB でも接続します。{{Aur|oculus-udev}} パッケージが適当な [[udev]] ルールを設定します。 |
− | + | 完全に利用するには {{ic|input}} と {{ic|video}} グループにユーザーを追加する必要があります。{{ic|plugdev}} グループは必要なくなりました (モードは 0666 に設定されます)。 |
|
===SDK=== |
===SDK=== |
||
+ | 公式の Oculus Rift SDK はAUR のパッケージ {{Aur|oculus-rift-sdk}}{{Broken package link|パッケージが存在しません}} からインストールすることができます。CMake ビルドの対応などの修正が加えられたバージョンは {{Aur|oculus-rift-sdk-jherico-git}} でインストールすることが可能です。 |
||
− | ====パッケージ==== |
||
− | 公式の Oculus Rift SDK は公式の arch パッケージには含まれていませんが、AUR のパッケージ {{Aur|oculus-rift-sdk-jherico-git}} からインストールすることが可能です。 |
||
パッケージは X セッションが起動した時に {{ic|oculusd}} デーモンが実行されるように設定します。パッケージをインストールして X を再起動すれば自動的にバックグラウンドで実行されます。 |
パッケージは X セッションが起動した時に {{ic|oculusd}} デーモンが実行されるように設定します。パッケージをインストールして X を再起動すれば自動的にバックグラウンドで実行されます。 |
||
− | === |
+ | ===ビデオモード=== |
− | SDK は [https://developer.oculusvr.com/ Oculus VR Developer Center] で無料の登録をすれば入手できます。 |
||
+ | Rift を適切に機能させるには、特定のビデオモードを使う必要があります。特に、リフレッシュレートが低い通常のモニタと同じビデオモードを使っている場合、ゲームのリフレッシュレートも低くなってしまいます。 |
||
− | SDK をコンパイルしてから WorldDemo を実行して確認してください: |
||
+ | Rift をプライマリモニタにしないと、同期が正しく動作しません。 |
||
− | $ tar zxvf ovr_sdk_linux_4.0.3.tar.gz |
||
+ | |||
− | $ cd OculusSDK |
||
+ | {{Note|ディスプレイを回転させると遅延フレームが発生し、Windows における Extended Mode と同じ状態になります。ディスプレイを回転しない場合、遅延がなくなります (Windows の Direct Mode と同等)。残念ながらディスプレイを回転しない状態で動作するアプリケーションは一部に限られています。問題なく動作するかアプリケーションごとにテストする必要があります。}} |
||
− | $ make |
||
+ | |||
− | $ ./Samples/OculusWorldDemo/Release/OculusWorldDemo_x86_64_Release |
||
+ | ====手動で xrandr を使う==== |
||
+ | |||
+ | プライマリディスプレイが DVI-I-2 で DVI-I-3 が Rift の場合、1152x864 が 75Hz をサポートする最大解像度です。使用するには: |
||
+ | |||
+ | $ xrandr --output DVI-I-3 --primary --rotate left --mode 1080x1920 --rate 75 --auto --output DVI-I-2 --mode 1152x864 --rate 75 --auto --same-as DVI-I-3 --scale-from 1920x1080 |
||
+ | |||
+ | Rift SDK ではセカンダリディスプレイの回転を推奨していませんが、回転しないと多くのプログラムで問題が発生します。以下のコマンドはプライマリディスプレイをディスプレイ全体の拡大版として設定します。パンしたい場合、{{ic|--scale-from}} を {{ic|--panning}} に変更してください: |
||
+ | |||
+ | $ xrandr --output DVI-I-3 --primary --rotate left --mode 1080x1920 --rate 60 --auto --output DVI-I-2 --mode 1920x1080 --rate 60 --auto --same-as DVI-I-3 --scale-from 1920x1080 |
||
+ | |||
+ | xrandr --auto を使用した場合、ディスプレイが乱れることがあります。以下のコマンドを使ってひとつのモニターに戻してください: |
||
+ | |||
+ | $ xrandr --output DVI-I-2 --primary --auto --rotate normal --panning 1920x1080 --scale 1x1 --output DVI-I-3 --off |
||
+ | |||
+ | ==動作するアプリケーション== |
||
+ | |||
+ | [[バーチャルリアリティ#対応ソフトウェア]]を参照。 |
||
+ | |||
+ | ==トラブルシューティング== |
||
+ | |||
+ | ===DK2 カメラによってカーネルログが埋まってしまう=== |
||
+ | |||
+ | カーネルログに以下のようなメッセージが大量に表示される場合: |
||
+ | |||
+ | xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? |
||
+ | |||
+ | USB 3.0/Hybrid 2.0/3.0 端子で Oculus DK2 Camera に何らかの問題が起こっています。USB 2.0 端子に接続してみてください。 |
||
+ | |||
+ | ===サスペンド/復帰後にカメラの挙動がおかしい=== |
||
+ | |||
+ | サスペンド・復帰してから Rift を使用すると、カメラが位置トラッキングデータをよこさなくなって、VR プログラムが位置トラッキングできなくなることがあります。`ovrd` プロセスを終了しようとすると、ロックアップして親プロセス (ウィンドウマネージャ) が終了するまでゾンビプロセスになります。復帰後に、DK2 カメラを一度抜いてから再度接続することで問題は解決します。 |
||
+ | |||
+ | ===古いアプリケーションで読み込みが遅延する=== |
||
+ | |||
+ | 何らかの理由で、ovrd の 0.4.4 以下を使用するようにコンパイルされたアプリケーションで {{ic|ovrd}} の 0.5.0 以上を使用すると読み込みが遅延します。古いアプリケーションを使用すると、まるで泳いでいるかのような表示になってしまいます。古いバージョンの SDK をインストールすることで解決します。 |
||
+ | |||
+ | ===xrandr 実行時に Oculus DK1 がモニターとして認識されなかったり切断中と表示される=== |
||
+ | |||
+ | 最新の NVIDIA ドライバーではヘッドマウンドディスプレイ (Oculus DK1 など) を標準のモニターとして使用するかどうか指定する AllowHMD オプションが追加されています。NVIDIA はデフォルトで NO に設定しているため、DK1 が切断中と表示されます。以下のコマンドを実行することで解決できます: |
||
+ | # nvidia-xconfig --allow-hmd=yes |
||
+ | |||
+ | もしくは {{ic|/etc/X11/xorg.conf}} の Screen セクションに手動で {{ic|Option "AllowHMD" "yes"}} を追加してください。 |
||
+ | |||
+ | ソース: https://forums.oculus.com/developer/discussion/34407/gnu-linux-plans#Comment_566814 |
2024年9月3日 (火) 22:40時点における最新版
Oculus Rift は Oculus VR によって開発されているバーチャルリアリティヘッドマウントディスプレイです。
目次
インストール
ハードウェア
Oculus Rift のデバイスは HDMI によってセカンダリディスプレイとしてグラフィックカードに接続します。センサーとして使うには USB でも接続します。oculus-udevAUR パッケージが適当な udev ルールを設定します。
完全に利用するには input
と video
グループにユーザーを追加する必要があります。plugdev
グループは必要なくなりました (モードは 0666 に設定されます)。
SDK
公式の Oculus Rift SDK はAUR のパッケージ oculus-rift-sdkAUR[リンク切れ: パッケージが存在しません] からインストールすることができます。CMake ビルドの対応などの修正が加えられたバージョンは oculus-rift-sdk-jherico-gitAUR でインストールすることが可能です。
パッケージは X セッションが起動した時に oculusd
デーモンが実行されるように設定します。パッケージをインストールして X を再起動すれば自動的にバックグラウンドで実行されます。
ビデオモード
Rift を適切に機能させるには、特定のビデオモードを使う必要があります。特に、リフレッシュレートが低い通常のモニタと同じビデオモードを使っている場合、ゲームのリフレッシュレートも低くなってしまいます。
Rift をプライマリモニタにしないと、同期が正しく動作しません。
手動で xrandr を使う
プライマリディスプレイが DVI-I-2 で DVI-I-3 が Rift の場合、1152x864 が 75Hz をサポートする最大解像度です。使用するには:
$ xrandr --output DVI-I-3 --primary --rotate left --mode 1080x1920 --rate 75 --auto --output DVI-I-2 --mode 1152x864 --rate 75 --auto --same-as DVI-I-3 --scale-from 1920x1080
Rift SDK ではセカンダリディスプレイの回転を推奨していませんが、回転しないと多くのプログラムで問題が発生します。以下のコマンドはプライマリディスプレイをディスプレイ全体の拡大版として設定します。パンしたい場合、--scale-from
を --panning
に変更してください:
$ xrandr --output DVI-I-3 --primary --rotate left --mode 1080x1920 --rate 60 --auto --output DVI-I-2 --mode 1920x1080 --rate 60 --auto --same-as DVI-I-3 --scale-from 1920x1080
xrandr --auto を使用した場合、ディスプレイが乱れることがあります。以下のコマンドを使ってひとつのモニターに戻してください:
$ xrandr --output DVI-I-2 --primary --auto --rotate normal --panning 1920x1080 --scale 1x1 --output DVI-I-3 --off
動作するアプリケーション
トラブルシューティング
DK2 カメラによってカーネルログが埋まってしまう
カーネルログに以下のようなメッセージが大量に表示される場合:
xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
USB 3.0/Hybrid 2.0/3.0 端子で Oculus DK2 Camera に何らかの問題が起こっています。USB 2.0 端子に接続してみてください。
サスペンド/復帰後にカメラの挙動がおかしい
サスペンド・復帰してから Rift を使用すると、カメラが位置トラッキングデータをよこさなくなって、VR プログラムが位置トラッキングできなくなることがあります。`ovrd` プロセスを終了しようとすると、ロックアップして親プロセス (ウィンドウマネージャ) が終了するまでゾンビプロセスになります。復帰後に、DK2 カメラを一度抜いてから再度接続することで問題は解決します。
古いアプリケーションで読み込みが遅延する
何らかの理由で、ovrd の 0.4.4 以下を使用するようにコンパイルされたアプリケーションで ovrd
の 0.5.0 以上を使用すると読み込みが遅延します。古いアプリケーションを使用すると、まるで泳いでいるかのような表示になってしまいます。古いバージョンの SDK をインストールすることで解決します。
xrandr 実行時に Oculus DK1 がモニターとして認識されなかったり切断中と表示される
最新の NVIDIA ドライバーではヘッドマウンドディスプレイ (Oculus DK1 など) を標準のモニターとして使用するかどうか指定する AllowHMD オプションが追加されています。NVIDIA はデフォルトで NO に設定しているため、DK1 が切断中と表示されます。以下のコマンドを実行することで解決できます:
# nvidia-xconfig --allow-hmd=yes
もしくは /etc/X11/xorg.conf
の Screen セクションに手動で Option "AllowHMD" "yes"
を追加してください。
ソース: https://forums.oculus.com/developer/discussion/34407/gnu-linux-plans#Comment_566814