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:
(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:
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:
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:
Add to it one or all of the following kernel options:
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.