XのDualHeadでハマったこと

最近、開発用ノートPCに接続しているディスプレイを、17インチ(1280×1024)のディスプレイから21インチ(1680×1050)のディスプレイに変えましたが、その時にハマったことを書こうと思います。

環境は、

PC
FMV-830MG(1024:768)
チップセット 855GME
(出力はD-subのみ)

外部ディスプレイ
BenQ G2110W (1680×1050)

OS
Debian lenny

以上。

とりあえず新しいディスプレイを接続し、xrandrで、


xrandr --output VGA --mode 1680x1050 --left-of LVDS

とすると、


xrandr: screen cannot be larger than 2560x1024 (desired size 2704x1050)

とエラー。

ここまでは予想通り。

/etc/X11/xorg.confにある、


Section "Screen"
  Identifier"Default Screen"
  Monitor"Configured Monitor"
  SubSection"Display"
    Virtual 2560 1024         # <- これ
  EndSubSection
EndSection

Virtualの範囲内にしか画面を置けないので、範囲外に画面があるよ!ってエラーが出ます。

そこで、


    Virtual 2704 1050

こんな感じに増やして、Xを再起動。

と・・・

なにやら、画面がおかしい!


−−−−−−液晶が割れたときのようになってる!!!

調べてもよくわからず、中途半端な解像度がいけないかと、3360にしてみてもダメ。
散々悩んだ挙句、

縦にしてみよう。


Virtual 1680 1818

として、


xrandr --output LVDS --mode 1024x768 --pos 0x1050 --output VGA --mode 1680x1050 --pos 0x0

とすると見事に起動。

横でダメな原因は結局判明しませんでしたが、とりあえず一件落着。

高解像度のディスプレイで表示出来ずに困っている人は試してみる価値あります。

あ、ちなみに、使いにくいと思われそうですが、私の場合はratpoison使っているので横並びと大差ないので問題無いです。