1

I've recently installed ubuntu 13.10 64bit on a desktop (UEFI mode). After the plymouth splash i get a black screen. After some experiments I found a temporary solution:

  • switch back to tty1 and login
  • sudo unity-greeter
  • get an awful error: (unity-greeter:2109): Gtk-WARNING **: cannot open display: Failed to launch bus: Failed to launch session bus
  • sudo reboot
  • after reboot unity-greeter starts up just fine until logoff
  • (after graphical login a procedure to report an Xorg crash starts)

I have an Nvidia graphics card, I tried all drivers (nouveau, currunt, experimental, xorg-edgers etc) but there was no change (with the exception of the xorg-edgers that always gave the corrupted configuration prompt, which, sadly, didn't solve a thing).

Any help/suggestion is appreciated :)

EDIT: After some experiments (see comments to answers) the problems came to be more random. At the moment it seems not to present itself when there is an Xorg problem (apport starting just after login) but sometimes I get a clean start even when there is no error to report. I think there's a link between "having an Xorg error" and "starting unity-greeter/lightdm correctly" because I tried using a faulty mouse (pointer stuck at boot with both win7 and ubuntu) and in that case unity-greeter/lightdm always starts (but of course then I have to disconnect the faulty mouse...).

I was asked for logs: I'll provide them the next time the problem presents itself (I'll try some reboots but I don't know when it will happen again :( ).

I was also asked for info about hardware and configuration:

  • lshw relevant info:

    *-display
                description: VGA compatible controller
                product: GF116 [GeForce GT 640 OEM]
                vendor: NVIDIA Corporation
                physical id: 0
                bus info: pci@0000:01:00.0
                version: a1
                width: 64 bits
                clock: 33MHz
                capabilities: vga_controller bus_master cap_list rom
                configuration: driver=nvidia latency=0
                resources: irq:89 memory:fc000000-fdffffff memory:d0000000-d7ffffff memory:d8000000-dbffffff ioport:e000(size=128) memory:fe000000-fe07ffff
    
  • lspci -v relevant info:

    01:00.0 VGA compatible controller: NVIDIA Corporation GF116 [GeForce GT 640 OEM] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Micro-Star International Co., Ltd. Device 2319
        Flags: bus master, fast devsel, latency 0, IRQ 89
        Memory at fc000000 (32-bit, non-prefetchable) [size=32M]
        Memory at d0000000 (64-bit, prefetchable) [size=128M]
        Memory at d8000000 (64-bit, prefetchable) [size=64M]
        I/O ports at e000 [size=128]
        [virtual] Expansion ROM at fe000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
    
  • Xorg version: 7.7 (apt-cache show xserver-xorg | grep Version gives: Version: 1:7.7+1ubuntu6)

  • Nvidia driver version: 331.20 (from x-swat ppa)
  • uname -r: 3.11.0-15-generic

I can't think of other info that could be needed, if you can just say so :)

EDIT: it has been 3 days since the last time the error presented. Nothing changed in the system (at lest not by my doing) so I have no idea of what caused it and what solved it. Thanks to everybody that helped, I'll post updates if (and when) I'll have black screen again...

4 Answers4

2

The default Ubuntu login display manager is called lightdm because it is lightweight and therefore fast. Normally this is a good thing, but you may be booting to your login screen so quickly that your Nvidia graphics card isn't able to keep up. So try installing GDM. GDM is an alternative login display manager to lightdm.

During the installation of gdm you will be asked to select either gdm or lightdm as the default login display manager. Select gdm.

You can switch back and forth between lightdm and gdm at any time from the terminal by running sudo dpkg-reconfigure gdm. This will open up a new window allowing you to select either gdm or lightdm as the default login display manager.

karel
  • 114,770
  • "you may be booting to your login screen so quickly that your Nvidia graphics card isn't able to keep up." Do you have a source where this was the problem? I can hardly believe that this is a possibility. I'm just wondering, I have never thought that such thing can happen. – falconer Jan 15 '14 at 09:11
  • @falconer I had a very similar problem to the one in the question and after much trial and error this was the way I fixed it. Since then I have tried other possible solutions several times to test if the problem might have been caused by something else, however nothing but switching back to gdm has ever been able to fix it! – karel Jan 15 '14 at 09:16
  • Oh, I see. But then I would say your reasoning is wrong: If switching to gdm solves the problem I would only deduce that the problem is in lightdm. But I couldn't deduce what exactly is the problem, especially not that it is too fast. But I googled for this and found a bugreport about this situation and actually you are 95% right. That 5% I keep because this is clearly a programming/design error in the lightdm package and not a problem with the graphics card being slow, lightdm should be waiting for the graphics driver to come up. For that 95% and for presenting this interesting info to me: +1 – falconer Jan 15 '14 at 09:45
  • And I think that this answer is likely the true solution to the problem. – falconer Jan 15 '14 at 09:53
  • I'll try using GDM but the explaination doesn't sound right... If it were this kind of problem, light-dm should always be too fast, I can't find a reason why should it boot correctly only after sudoing unity-greeter, getting the error and rebooting, unless this triggers some kind of "safe mode" different from the usual Xorg safemode (the one asking you to reconfigure Xorg, go to a terminal etc...) – Nicola Feltrin Jan 15 '14 at 10:58
  • @NicolaFeltrin I lived with the problem of having to use sudo lightdm from the console in order to bring up the lightdm login screen for almost a month before I discovered gdm by trial and error. I hope that it also works for you. – karel Jan 15 '14 at 12:37
  • @NicolaFeltrin If you do a warm restart it is possible that the card is left in a state which helps the graphics driver to come up faster. The error message which you get when running sudo unity-greeter has nothing to do with the problem. That is because the DISPLAY variable is not set in a tty so the greeter doesn't know where to connect. Everyone gets that message if he tries to launch unity-greeter from the tty without specifying a DISPLAY. If this is your problem then you would be able to launch lightdm from the tty as @karel said. – falconer Jan 15 '14 at 14:00
  • I like the idea of lightdm being too fast, but I have no evidence. Since I installed the 331 nvidia driver the problem described in the first post seems to happen at random, but it seems not to present when there has been some kind of Xorg crash. In particular I've seen that using a faulty mouse (hw problem, don't know what exactly) lightdm starts every time (with a stuck pointer and an apport instance willing to report a problem with Xorg). Anyway Xorg starts sometimes even when there are no errors to report (even after shutdown instead of reboot). Next time it has issues I'll post the logs – Nicola Feltrin Jan 18 '14 at 19:48
  • @karel this evening I'm trying to find a safe way to reproduce the error, then I'll switch to GDM and see if that fix it... – Nicola Feltrin Jan 18 '14 at 20:25
0

Please uninstall any other driver first and then install the following:

sudo apt-get install nvidia-319 nvidia-settings-319 nvidia-prime

PS: although it is a desktop it is detecting that your intel processor also has a graphics card so it is a hybrid system, you need the nvidia-pime package to make it work correctly, please post back your feedback, thank you.

Brask
  • 1,588
  • Already tryied that, sadly it doesn't help. Anyway never said anything about an Intel CPU, in fact it is an AMD and it doesn't have integrated graphics... thanks anyway :) – Nicola Feltrin Jan 15 '14 at 10:50
0

Try:

sudo dpkg-reconfigure unity-greeter

If that doesn't work boot from a live CD (provided that you are able to get to a desktop from there), back up your old xconfig settings, and copy over the ones from the live CD.

Change to Root:

sudo su

backup:

mv /media/<Name of your Ubuntu Partion>/etc/X11/Xsession.d/ /media/<Name of your Ubuntu Partion>/etc/X11/old.Xsession.d/

copy:

cp /etc/X11/Xsession.d/ /media/<Name of your Ubuntu Partion>/etc/X11/Xsession.d/
virtualxtc
  • 3,294
  • 2
  • 25
  • 38
0

Maybe you're seeing this apparently often-encountered issue with incorrect installation of Nvidia drivers: Blank screen after installing nvidia restricted driver. Do uninstall, purge and reconfigure the packages as explained in that question.

Additionally, you may want to make sure that the Nvidia drivers that you're selecting are indeed appropriate for your graphics card. See Nvidia Geforce 680 GTX - Glitches on screen for instructions on how to do this.

Lastly, this may be a shot in the dark, but as explained in what graphics drivers are now in use on this NVIDIA card?, the Nvidia X Server on my laptop flickers, hangs and segfaults on start-up. I am able to start X only if I install the proprietary Nvidia drivers for my graphics card (nvidia-304) in one kernel (say, 3.2.0-23-generic), and then boot in a different kernel (say, 3.2.0-57-generic). It clearly uses some fallback driver, and I can't understand which one it is, but it seems to just work.

landroni
  • 5,941
  • 7
  • 36
  • 58
  • I'll try this solution too, but the issue presented itself from the beginning (fresh install) when there were no nvidia drivers installed (only nouveau)... – Nicola Feltrin Jan 15 '14 at 11:00
  • If you check the last link, notice that on my system even nouveau doesn't seem to activate properly (I'm not yet sure what is actually happening). So maybe this ugly workaround from the 3rd paragraph can work for you, too. – landroni Jan 15 '14 at 11:05
  • @NicolaFeltrin But I also see that you talk about UEFI mode. Try to search around here, as there are several related questions describing similar issues. – landroni Jan 15 '14 at 11:07
  • I followed the purge/reinstall thing... The result was that unity-greeter did actually boot but with a very weird resolution (black borders, wrong proportions...) and lspci -v on the Kernel driver line said something on the lines of "can't access the device". Since the size and the proportions match those of the Plymouth boot I suspect it was using the framebuffer driver. Anyway, on a hunch I enabled the x-swat ppa and the 331 nvidia driver. After rebooting everything seemed fine, but sometimes the original black screen issue represents itself (see above). – Nicola Feltrin Jan 18 '14 at 18:54