Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

My setup is as follows:

  • Linux Mint 14 x64
  • Intel Core i5-2500k
  • GeForce GTX 560 Ti Cu II
  • A monitor on the far left connected to the motherboard (integrated graphics on the i5)
  • A central monitor connected to the graphics card
  • A monitor on the far right connected to the graphics card

My current xorg.conf is this:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 310.19  (buildmeister@swio-display-x86-rhel47-08.nvidia.com)  Thu Nov  8 02:09:12 PST 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

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

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Which gives the following effects:

  • The monitor on the far left works only when in terminal mode (ie, when you press ctrl-alt-f1)
  • The central monitor works as expected
  • The far right monitor works as expected

In an attempt to make the far left screen work, I wrote my own xorg.conf:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "IntegratedGraphicsScreen0"
    Screen      1  "GraphicsCardScreen0"
    Screen      2  "GraphicsCardScreen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

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

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "GraphicsCardMonitor0"
    VendorName     "Samsung"
    ModelName      "SyncMaster B2230"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "GraphicsCardMonitor1"
    VendorName     "ViewSonic"
    ModelName      "VG712s"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier    "IntegratedGraphicsMonitor0"
    VendorName    "Dell"
    ModelName     "156FPf"
EndSection

Section "Device"
    Identifier     "GraphicsCardDevice"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Device"
    Identifier     "IntegratedGraphicsDevice"
    Driver         "i915"
EndSection

Section "Screen"
    Identifier     "GraphicsCardScreen0"
    Device         "GraphicsCardDevice"
    Monitor        "GraphicsCardMonitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "GraphicsCardScreen1"
    Device         "GraphicsCardDevice"
    Monitor        "GraphicsCardMonitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier    "IntegratedGraphicsScreen0"
    Device        "IntegratedGraphicsDevice"
    Monitor       "IntegratedGraphicsMonitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Which gives these effects:

  • The far left monitor still doesn't work
  • The central monitor and far right monitor are a mirrored screen with a resolution of 640 * 480

Deleting xorg.conf gives these effects:

  • The far left monitor still doesn't work
  • The central monitor and far right monitor are a mirrored screen with a resolution of 1024 * 768

Obviously this is not what I intended - but then again I have never written my own xorg.conf before so I didn't expect it to. How can I get 3 individual screens? Any help is appreciated!

EDIT: So, a year on I still have this problem. I'm now using the following xorg.config

Section "ServerFlags"
    Option "DefaultServerLayout" "PrimaryLayout"
    Option "Xinemara" "off"
EndSection

Section "Module"
    Load "glx"
EndSection

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

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Device"
    Identifier "Intel HD Graphics 3000"
    Driver     "intel"
EndSection

Section "Device"
    Identifier     "Geforce GTX 560 Ti MiniHDMI"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Screen 0
EndSection

Section "Device"
    Identifier     "Geforce GTX 560 Ti DVI0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Screen 1
EndSection

Section "Device"
    Identifier     "Geforce GTX 560 Ti DVI1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Screen 2
EndSection

Section "Monitor"
    Identifier "Samsung"
    Option "Primary" "true"
EndSection

Section "Monitor"
    Identifier "Dell"
EndSection

Section "Monitor"
    Identifier "ViewSonic"
EndSection

Section "Screen"
    Identifier "Samsung"
    Device "Geforce GTX 560 Ti DVI0"
    Monitor "Samsung"
    SubSection "Display"
        Depth 24
    EndSubSection
EndSection

Section "Screen"
    Identifier "Dell"
    Device "Intel HD Graphics 3000"
    Monitor "Dell"
    SubSection "Display"
        Depth 24
    EndSubSection
EndSection

Section "Screen"
    Identifier "ViewSonic"
    Device "Geforce GTX 560 Ti DVI1"
    Monitor "ViewSonic"
    SubSection "Display"
        Depth 24
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier    "PrimaryLayout"
    Screen        "Dell"
    Screen        "Samsung" RightOf "Dell"
    Screen        "ViewSonic" RightOf "Samsung"
    InputDevice   "Keyboard0" "CoreKeyboard"
    InputDevice   "Mouse0" "CorePointer"
EndSection

Which has the following effect:

  • The far left monitor still doesn't work
  • The central and right monitors work as expected

A little bit more info:

  • I'm on kernel 3.11.0-12-generic
  • I'm using nvidia proprietary driver version 331.67
share|improve this question
    
Have you tried using /usr/bin/nvidia-settings for X server configuration? –  djhurio Nov 25 '12 at 19:33
    
Do you have the appropriate Kernel module installed for the Intel integrated graphics? @djhurio, nvidia-settings will only work with the nvidia card AFAIK. –  Julian Knight Mar 2 '13 at 21:03
1  
@JulianKnight, GeForce GTX 560 Ti Cu II is nVidia card, isn't it? –  djhurio Mar 3 '13 at 6:33
2  
@djhurio yes it is but what about the Intel (onboard) graphics. You need a Kernel module for that as well if you want to make use of it under X server. –  Julian Knight Mar 3 '13 at 14:41
1  
Xorg can handle multiple cards. Simply define a DEVICE section for each card. But you have to have loaded the appropriate Kernel modules. –  Julian Knight Mar 5 '13 at 8:43
show 3 more comments

1 Answer

When I was learning the ropes on Slackware, there was this excellent newbie guide to installing, configuring and maintaining the distro. It has changed somewhat over the years, may not seem relevant to Debian & Co., but I still think that the SlackBook is a good piece of introductory material.

Not to pass any (imho due) judgement, but people seem to ignore the xorg manuals entirely. Maybe it's because they are made to believe that Xorg will "configure itself" as one may be accustomed with in Windows. This is not always the case and there is plenty of information out there on how to set up a dual monitor. I've answered at least two similar questions on this site about a very similar problem.

To the point then;

man xorg.conf

SERVERLAYOUT SECTION
(...)
Screen  screen-num "screen-id" position-information
(...)

The details are in the man page. What you want looks something like:

Section "ServerLayout"
    Identifier      "Three monitors"
    Screen  0       "Screen0" 0 0
    Screen  1       "Screen1" RightOf "Screen0"
    Screen  2       "Screen2" RightOf "Screen1"
EndSection

Checklist:

  • Screens use correct device and monitor identifiers
  • Screen has at least on Display sub section with a resolution and depth
  • Drivers are loaded for the used devices

Notes:

Dual-head video cards (device section) may need special options such as bus and display mode. ATI cards used to "copy" the output to both heads in the past. This was preventable by passing certain options in the device section. Use the manual page of the xorg driver.

With recent versions of Xorg, xrandr can be used to configure and enable several monitors and to position them relative to each other. Having an xorg.config that configures several monitors is not really necessary, but may be more convenient.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.