Oculus Rift
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 をプライマリモニタにしないと、同期が正しく動作しません。
xrandrift
AUR にある riftutilities-gitAUR[リンク切れ: アーカイブ: aur-mirror] というパッケージには xrandrift
という名のスクリプトが含まれています。このスクリプトは xrandr
を使って Rift を使うのに適したビデオモードを (引数に合わせて) 判断します。さらに、現在のビデオモードを記録して、プログラムが終了した後にスイッチバックします。
(対応しているアプリケーションで) 遅延をできるだけ減らすには、以下のようにプログラムを実行してください:
$ xrandrift OculusWorldDemo
Team Fortress 2 などの Source のゲームの場合 (プロパティの起動オプションで設定します):
$ xrandrift -e -p %command% -freq 75
60Hz で動作するゲームの場合:
$ xrandrift -s -p OculusWorldDemo
手動で xrandr を使う
Say our primary monitor is DVI-I-2, and DVI-I-3 is the Rift, and that 1152x864 is the highest mode that supports 75Hz. To use this:
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
Although the Rift SDK reccomends not rotating the secondary display, not doing so seems to cause issues with a number of programs. This command will set the primary monitor to have a scaled version of the entire display. If you prefer panning, change --scale-from
to --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
The above video modes can have some havoc on your display if you simply use xrandr --auto, as it'll still try to scale something. Use this to return to one monitor:
xrandr --output DVI-I-2 --primary --auto --rotate normal --panning 1920x1080 --scale 1x1 --output DVI-I-3 --off