4Tiled Display

やっとFedoraCore10で4面ディスプレイに成功しました。
xorg.confの設定次第でできるっぽいことはグーグル先生が教えてくれていたのですが、具体的な設定をどうかけばよいのか
わからず試行錯誤でした。

で複数画面に対応させるOptionとしてTwin ViewとXineramaと呼ばれるものが存在することもわかっていました。二面はTwinViewでできるのですが(Xineramaでもできるらしい)四面ではそうもいかない。
特にグラフィックボードをまたいで両者から二面ずつ出すように設定するのはどうしていいのかさっぱり。

という状態がしばらく続いたのですがやっと解決。
…両方使うらしいw
気づくか!!!

グラフィックボードをまたぐ場合はXineramaを使わないとみたい。さらにそれぞれで二枚出力するのにTwinView、という割り当てみたいですね。

というわけでデスクトップの写真。

SAGEを使って4画面にFFの動画を出力。

一応xorg.confをさらしておきます。

Section "ServerLayout"
        Identifier     "multi head configuration"
        Screen  0 "Screen0"
        Screen  1 "Screen1" Below "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option         "Xinerama" "True"
EndSection

Section "Files"
        ModulePath   "/usr/lib64/xorg/modules/extentions/nvidia"
        ModulePath   "/usr/lib64/xorg/modules"
        FontPath     "/usr/share/fonts/default/Type1"
EndSection

Section "Module"
        Load  "freetype"
        Load  "glx"
        Load  "dbe"
        Load  "extmod"
EndSection

Section "ServerFlags"
        Option      "AIGLX" "on"
EndSection

Section "InputDevice"

    # generated from default
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "Emulate3Buttons" "no"
        Option      "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "jp106"
        Option      "XkbLayout" "jp"
EndSection

Section "Monitor"
        Identifier   "Configured Monitor"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        Option      "TwinView"
        Option      "TwinViewOrientation" "Right"
        BusID       "PCI:1:0:0"
        Screen      0
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "nvidia"
        Option      "TwinView"
        Option      "TwinViewOrientation" "Right"
        BusID       "PCI:2:0:0"
        #Screen     1
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Configured Monitor"
        DefaultDepth     24
EndSection
Section "Screen"
        Identifier "Screen1"
        Device     "Videocard1"
        Monitor    "Configured Monitor"
        DefaultDepth     24
EndSection

Section "Extensions"
        Option      "Composite" "Enable"
EndSection

これで4面ができるようになったのでいろいろとローカルで実験ができます。そしてそれを40面ディスプレイでやるんだ!(40面はPCクラスターで、アプリはSAGEを使います。xorgではたぶん実現できないはずなのであしからず。)