Ubuntu – Xorg server configuration fail – no screens detected

12.04boot failuremultiple-monitorsscreenxorg

I have a serious problem with Xorg server on ubuntu 12.04 (with nvidia 420M GT card).

At home I am using an external monitor connected to my laptop's HDMI port – the external display is used as extended. But then when I leave my house and go e.g. to work I don't use it anymore but my xorg's config file remains as it was and then some bad things happen. For instance – every time when I boot after disconnecting the external monitor I get some not default font and bigger than usual + some windows with errors about not compatible resolution modes.

But today I have tried to boot normally without the additional monitor and xorg server has failed and I cannot boot to GUI. I am receiving this

[   101.830] 
X.Org X Server 1.11.3
Release Date: 2011-12-16
[   101.831] X Protocol Version 11, Revision 0
[   101.831] Build Operating System: Linux 2.6.42-26-generic x86_64 Ubuntu
[   101.831] Current Operating System: Linux ICANSEEYOU 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64
[   101.831] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-26-generic root=UUID=1384cee0-6a71-4b83-b0d3-1338db925168 ro recovery nomodeset
[   101.831] Build Date: 16 July 2012  08:06:31PM
[   101.832] xorg-server 2:1.11.4-0ubuntu10.6 (For technical support please see http://www.ubuntu.com/support) 
[   101.832] Current version of pixman: 0.24.4
[   101.832]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[   101.832] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   101.834] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jul 23 09:48:40 2012
[   101.834] (==) Using config file: "/etc/X11/xorg.conf"
[   101.834] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   101.834] Parse error on line 7 of section ServerLayout in file /etc/X11/xorg.conf
    " -reen0" is not a valid keyword in this section.
[   101.835] (EE) Problem parsing the config file
[   101.835] (EE) Error parsing the config file
[   101.835] 
Fatal server error:
[   101.835] no screens found
[   101.836] 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[   101.836] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   101.836] 
[   101.836]  ddxSigGiveUp: Closing log
[   101.836] Server terminated with error (1). Closing log file.

I have also received error that screens have been detected but none of them has a proper configuration file but then I have tried to reset xorg to its defaults (in failsafe mode) with

sudo dpkg-reconfigure xserver-xorg

(I got no output form that ) and now I am stuck with this. To be honest – I have this error while trying to log on to failsafe mode and get the ubuntu splash image when trying to boot normally.

Here is my config file xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 295.33  (buildd@allspice)  Fri Mar 30 13:37:33 UTC 2012


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" -1920 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
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"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LGD"
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Acer P215H"
    HorizSync       31.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 420M"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 420M"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"

# Removed Option "TwinView" "0"
# Removed Option "TwinViewXineramaInfoOrder" "DFP-0"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
# Removed Option "TwinView" "1"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: nvidia-auto-select +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinViewXineramaInfoOrder" "DFP-1"
    Option         "TwinView" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

And this is my xorg.conf.failsafe

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "vesa"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
EndSection

Best Answer

OK, so I have reinstalled the xserver-xorg with apt-get and then removed the ~/.config/monitors.xml file and everything works fine now. :)

( The monitors file is like an artifact after connecting an external display and it stores the settings somehow and causes problems when you switch back to one display mode http://ubuntuforums.org/showthread.php?t=1917220 )