Nvidia, TwinView, Xinerama и Dual Head

Итак на моём ноутбуке AS5730ZG-323G25Mi кроме собственного 15.4” WXGA дисплея разрешением 1280 x 800 точек есть 1 x VGA порт и 1 x HDMI порт. Кроме того у меня есть 20” ASUS VW202S разрешением 1680 x 1050 описание и спецификация

Так вот о методах работы с двумя мониторами в linux и пойдет разговор.

Первый вариант, собственно тот который я и использую, два монитора 1280 x 800 и 1680 x 1050 без TwinView и Xinerama.
Хорошо например тем что в таком случае можно запустить два икссервера и получить два рабочих места одновременно. Либо в одном икссервере использовать два монитора но с разными разрешениями.

Compiz-fusion работает!

Дальше собственно сам /etc/X11/xorg.conf. Жирным выделены ключевые моменты.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "AcersMonitorScreen" 0 0
    Screen      1  "ASUS" RightOf "AcersMonitorScreen"
    Option         "Clone" "true"
    Option         "AIGLX" "true"
    Option       "Xinerama" "false"
EndSection

Section "Files"
    FontPath        "/usr/share/fonts/misc/"
    FontPath        "/usr/share/fonts/Type1/"
    FontPath        "/usr/share/fonts/100dpi/"
    FontPath        "/usr/share/fonts/75dpi/"
    FontPath        "/usr/share/fonts/cyrillic/"
    FontPath        "/usr/share/fonts/corefonts/"
    FontPath        "/usr/share/fonts/default/"
    FontPath        "/usr/share/fonts/ttf-bitstream-vera/"
    FontPath        "/usr/share/fonts/kochi-substitute/"
    FontPath        "/usr/share/fonts/Speedo/"
    FontPath        "/usr/share/fonts/util"
    FontPath        "/usr/share/fonts/xawtv"
    FontPath        "unix/:7100"
EndSection

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

Section "ServerFlags"
    Option         "DontZap" "yes"
    Option         "DontVTSwitch" "yes"
    Option         "AllowMouseOpenFail" "true"
    Option         "Xinerama" "false"
EndSection

Section "Monitor"
    Identifier     "AcersMonitor"
    DisplaySize     339    212
    HorizSync       30.0 - 110.0
    VertRefresh     50.0 - 150.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Asus"
    VendorName     "Asus"
    ModelName      "ACI VW202"
    DisplaySize     445 278
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "NvidiaGeForce9300m"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "NvidiaGeForce9300m-external"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9300M GS"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "AcersMonitorScreen"
    Device         "NvidiaGeForce9300m"
    Monitor        "AcersMonitor"
    DefaultDepth    24
    Option         "metamodes" "1280x800_60 +0+0"
    Option         "TwinView" "false"
    Option         "NoLogo" "true"
    Option         "Coolbits" "1"
    Option         "MonitorLayout" "LVDS,Auto"
    Option         "RenderAccel" "true"
    Option         "AllowGLXWithComposite" "true"
    Option         "AddARGBGLXVisuals" "true"
    Option         "UseEdidDpi" "false"
    Option         "DPI" "98 x 98"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "ASUS"
    Device         "NvidiaGeForce9300m-external"
    Monitor        "Asus"
    DefaultDepth    24
    Option         "TwinView" "false"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT: 1680x1050_60 +0+0"
    Option         "NoLogo" "true"
    Option         "Coolbits" "1"
    Option         "MonitorLayout" "LVDS,Auto"
    Option         "RenderAccel" "true"
    Option         "AllowGLXWithComposite" "true"
    Option         "AddARGBGLXVisuals" "true"
    Option         "UseEdidDpi" "false"
    Option         "DPI" "96 x 96"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "true"
EndSection

nvidia-settings 1280 x 800, 1680 x 1050

Второй вариант задействуем только Xinerama не включая TwinView.
В /etc/X11/xorg.conf поменяется только

    Option         "Xinerama" "true"

Из двух мониторов в 1280 x 800 и 1680 x 1050 получается один рабочий экран размером в 2960 x 1050 пикселей однако compiz-fusion не заработает.

Ну и третий вариант Xinerama и TwinView. Отличие в конфигурации от первого

:::BashLexer
    Option         "Xinerama" "true"

и

    Option         "TwinView" "true"

В результате получаем один рабочий экран размером в 2960 x 1050 пикселей и compiz-fusion работает.

А выглядит все в последних двух случаях вот так

nvidia-settings 2960 x 1050

Xinerama TwinView

Comments