nVidiaカードでデュアルモニター
nVidiaのカードについてる TwinView という機能を使ったデュアルモニターの設定です。 TwinView を使わない場合は Screen セクションを複数設定していろいろやらないといけないのですが、 TwinView を使えば Device セクションに少し設定を書くだけで動くようになります。
xorg.conf:
Section "Device" ... Option "TwinView" Option "MetaModes" "1600x1200, 1920x1200; 1600x1200; 1024x768" Option "TwinViewOrientation" "RightOf" Option "ConnectedMonitor" "DFP-0,CRT-1" Option "SecondMonitorHorizSync" "UseEdidFreqs" Option "SecondMonitorVertRefresh" "UseEdidFreqs" ... EndSecion
MetaModes はデュアルモニターの解像度をセミコロンで区切った設定です。上記の場合はメインモニターが 1600x1200 、サブモニターが 1920x1200 に設定され、それが無効な場合は両方 1600x1200 にするというのをリストの数だけ繰り返すことになります。 TwinViewOrientation はモニターの配置を決めます。サブモニターが右にある場合は RightOf 、左にある場合は LeftOf です。 ConnectedMonitor を使えば検出するモニターを明示的に指定できるとともに、メイン・サブの優先順位も決められます。 CRT はアナログケーブルが挿さったモニターで、 DFP は DVI ケーブルが挿さったモニターらしいです。 Gentoo Wiki には "CRT,DFP" という記述で読みこみが成功するということが書かれていましたが、 FlexScan2410W は何やら CRT とも DFP とも検出されるらしく、 "CRT,DFP" と書いた場合は FlexScan 一台でデュアルモニターにするという具合に解釈されてしまいます。そういうことになった場合は、 ConnectedMonitor を適当に設定しつつ
% X % grep -A 2 'Connected display' /var/log/Xorg.0.log BenQ FP2092 (CRT-1) EIZO S2410W (DFP-0)
という具合にちゃんと二つのモニターが検出されていることを確認してください。それで、 ConnectedMonitor はメイン・サブの優先順位も変更できると言いましたが( Gentoo Wiki より)、どうもうまく動きません。数値指定がいけないのか、そもそも X がバグってるのかわかりませんが、優先順位が指定されない場合は CRT > DFP という順番になるらしいです(逆のほうがいいと思いますが)。なので、今回の場合だと小さいほうが FP2092 がメインモニターになって S2410W がサブモニターになってしまいます。僕のデスクトップマネージャは xfce4 なので特に気になりませんが、気になる人は(可能なら)ケーブルの接続を反対にしてみるといいと思います。セカンドモニターの周波数は適宜設定してください。
ちなみに Beryl on AIGLX が動いているのですが、特に問題なくデュアルモニター化できました。 nVidia すばらしい。
- Category(s)
- linux
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/dual-monitors-with-nvidia-card/tbping