The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Linux: Docking Station + External Monitor + Laptop Lid Closed

    Discussion in 'Linux Compatibility and Software' started by helikaon, May 5, 2008.

  1. helikaon

    helikaon Notebook Consultant

    Reputations:
    269
    Messages:
    288
    Likes Received:
    0
    Trophy Points:
    30
    Hello,
    recently, i setup linux CentOS 5.1 on my R61 ntb. I'd say pretty straightforward install in text mode (gui mode wasnt running). All turned ok after installing proprietary nvidia driver NVIDIA-Linux-x86_64-169.12-pkg2.run.
    Only problem i experienced was with redirecting my dvi signal to external screen.
    Description:
    My laptop would boot up with the External monitor working, untill it came to the part where the desktop manager starts - when the GDM hit start, it turned signal back to internal notebook display. Confirmed by opening the lid of my laptop and revealed that it reverted back to the laptop display.
    I tried fiddling with the nvidia-settings utility (nice graphical gui utility - working correctly only under root account btw). I tried setting twin view than back to separate screens, tried turn on/off xinerama and again back to separate screens. Nothing worked. I just wanna come to office, throw ntb to dock, turn it on (without opening lid) and enjoy ext keyboard, mouse, monitor.
    I did some googling and found that quite a bunch of people had same problem in various distributions ... ubuntu, kubuntu, fedora, debian to name a few. So it's not a distro problem, but problem of nvidia utility incorrectly setting the /etc/X11/xorg.conf configuration file.
    Took me couple of hours of reading, trying. Finally i found what items to edit in xorg. conf to get it working as i intended.
    Here i'll post the 2 xorg.conf files - first one the wrong, secon one the good one working, so you might have a look and in case of same problem, find some inspiration:
    1. bad xorg.conf:
    # nvidia-xconfig: X configuration file generated by nvidia-xconfig
    # nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Feb 14 18:13:41 PST 2008
    # Xorg configuration created by pyxf86config

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Screen0" RightOf "Screen1"
    Screen 1 "Screen1" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection

    Section "ServerFlags"
    Option "Xinerama" "0"
    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" "pc105"
    Option "XkbLayout" "us"
    EndSection

    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Unknown"
    ModelName "IBM"
    HorizSync 53.2 - 63.9
    VertRefresh 50.0 - 60.0
    Option "DPMS"
    EndSection

    Section "Monitor"
    Identifier "Monitor1"
    VendorName "Unknown"
    ModelName "HP LP2065"
    HorizSync 30.0 - 92.0
    VertRefresh 48.0 - 85.0
    EndSection

    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "Quadro NVS 140M"
    BusID "PCI:1:0:0"
    Screen 0
    EndSection

    Section "Device"
    Identifier "Videocard1"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "Quadro NVS 140M"
    BusID "PCI:1:0:0"
    Screen 1
    EndSection

    Section "Screen"

    # Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
    Identifier "Screen0"
    Device "Videocard1"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "TwinView" "0"
    Option "metamodes" "DFP-0: 1680x1050_60 +0+0"
    SubSection "Display"
    Depth 24
    EndSubSection
    EndSection

    Section "Screen"

    # Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
    Identifier "Screen1"
    Device "Videocard0"
    Monitor "Monitor1"
    DefaultDepth 24
    Option "TwinView" "0"
    Option "metamodes" "DFP-1: 1600x1200_60 +0+0"
    EndSection

    2. working xorg.conf after edit:

    I'l paste only the end of the file, the beginning is same....

    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "Quadro NVS 140M"
    BusID "PCI:1:0:0"
    Option "UseDisplayDevice" "DFP-1" #changed
    Screen 1 #changed
    EndSection

    Section "Device"
    Identifier "Videocard1"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "Quadro NVS 140M"
    BusID "PCI:1:0:0"
    Screen 0 #changed
    EndSection

    Section "Screen"

    # Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "TwinView" "0"
    Option "metamodes" "DFP-0: 1680x1050_60 +0+0"
    SubSection "Display"
    Depth 24
    EndSubSection
    EndSection

    Section "Screen"

    # Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
    Identifier "Screen1"
    Device "Videocard1"
    Monitor "Monitor1"
    DefaultDepth 24
    Option "TwinView" "0"
    Option "metamodes" "DFP-1: 1600x1200_60 +0+0"
    EndSection

    The section "device" is where i did the little arrangement.
     
  2. jas

    jas Notebook Evangelist

    Reputations:
    697
    Messages:
    622
    Likes Received:
    5
    Trophy Points:
    31
    I needed to figure out how to make this work for my setup too. Using your xorg.conf as the example, this is what worked for me;
    Code:
    Section "ServerLayout"
         Identifier "Default Layout"
         Screen 0 "Screen1" 0 0
         InputDevice "Mouse0" "CorePointer"
         InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    
    Section "ServerFlags"
         Option "Xinerama" "0"
    EndSection
    
    Section "InputDevice"
         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" "pc105"
         Option "XkbLayout" "us"
    EndSection
    
    Section "Monitor"
         Identifier "Monitor0"
         VendorName "Unknown"
         ModelName "IBM"
         HorizSync 53.2 - 63.9
         VertRefresh 50.0 - 60.0
         Option "DPMS"
    EndSection
    
    Section "Monitor"
         Identifier "Monitor1"
         VendorName "Unknown"
         ModelName "HP LP2065"
         HorizSync 30.0 - 92.0
         VertRefresh 48.0 - 85.0
    EndSection
    
    Section "Device"
         Identifier "Videocard0"
         Driver "nvidia"
         VendorName "NVIDIA Corporation"
         BoardName "Quadro NVS 140M"
    EndSection
    
    Section "Screen"
         Identifier "Screen0"
         Device "Videocard0"
         Monitor "Monitor0"
         DefaultDepth 24
         Option "TwinView" "0"
         Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
    EndSection
    
    Section "Screen"
         Identifier "Screen1"
         Device "Videocard0"
         Monitor "Monitor1"
         DefaultDepth 24
         Option "TwinView" "0"
         Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
    EndSection
    I also add the following to each "Screen" section (for Compiz support and other personal options);
    Code:
         Option "NoLogo" "true"
         Option "AddARGBGLXVisuals" "true"
         Option "DisableGLXRootClipping" "true"
         Option "AllowGLXWithComposite" "true"
         Option "RenderAccel" "true"
         Option "HWcursor"
    
    And the following section too;
    Code:
    Section "Extensions"
         Option "Composite" "enable"
    EndSection
    Good Luck..
     
  3. helikaon

    helikaon Notebook Consultant

    Reputations:
    269
    Messages:
    288
    Likes Received:
    0
    Trophy Points:
    30
    Thanks a lot, its gonna help me for sure. I didnt have time to give compiz go yet. But this knowledge save hours of googlin and yahoohahoaing :.)))
     
  4. Pitabred

    Pitabred Linux geek con rat flail!

    Reputations:
    3,300
    Messages:
    7,115
    Likes Received:
    3
    Trophy Points:
    206
    You might try looking into "xrandr", which will let you dynamically resize screens and such under Linux. It's what I use for my Intel-based T61 here. If you enable TwinView, you will NOT be able to use xrandr. Hope that helps!