每隔几个小时,我的新 Lubuntu 14.04 笔记本电脑就会严重崩溃。导致 Xorg 服务器瘫痪。我有一台配备 geforce gtx-960m 的华硕 ROG。
我查看了 X.org 服务器日志,它似乎指向 Nvidia 崩溃。
我在使用 nouveau 驱动程序时遇到了问题。所以我去了这一页并执行
sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd0000139Bsv00001043sd0000185Dbc03sc02i00
vendor : NVIDIA Corporation
driver : nvidia-352 - distro non-free recommended
driver : nvidia-352-updates - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
然后按照建议通过 apt-get 安装 nvidia-352。除了每隔约 6 小时崩溃一次(突然内存泄漏然后冻结)外,它运行良好:运行 nvidia-settings 时,它显示驱动程序版本:352.63,我可以正常运行 cuda 和 opengl。
之前我使用的是 14.10,然后是 15.04,一切都运行正常,直到 15.10 迁移到 15.10,但它非常不稳定,所以我不得不重新安装一个全新的 14.04。
我做错了什么?我应该做什么?
以下是 /var/log/Xorg.0.log.old 的相关部分
[ 19258.494] 报告 4 6 16 132
(EE) [mi] EQ 溢出。在处理完现有事件之前,将丢弃其他事件。
(EE)
(EE) 回溯:
(EE) 0:/usr/bin/X (xorg_backtrace+0x48) [0x7f84f1568f08]
(EE) 1:/usr/bin/X (mieqEnqueue+0x22b) [0x7f84f154bc3b]
(EE) 2:/usr/bin/X (QueuePointerEvents+0x52) [0x7f84f1433042]
(EE) 3:/usr/bin/X (xf86PostMotionEvent+0xd6) [0x7f84f14691b6]
(EE) 4:/usr/lib/xorg/modules/input/synaptics_drv.so (0x7f84e5768000+0x521e) [0x7f84e576d21e]
(EE) 5:/usr/lib/xorg/modules/input/synaptics_drv.so (0x7f84e5768000+0x71f2) [0x7f84e576f1f2]
(EE) 6:/usr/bin/X (0x7f84f13c8000+0x914b8) [0x7f84f14594b8] (
EE) 7:/usr/bin/X (0x7f84f13c8000+0xb93d0) [0x7f84f14813d0]
(EE) 8:/lib/x86_64-linux-gnu/libc.so.6 (0x7f84ef548000+0x36d40) [0x7f84ef57ed40]
(EE) 9:/usr/bin/X (0x7f84f13c8000+0x1a5390) [0x7f84f156d390]
(EE) 10:/lib/x86_64-linux-gnu/libc.so.6 (0x7f84ef548000+0x36d40) [0x7f84ef57ed40]
(EE) 11:/lib/x86_64-linux-gnu/libc.so.6 (0x7f84ef548000+0x15024b) [0x7f84ef69824b] (EE)
12:/usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0xc8ce3) [0x7f84e93f1ce3]
(EE) 13: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5d9472) [0x7f84e9902472]
(EE) 14: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5d986e) [0x7f84e990286e]
(EE) 15: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5d581c) [0x7f84e98fe81c]
(EE) 16: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5a2533) [0x7f84e98cb533]
(EE) 17: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5a7624) [0x7f84e98d0624]
(EE) 18: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f84e9329000+0x5b3e85) [0x7f84e98dce85]
(EE) 19: /usr/bin/X (0x7f84f13c8000+0x5414e) [0x7f84f141c14e]
(EE) 20: /usr/bin/X (0x7f84f13c8000+0x57f9b) [0x7f84f141ff9b] (EE)
21: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f84ef569ec5] (EE)
22: /usr/bin/X (0x7f84f13c8000+0x4352e) [0x7f84f140b52e] (EE)
(EE) [mi] 这些回溯来自 mieqEnqueue可能指向堆栈上层的罪魁祸首。
(EE)[mi] mieq 是不是原因。它是受害者。
(EE)[mi] EQ 溢出仍在继续。100 个事件已被丢弃。
(EE)
答案1
部分回答我自己的问题:我设法通过配置 nvidia-settings -> PRIME 设置 -> 省电模式来获得更高的稳定性。它禁用了 3d 加速,但它很稳定(比使用 nouveau 驱动程序更稳定)。在这种模式下,我再也无法使用 cuda 了。
我也尝试过更新内核(使用 apt-get install linux-image-3.19.0-33),但是它并不能解决稳定性问题,所以我通过 apt-get purge linux-image-3.19.0-33 恢复了原状。
更令人沮丧的是,我使用带有 bumblebee 的 14.10 和 15.04 让它正常工作了几个月(但我记得配置它很困难(让它使用来自 nvidia 网站的 nvidia 352.037 驱动程序版本,以及一个巧妙的 bumblebee 配置技巧,在配置文件中用“.”替换“:”以匹配 pci 总线地址),但它在迁移到 15.10 时完全被破坏了),但我无法让它在 14.04 下正常工作。
幸运的是,当几个月后 16.04 发布时,这些 nvidia-drivers 问题将会得到解决。