安装专有的Nvidia驱动程序后没有出现Unity(GPU已经下降了Bus / ACPI失败)

在开始之前,我应该提一下,即使标题与以下问题类似,也不是同一个问题,我已经在没有解决方案的情况下测试了这些问题的答案:

安装Nvidia驱动程序后,Unity不会出现

Unity安装Nvidia专有驱动程序后不加载

(我希望这很容易)。

问题始于2周前(使用12.10 64位)。 升级后,Unity无法加载。 它只是在黑屏中冻结,没有鼠标移动,没有任何东西。 我进入恢复模式,看看发生了什么。 起初我删除了Nvidia驱动程序,系统正确启动。 然后我安装了Nvidia驱动程序(使用默认情况下出现的nvidia-current ,没有安装额外的PPA),问题就出现了。 然后我尝试了X-Swat的PPA和Xorg Edgers的PPA,两者都失败了同样的问题。

我继续检查/var/log文件,特别是Xorg和syslog文件,看看发生了什么。 在尝试了像sudo modprobe nvidia这样的东西后,我看到模块没有正确创建,因此我没有例如nvidia-xconfig命令。 所以我下载了所需的所有头文件(Generic和特定版本)并重新安装了nvidia驱动程序。 这次安装了模块,我可以访问所有Nvidia命令,比如nvidia-xconfig来创建xorg.conf文件。

但同样的问题仍然存在。 它不会加载Unity,它会在将桌面显示在黑屏之前卡住。

检查了更多,因为我的pastebin文件显示 ACPI和X Server之间存在一些问题。

在第55行,我们可以看到以下内容:

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

然后从第178行开始,我们可以看到以下内容:

 [ 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. 

现在这可能是问题(这是我现在所知道的)。

看起来,这是一个非常奇怪的旧错误重现,在此之前,PC工作正常。 这是配备Nvidia 560 tivideo卡的Intel DZ68DB主板。

还有其他发行版遇到了同样的问题:

Arch Linux

Gentoo的

红帽

我还检查过是否已经安装了acpid ,是的。 它运行正常。 对于我所理解的,这是一个时间问题,X服务器和acpid尝试加载asynced以便X加载更快,但由于它在acpid之前加载,当Nvidia卡想要使用ACPI时会出现此错误。 因此,重置X会有所帮助,因为acpid将在第二个X服务器之前加载,但由于系统被冻结,这是不可行的。

我在检查时发现的最后一个错误是sudo cat /var/log/syslog | grep NV sudo cat /var/log/syslog | grep NV给了我这个:

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

所以现在我有一个“GPU已经从公共汽车上掉下来”的问题。

我想知道那辆公共汽车有多快?

我应该补充一点,我已经测试了12.10附带的所有版本(nvidia-current,updates,experimental)以及X-Swat PPA和Xorg Edges PPA中的版本。 所有人都有同样的问题。

更新1 – 测试1

以下列方式进行测试:

连接我使用的SSD到另一台也有Nvidia卡的电脑,这次是9500 GT。 我还将另一台计算机的硬盘连接到了我的电脑。 基本上是切换硬盘。

另一台计算机上的Ubuntu运行正常,但之前在另一台计算机上工作的硬盘驱动器,当我将它连接到我的计算机时,它给出了与此问题中提到的相同的错误。

在这个测试中,我唯一改变的是我使用的Ubuntu计算机并且它有效。 但是,如果我在我的另一台计算机上使用了另一台Ubuntu,则会出现错误,表明硬件可能存在问题。 至少我需要检查BIOS设置。

更新2 – 测试2

删除了video卡,并与其他计算机进行了交换。 它仍然有效。 所以我有,Ubuntu没有在另一台计算机上工作的SSD,使用相同的560 TI无法正常工作,即便如此它仍然有效。

唯一剩下的就是主板,它是已经升级固件的Intel DZ68DB。 我觉得奇怪的是,它在两周前工作了,而不是了,但这表明问题可能是BIOS配置或主板不兼容。 我会继续测试。

解决方案1(不适合我) – 一些用户报告说,执行以下操作有助于他们:

编辑你的/etc/rc.local文件: sudo nano /etc/rc.local并在exit 0语句之前添加以下行:

/usr/bin/nvidia-smi -pm 1

保存并重启。 这会将您的video卡设置为余辉模式。 要查看它是否有效,请在重启后输入:

/usr/bin/nvidia-smi -q | grep -i Persistence /usr/bin/nvidia-smi -q | grep -i Persistence ,如果你看到:

 Persistence Mode : Enabled 

然后你知道它已启用

解决方案2(不适合我) – 一些用户报告说,执行以下操作有助于他们:

编辑grub菜单:

sudo nano /etc/default/grub和行中的内容:

  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 

添加以下一个或所有内核选项:

acpi=noirq

thermal.off=1

例如,如果添加它们应该如下所示:

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

现在保存并输入update-grub 。 然后重启。

对于任何有类似问题的人,如果他们已经做了所有事情,我建议也尝试我已经进行过的测试。 这样你知道它是Ubuntu,video卡还是其他任何硬件。

经过近3天的战斗,我设法(如果你读完整个问题)丢弃除主板之外的所有东西。 所以我拿出了主板,对它进行了一些清洁并重新打开。 只是为了清除任何混淆,当我说清洁时我的意思是,取出主板,移除任何连接到它或它产生任何类型的电流(如CR2032电池)并将主板放在一个软管有很多水压力。 用水彻底清洗后,让它至少干燥2天,然后再将它们放回原处。

一切都运行得很完美,我可以高兴地说它适用于12.04,12.10甚至13.04的32位和64位版本(当我遇到问题时我必须测试,因为我认为这是当时的Ubuntu问题)。

因此,如果您碰巧在问题中做了所有事情并且仍然遇到问题,那么最可能的原因可能是BIOS中的一个选项(由于存在大量BIOS设置而无法覆盖此处)或您的硬件需要一些维护。

希望这对某人有所帮助,因为它花了我太多的工作来弄明白,所以它可能会节省别人的时间。