Unity does not appear after installing proprietary Nvidia drivers (GPU has fallen of the Bus / ACPI Failed)

Before starting I should mention that even though the title is similar to the following questions, is not the same problem and I have already tested the answers of this questions with no solution in hand:

Unity doesn't appear after installing Nvidia drivers

Unity Not loading after installing Nvidia proprietary drivers

(I wish it were that easy).

The problem started about 2 weeks ago (Using 12.10 64 Bit). After an upgrade, Unity would not load. It just froze in a black screen, no mouse movement, no nothing. I went to recovery mode to see what had happened. At first I removed the Nvidia driver and the system booted correctly. I then installed the Nvidia driver (Using the nvidia-current that comes by default with no additional PPA installed) and the problem appeared. I then try the PPA for X-Swat and the PPA from Xorg Edgers, both of which also failed with the same problem.

I continued checking the /var/log files, specially the Xorg and syslog ones to see what had happened. After trying stuff like sudo modprobe nvidia I saw that the module was not correctly created, hence I did not have for example the nvidia-xconfig command. So I downloaded all header files needed (Generic and the specific version) and reinstalled the nvidia drivers. This time the module was installed and I could have access to all Nvidia commands like nvidia-xconfig to create the xorg.conf file for example.

But the same problem persisted. It would not load Unity, it would get stuck right before showing the desktop in a black screen.

After checking some more as my pastebin file shows there were some problems between ACPI and the X Server.

On line 55 we can see the following:

 48.651] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)

And then starting on line 178 we can see the following:

[    49.993] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[    49.993] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[    49.993] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[    49.993] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[    49.993] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[    49.993] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[    49.993] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[    49.993] (II) NVIDIA(0):     Config Options in the README.

right now this could be the problem (This is as far as I have gotten right now).

As it looks, this is an old bug very weird to reproduce and before this, the PC was working fine. This is an Intel DZ68DB motherboard with an Nvidia 560 ti video card.

There have been also other distros that have had the same problem:

Arch Linux

Gentoo

Red Hat

I have also checked to see if I had acpid installed already and yes. It is running correctly. For what I have understood, it is a timing issue where the X Server and acpid try to load asynced so X loads faster, but since it loaded before acpid, it gets this error when the Nvidia card wants to use ACPI. So a reset of X would help since acpid would be loaded before the second X server but since the system is frozen this is not doable.

The last error I found while doint my checks was with sudo cat /var/log/syslog | grep NV which gave me this:

Jan  3 22:39:23 cyrex kernel: [    3.789322] NVRM: GPU at 0000:01:00.0 has fallen off the bus.

So now I have a "GPU has fallen off the bus" issue.

How fast was that bus going I wonder?

I should add that I have tested all versions that come with 12.10 (nvidia-current, updates, experimental) and also the ones that come in X-Swat PPA and Xorg Edges PPA. All give the same problems.

UPDATE 1 - Test 1

Did a test in the following way:

Connected the SSD I was using to another computer that also had an Nvidia Card, this time a 9500 GT. I also connected the other computer's HDD to my computer. Basically switching hard drives.

Ubuntu in the other computer is working fine, but the HDD that was working before on the other computer, when I connected it to my computer it gave the same error as mentioned in this question.

In this test, the only thing I changed was the computer for the Ubuntu I was using and it worked. But if I used another Ubuntu from another computer on mine, the error appears, showing that the hardware might be the problem. At least I will need to check the BIOS setup.

UPDATE 2 - Test 2

Removed the video card and did an exchange of it with the other computer. It still worked. So I had, the SSD that had Ubuntu not working on the other computer, with the same 560 TI that was not working and even then it still worked.

The only thing left was the motherboard, it is the Intel DZ68DB with already upgraded firmware. I find it odd that it was working 2 weeks ago and not anymore, but this shows that the problem might be BIOS configuration or Motherboard not compatible somehow. I'll keep testing.

Solution 1 (Not working for me) - Some users have reported that doing the following helped them:

Edit your /etc/rc.local file: sudo nano /etc/rc.local and add the following line before the exit 0 statement:

/usr/bin/nvidia-smi -pm 1

Save and reboot. This will set your video card to Persistence Mode. To see if it worked, after reboot type:

/usr/bin/nvidia-smi -q | grep -i Persistence and if you see:

Persistence Mode            : Enabled

Then you know it is Enabled

Solution 2 (Not working for me) - Some users have reported that doing the following helped them:

Edit your grub menu:

sudo nano /etc/default/grub and in the line that says:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Add to it one or all of the following kernel options:

acpi=noirq

thermal.off=1

For example if add both it should look like this:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=noirq thermal.off=1"

Now save and type update-grub. Then reboot.

For anybody with similar problems, if they have done everything, I recommend also trying out the tests I have conducted. That way you know if it is Ubuntu, the video card or any other hardware.


After almost 3 days of battle, I managed (If you read the whole question) to discard everything but the motherboard. So I took the motherboard out, did some cleaning on it and put it back on. Just to clear any confusion, when I say cleaning I literally mean, taking the motherboard out, removing anything connected to it or that it generates any type of electrical current (Like the CR2032 battery) and put the motherboard under a hose with a lot of water pressure. After cleaning it with a lot with water, I left it to dry for 2 days minimum and put it back together.

Everything is working perfectly and I can happily say that it works in the 32 and 64 bit versions of 12.04, 12.10 and even 13.04 (Which I had to test when I had the problem since I thought it was an Ubuntu issue at the time).

So if you happen to have done everything in the question and you still have problems, the most likely cause might be either an option in the BIOS (Which I can not cover here because of the amount of BIOS settings that exist) or that your hardware needs some maintenance.

Hope this helps somebody because it took me too much work to figure it out so it might save someone else time.