After apt-get upgrade my system always boots to low-graphics mode

Some time ago I installed xorg edgers nvidia 331 drivers for my Nvidia 420M with Ubuntu 13.10.

Today I have run as usual

sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

And since then my laptop always boots into low-graphics mode prompt to ask whether to troubleshoot the problem, check logs, etc. but even after marking boot into low graphics mode it never does (it hangs in x but I can still CtrlAltF1-6. I have uninstalled my graphics drivers after that, reinstalled them (the same effect). Removed xorg edgers PPA, installed nvidia-319 drivers (the same).

Always low-graphics mode.

I have also had problems with 3.12 kernel that I have installed (manually from kernel.org but after I have completely removed them and upgraded GRUB; there is now problem with the drivers.)

I attach Xorg.0.log

[     9.912] 
X.Org X Server 1.14.5
Release Date: 2013-12-12
[     9.912] X Protocol Version 11, Revision 0
[     9.912] Build Operating System: Linux 3.2.0-37-generic x86_64 Ubuntu
[     9.912] Current Operating System: Linux icanseeyou 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64
[     9.912] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.11.0-15-generic root=UUID=cd852128-b5f9-4c66-82c0-08ffd489da5d ro persistent quiet splash
[     9.912] Build Date: 17 December 2013  10:06:15AM
[     9.912] xorg-server 2:1.14.5-1ubuntu2~saucy1 (For technical support please see http://www.ubuntu.com/support) 
[     9.912] Current version of pixman: 0.30.2
[     9.913]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[     9.913] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     9.913] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan  2 22:53:36 2014
[     9.913] (==) Using config file: "/etc/X11/xorg.conf"
[     9.913] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[     9.913] (==) ServerLayout "Layout0"
[     9.913] (**) |-->Screen "Screen0" (0)
[     9.913] (**) |   |-->Monitor "Monitor0"
[     9.913] (**) |   |-->Device "Device0"
[     9.913] (**) |-->Input Device "Keyboard0"
[     9.913] (**) |-->Input Device "Mouse0"
[     9.913] (==) Automatically adding devices
[     9.913] (==) Automatically enabling devices
[     9.913] (==) Automatically adding GPU devices
[     9.913] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[     9.913] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[     9.913] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[     9.913] (WW) Disabling Keyboard0
[     9.913] (WW) Disabling Mouse0
[     9.913] (II) Loader magic: 0x7fd9888bfd20
[     9.913] (II) Module ABI versions:
[     9.913]    X.Org ANSI C Emulation: 0.4
[     9.913]    X.Org Video Driver: 14.1
[     9.913]    X.Org XInput driver : 19.1
[     9.913]    X.Org Server Extension : 7.0
[     9.914] (--) PCI:*(0:1:0:0) 10de:0df1:1025:0487 rev 161, Mem @ 0xb2000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00003000/128, BIOS @ 0x????????/524288
[     9.915] (II) Open ACPI successful (/var/run/acpid.socket)
[     9.915] Initializing built-in extension Generic Event Extension
[     9.915] Initializing built-in extension SHAPE
[     9.915] Initializing built-in extension MIT-SHM
[     9.915] Initializing built-in extension XInputExtension
[     9.915] Initializing built-in extension XTEST
[     9.915] Initializing built-in extension BIG-REQUESTS
[     9.915] Initializing built-in extension SYNC
[     9.915] Initializing built-in extension XKEYBOARD
[     9.915] Initializing built-in extension XC-MISC
[     9.915] Initializing built-in extension SECURITY
[     9.915] Initializing built-in extension XINERAMA
[     9.915] Initializing built-in extension XFIXES
[     9.915] Initializing built-in extension RENDER
[     9.915] Initializing built-in extension RANDR
[     9.915] Initializing built-in extension COMPOSITE
[     9.915] Initializing built-in extension DAMAGE
[     9.915] Initializing built-in extension MIT-SCREEN-SAVER
[     9.915] Initializing built-in extension DOUBLE-BUFFER
[     9.915] Initializing built-in extension RECORD
[     9.915] Initializing built-in extension DPMS
[     9.915] Initializing built-in extension X-Resource
[     9.915] Initializing built-in extension XVideo
[     9.915] Initializing built-in extension XVideo-MotionCompensation
[     9.915] Initializing built-in extension SELinux
[     9.915] Initializing built-in extension XFree86-VidModeExtension
[     9.915] Initializing built-in extension XFree86-DGA
[     9.915] Initializing built-in extension XFree86-DRI
[     9.915] Initializing built-in extension DRI2
[     9.915] (II) "glx" will be loaded by default.
[     9.915] (WW) "xmir" is not to be loaded by default. Skipping.
[     9.915] (II) LoadModule: "dri2"
[     9.915] (II) Module "dri2" already built-in
[     9.915] (II) LoadModule: "glamoregl"
[     9.916] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    10.024] (II) Module glamoregl: vendor="X.Org Foundation"
[    10.024]    compiled for 1.14.3, module version = 0.5.1
[    10.024]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.024] (II) LoadModule: "glx"
[    10.024] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[    10.071] (II) Module glx: vendor="NVIDIA Corporation"
[    10.071]    compiled for 4.0.2, module version = 1.0.0
[    10.071]    Module class: X.Org Server Extension
[    10.071] (II) NVIDIA GLX Module  319.60  Wed Sep 25 14:24:11 PDT 2013
[    10.071] Loading extension GLX
[    10.071] (II) LoadModule: "nvidia"
[    10.071] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[    10.085] (II) Module nvidia: vendor="NVIDIA Corporation"
[    10.085]    compiled for 4.0.2, module version = 1.0.0
[    10.085]    Module class: X.Org Video Driver
[    10.091] (II) NVIDIA dlloader X Driver  319.60  Wed Sep 25 14:04:14 PDT 2013
[    10.091] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    10.092] (++) using VT number 7

[    10.096] (II) Loading sub module "fb"
[    10.096] (II) LoadModule: "fb"
[    10.096] (II) Loading /usr/lib/xorg/modules/libfb.so
[    10.097] (II) Module fb: vendor="X.Org Foundation"
[    10.097]    compiled for 1.14.5, module version = 1.0.0
[    10.097]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.097] (WW) Unresolved symbol: fbGetGCPrivateKey
[    10.097] (II) Loading sub module "wfb"
[    10.097] (II) LoadModule: "wfb"
[    10.097] (II) Loading /usr/lib/xorg/modules/libwfb.so
[    10.100] (II) Module wfb: vendor="X.Org Foundation"
[    10.100]    compiled for 1.14.5, module version = 1.0.0
[    10.100]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.100] (II) Loading sub module "shadow"
[    10.100] (II) LoadModule: "shadow"
[    10.100] (II) Loading /usr/lib/xorg/modules/libshadow.so
[    10.101] (II) Module shadow: vendor="X.Org Foundation"
[    10.101]    compiled for 1.14.5, module version = 1.1.0
[    10.101]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.101] (II) Loading sub module "ramdac"
[    10.101] (II) LoadModule: "ramdac"
[    10.101] (II) Module "ramdac" already built-in
[    10.103] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    10.103] (==) NVIDIA(0): RGB weight 888
[    10.103] (==) NVIDIA(0): Default visual is TrueColor
[    10.103] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    10.103] (**) NVIDIA(0): Enabling 2D acceleration
[    10.109] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
[    10.109] (EE) NVIDIA(0):     system's kernel log for additional error messages and
[    10.109] (EE) NVIDIA(0):     consult the NVIDIA README for details.
[    10.109] (EE) NVIDIA(0):  *** Aborting ***
[    10.109] (EE) NVIDIA(0): Failing initialization of X screen 0
[    10.109] (II) UnloadModule: "nvidia"
[    10.109] (II) UnloadSubModule: "shadow"
[    10.109] (II) UnloadSubModule: "wfb"
[    10.109] (II) UnloadSubModule: "fb"
[    10.109] (EE) Screen(s) found, but none have a usable configuration.
[    10.109] (EE) 
Fatal server error:
[    10.109] (EE) no screens found(EE) 
[    10.109] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[    10.109] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    10.109] (EE) 
[    10.110] (EE) Server terminated with error (1). Closing log file.

My installed Linux kernel and headers

ii  linux-generic                          3.11.0.15.16                                     amd64        Complete Generic Linux kernel and headers
ii  linux-headers-3.11.0-15                3.11.0-15.23                                     all          Header files related to Linux kernel version 3.11.0
ii  linux-headers-3.11.0-15-generic        3.11.0-15.23                                     amd64        Linux kernel headers for version 3.11.0 on 64 bit x86 SMP
ii  linux-headers-generic                  3.11.0.15.16                                     amd64        Generic Linux kernel headers
ii  linux-image-3.11.0-15-generic          3.11.0-15.23                                     amd64        Linux kernel image for version 3.11.0 on 64 bit x86 SMP
ii  linux-image-extra-3.11.0-15-generic    3.11.0-15.23                                     amd64        Linux kernel extra modules for version 3.11.0 on 64 bit x86 SMP
ii  linux-image-generic                    3.11.0.15.16                                     amd64        Generic Linux kernel image

Installed nvidia packages

ii  nvidia-319-updates                     319.60-0ubuntu1                                  amd64        NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-settings-319-updates            319.60-0ubuntu1                                  amd64        Tool for configuring the NVIDIA graphics driver

dmesg

http://paste.ubuntu.com/6681226/


Solution 1:

It's Bumbleebee. Bumblebee blacklists the nvidia-driver. So Ubuntu is trying to load drivers at start up, but they are blacklisted. Uninstalling Bumblebee helped me.

Solution 2:

I had this same problem just a few hours ago, the latest 331 is broken. Downgrading to the previous driver or any other, included the open-source nouveau won't work, the only solution is uninstall all nvidia packages and install the driver from the .run you can download from the nvidia website.

http://www.nvidia.com/Download/index.aspx?lang=en-us

There, select your graphic card, architecture, etc, and download the installer. When it's done, you'll need to install it from the commandline without X running. Pres Ctrl+Alt+F6 and after login:

sudo service lightdm stop
sudo apt-get remove nvidia-319 nvidia-331 # (change this line to match the drivers you have installed).

Now, asuming your driver has been downloaded to the "Downloads" folder:

cd Downloads
chmod +x NVIDIA*
sudo ./NVIDIA*.run

I've used the asterisk here because I can't know if the driver you downloaded is the exact same name as mine, since it depends on your GPU. You could use autocompletion with the tab key to use the exact .run name.

Follow the on screen instructions. When you finish, reboot:

sudo shutdown -r now

If after rebooting you see the same problem, log again in a TTY and try:

sudo nvidia-xconfig

This should regenerate a new /etc/X11/xorg.conf

Just a quick update for anyone who used my solution: Today a new update of some gl libraries has broken my system again. I've had to re-install the NVIDIA run package, it complained about some of its libraries being altered and restored them to its working state. There seems to be a compatibility problem between libraries from the official repositories and the ones packaged in the driver. This is the reason I don't like to install things from outside packagers... To reinstall the driver, kill the X with

sudo service lightdm stop

and reinstall the .run with

sudo ./NVIDIA....run 

Solution 3:

I had the exact same problem since 2 days ago after an upgrade of nvidia-331 package (331.20-0ubuntu8~xedgers~saucy1).

I then tried a few approaches, eg. ppa-purge, using the official nvidia-current, nvidia-319 from ubuntu repositories. However it could not automatically start up graphical interface properly (always say to run in low resolution mode then hung if I continued), I needed to exit to console mode and type below in order to restore the graphical interface,

sudo modprobe nvidia-<ver>
sudo lightdm start

Then I just tried using the x-swat package (instead of xedgers) as the xedgers webpage said it is supposed a more stable package.

I installed the nvidia-331 again (but different minor version 331.20-0ubuntu1~xedgers~saucy1) and then it now can load up the graphical interface automatically on startup.

It may be due to related packages being added / configured again while I installed the x-swat nvidia-331 package, the root cause may not be within the nvidia-331 package itself, but at least I now can get it back to normal startup.

It may worth a try.

Solution 4:

The same happened to me after upgrading my Ubuntu 13.10 installation on a Thinkpad W520 with dual graphic cards on 2014-01-05. The upgrade included the nvidia-331-driver (331.20-0ubuntu1~xedgers~saucy1) from the xorg-edgers PPA.

Purging and reinstallation of unity-greeter, lightdm, xorg, xserver-xorg, linux-headers and downgrade to nvidia-current or nvidia-current-updates and switching to gdm had no effect.

The problem is definitely with bumblebee, which seems to be bundled with nvidia-331 in that specific upgrade. The computer will not return to normal condition until bumblebee has been removed.

Just in case you already messed with your drivers, here is a somewhat elaborate procedure to fix the problem:

From the "The system is running in low-graphics mode"-screen press Ctrl-Alt-F1 to get a terminal and log in. Alternatively you can start your system with shift-key pressed, choose recovery mode, activate networks and go to root shell.

sudo apt-get purge nvidia-*
sudo apt-get purge bumblebee*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install nvidia-331
sudo apt-get remove --purge bumblebee

If you have messed with the nvidia-packages and the X11-config file(s) before, it might be necessary to backup all xorg.conf-files, then delete them and create a fresh one:

sudo cp /etc/X11/xorg.conf* ~/YOURBACKUPDESTINATION/
sudo rm /etc/X11/xorg.conf*
sudo nvidia-xconfig

Finally restart your computer and it should be fine:

sudo reboot

Keep in mind that the "The system is running in low-graphics mode"-problem can have many reasons and this solution is covering only one possible reason - the bumblebee-infested upgrade of nvidia-331.

Also keep in mind, that the problem could re-occur on future upgrades, so make sure, bumblebee is not installed next time you upgrade the nvidia-driver.