LinuxATIでデュアルディスプレイ

» Nvidia で異なる解像度でデュアルディスプレイやる方法【過去ログ】

 ちょっと前に、Linux が入ってる PentiumM マシンを静音化するために、Radeon 9600XT を買ったはいいけど、xorg.conf の設定がよくわからずデュアルディスプレイに出来ずにいた。

 まず、Linux用の ATI のドライバを入れる。Suseユーザーの人はこの通りにやれば入るはず。ATI Installer HOWTO for SUSE/Novell users を参考にして入れた。

 Yastでインストールのソースを変更として、以下のように記述。

  Protocol: http
  Server Name: : www2.ati.com
  Directory on Server: suse

 追加したら、ソフトウェアのインストールとして、以下の二つをインストールする。

  • x11-video-fglrx
  • ati-fglrx-kmp-<kernel-flavor>

 <kernel-flavor> となっているところには、カーネルの種類を入れる。 “uname -r” とコマンドで打てば、default/smp/bigsmpのどれかが分かる。

 そういえば、これでエラーが出て、いちおう入ってるっぽかったけどその後ATIのサイトから落として来て入れたんだった…どっちによって入ったのかはよくわからないので、ATIのサイトのほうも。

ATI のサイトでドライバを落としてくる。ファイル名を適当に読みかえて、以下のようにする。

ati-driver-installer-8.28.8-x86.run --listpkg
 として、自分のバージョンにあうものを選択。32bitのSuse10.1だと、
./ati-driver-installer-8.28.8-x86.run --buildpkg SuSE/SUSE101-IA32
 とすると、RPMパッケージが出来るので、したのコマンドを実行。
rpm -Uhv fglrx_6_9_0_SUSE100-8.28.8-1.i386.rpm

 これでドライバのインストールは完了。

 Yast のグラフィックカードとモニタの設定の画面に行く。解像度を設定するのだが、同じ解像度ならばここでデュアルヘッドを使用にチェックすればおk。違う解像度のディスプレイを使っているとめんどくさい。

 ぼくは、15インチ1024×768をRGBで、19インチ1280×1024をDVIで使ってます。ひとまず、デュアルヘッドを使用で低い方の解像度にあわせてテストして映るようなら保存して終了。こうすると、デュアルヘッドで使うときの設定が一通り xorg.conf に保存される。ひとまず、xorg.conf のバックアップを取るのが無難。

 その後は、 xorg.conf をいじくる。ポイントは、Device の項目の、Option "Stereo" "on" とするところだけなんだけど、それと分かるまで3時間はかかったよう(´・ω・`) あと、Screen の項目が一つしか生成されないのだけど、それをコピーして二つを適当に設定しなければならない。ぼくの環境だとこんな感じ。

    137   SubSection "Display"
    138     Depth      24
    139     Modes      "1024x768"
    140   EndSubSection
    141   Device       "Device[0]"
    142   Identifier   "Screen[1]"
    143   Monitor      "Monitor[1]"
    144 EndSection
    145
    146 Section "Screen"
    147   DefaultDepth 24
    148   SubSection "Display"
    149     Depth      24
    150     Modes      "1280x1024"
    151   EndSubSection
    152   Device       "Device[0]"
    153   Identifier   "Screen[0]"
    154   Monitor      "Monitor[0]"
    155 EndSection

 あと、よくわかってないけど Monitor と Modes もきちんと設定しないとダメかも(もしかしたら必要ないかも)。デフォだと、Modes のところには Identifier しか書かれていないけど、例えばこんな感じに書く。

    120 Section "Modes"
    121   Identifier   "Modes[0]"
    122   Modeline  "1280x1024" 105.15 1280 1360 1496 1712 1024 1025 1028 1059
    123 #  Modeline   "1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
    124 #  Modeline   "1024x768" 78.43 1024 1080 1192 1360 768 769 772 801
    125 #  Modeline   "1024x768" 77.25 1024 1080 1192 1360 768 769 772 800
    126 EndSection
    127
    128 Section "Modes"
    129   Identifier   "Modes[1]"
    130   Modeline  "1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
    131   Modeline  "1024x768" 78.43 1024 1080 1192 1360 768 769 772 801
    132   Modeline  "1024x768" 77.25 1024 1080 1192 1360 768 769 772 800
    133 EndSection

 あとは、この Modes を、使う Monitor のオプションで設定すればおk。

     96 Section "Monitor"
     97   Option       "CalcAlgorithm" "XServerPool"
     98   DisplaySize  386 290
     99   HorizSync    31-80
    100   Identifier   "Monitor[0]"
    101   ModelName    "I-O DATA LCD-A18H"
    102   Option       "DPMS"
    103   VendorName   "IODATA"
    104   VertRefresh  55-75
    105   UseModes     "Modes[0]"
    106 EndSection
    107
    108 Section "Monitor"
    109   Option       "CalcAlgorithm" "XServerPool"
    110   DisplaySize  386 290
    111   HorizSync    31-80
    112   Identifier   "Monitor[1]"
    113   ModelName    "samsung"
    114   Option       "DPMS"
    115   VendorName   "samsung"
    116   VertRefresh  55-75
    117   UseModes     "Modes[1]"
    118 EndSection

 あとは、二つのディスプレイの配置などを設定する。Xinerama を on にすると、二つのディスプレイが完全につながって、例えばデスクトップのツールバー(でいいんだっけ?)が二つの画面にまたがったりする。

     12 Section "ServerLayout"
     13   Identifier   "Layout[all]"
     14   InputDevice  "Keyboard[0]" "CoreKeyboard"
     15   InputDevice  "Mouse[1]" "CorePointer"
     16   Option       "Clone" "off"
     17   Option       "Xinerama" "off"
     18   Screen      0  "Screen[0]" LeftOf "Screen[1]"
     19   Screen      1  "Screen[1]" 0 0
     20 #  Screen       "Screen[0]" RightOf "Screen[1]"
     21 EndSection

 以上で設定は終わり。Xを再起動すればきっと望む通りの表示になるはず(・ω・)いちおう、xorg.conf の全体を晒しておく。コメントアウトが多いな…

# /.../
# SaX generated X11 config file
# Created on: 2006-09-06T17:24:28+0900.
#
# Version: 7.1
# Contact: Marcus Schaefer , 2005
# Contact: SaX-User list 
#
# Automatically generated by [ISaX] (7.1)
# PLEASE DO NOT EDIT THIS FILE!
#
Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "off"
  Screen      0  "Screen[0]" LeftOf "Screen[1]"
  Screen      1  "Screen[1]" 0 0
#  Screen       "Screen[0]" RightOf "Screen[1]"
EndSection



Section "Files"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/local"
  FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/URW"
  FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath     "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath     "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath     "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/CID"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/xtest"
  FontPath     "/opt/kde3/share/fonts"
  InputDevices "/dev/gpmdata"
  InputDevices "/dev/input/mice"
EndSection

Section "ServerFlags"
  Option       "AllowMouseOpenFail" "on"
EndSection

Section "Module"
  Load         "freetype"
  Load         "type1"
  Load         "dbe"
  Load         "glx"
  Load         "extmod"
  Load         "v4l"
  Load         "dri"
EndSection

Section "InputDevice"
  Driver       "kbd"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "jp"
  Option       "XkbModel" "jp106"
  Option       "XkbRules" "xfree86"
EndSection


Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "7"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "ImExPS/2 Generic Explorer Mouse"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
  Option       "CalcAlgorithm" "XServerPool"
  DisplaySize  386 290
  HorizSync    31-80
  Identifier   "Monitor[0]"
  ModelName    "I-O DATA LCD-A18H"
  Option       "DPMS"
  VendorName   "IODATA"
  VertRefresh  55-75
  UseModes     "Modes[0]"
EndSection

Section "Monitor"
  Option       "CalcAlgorithm" "XServerPool"
  DisplaySize  386 290
  HorizSync    31-80
  Identifier   "Monitor[1]"
  ModelName    "samsung"
  Option       "DPMS"
  VendorName   "samsung"
  VertRefresh  55-75
  UseModes     "Modes[1]"
EndSection

Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1280x1024" 105.15 1280 1360 1496 1712 1024 1025 1028 1059
#  Modeline 	"1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
#  Modeline 	"1024x768" 78.43 1024 1080 1192 1360 768 769 772 801
#  Modeline 	"1024x768" 77.25 1024 1080 1192 1360 768 769 772 800
EndSection

Section "Modes"
  Identifier   "Modes[1]"
  Modeline 	"1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
  Modeline 	"1024x768" 78.43 1024 1080 1192 1360 768 769 772 801
  Modeline 	"1024x768" 77.25 1024 1080 1192 1360 768 769 772 800
EndSection

Section "Screen"
  DefaultDepth 24
  SubSection "Display"
    Depth      24
    Modes      "1024x768"
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[1]"
  Monitor      "Monitor[1]"
EndSection

Section "Screen"
  DefaultDepth 24
  SubSection "Display"
    Depth      24
    Modes      "1280x1024"
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection


Section "Device"
  BoardName    "RV350 AR"
  BusID        "1:0:0"
  Driver       "fglrx"
  Identifier   "Device[0]"
  Option       "SaXDualHead"
  Option       "SaXDualMonitorVendor" "SAM"
  Option       "HSync2" "30-61"
  Option       "VRefresh2" "50-75"
  Option       "Mode2" "1024x768"
  Option       "FSAADisableGamma" "no"
  Option       "CapabilitiesEx" "0x00000000"
  Option       "Capabilities" "0x00000000"
  Option       "FSAAMSPosX0" "0.000000"
  Option       "FSAAMSPosX1" "0.000000"
  Option       "OpenGLOverlay" "off"
  Option       "FSAAMSPosX2" "0.000000"
  Option       "Stereo" "on"
  Option       "SaXDualResolution" "1024x768"
  Option       "FSAAMSPosX3" "0.000000"
  Option       "CenterMode" "off"
  Option       "ScreenOverlap" "0"
  Option       "FSAAMSPosY0" "0.000000"
  Option       "FSAAMSPosY1" "0.000000"
  Option       "mtrr" "off"
  Option       "FSAAMSPosX4" "0.000000"
  Option       "ForceGenericCPU" "no"
  Option       "FSAAMSPosX5" "0.000000"
  Option       "FSAAMSPosY2" "0.000000"
  Option       "DesktopSetup" "Horizontal,Reverse"
  Option       "FSAAScale" "1"
  Option       "FSAAMSPosY3" "0.000000"
  Option       "GammaCorrectionI" "0x00000000"
  Option       "no_accel" "no"
  Option       "FSAAMSPosY4" "0.000000"
  Option       "UseFastTLS" "0"
  Option       "FSAAMSPosY5" "0.000000"
  Option       "FSAACustomizeMSPos" "no"
  Option       "FSAAEnable" "no"
  Option       "BlockSignalsOnLock" "on"
  Option       "SaXDualOrientation" "RightOf"
  Option       "GammaCorrectionII" "0x00000000"
  Option       "KernelModuleParm" "agplock=0"
  Option       "no_dri" "no"
  Option       "VideoOverlay" "on"
  Option       "UseInternalAGPGART" "no"
  Option       "PseudoColorVisuals" "off"
  Option       "StereoSyncEnable" "1"
#  Option       "SaXDualMode" "Xinerama"
#  Option       "ForceMonitors" "auto,crt1"
  Option       "SaXDualHSync" "30-61"
  Option       "SaXDualMonitorModel" "SAMSUNG SYNCMASTER"
  Option       "SaXDualVSync" "50-75"
#  Screen
  VendorName   "ATI"
EndSection


#Section "DRI"
#    Group      "video"
#    Mode       0660
#EndSection

Section "Extensions"
EndSection
LinuxATIでデュアルディスプレイ