我今天早上醒来发现我的电脑死机了,我的图形也无法正确渲染。我不得不按Ctrl+ Alt+F1来重新控制系统。
起初我以为是我的 NVidia 驱动程序,因为有时当我的屏幕进入睡眠状态时它们会出错,因为我设置了 1080p 的双显示器,当 Nvidia 检测到我的显示器时,它会错误地检测它们并调整我的显示大小,这会导致 Compiz 崩溃。但这次我不认为这是问题所在。
我最近将内核升级到 3.2.0-58-generic,但升级后无法正确完成安装。我的理论是 Nvidia 内核模块没有更新。所以我尝试安装 Nvidia 的驱动程序。我无法让它们工作,所以我最终删除了它们并重新安装了 Ubuntu nvidia-current 和 nvidia-settings 包。这使我的系统恢复了。但我仍然遇到同样的问题,屏幕冻结,屏幕上显示伪影,无论有没有第二台显示器。
我开始怀疑我的硬件主要是显卡或电源。似乎如果我移除电源并使用电池供电,它就可以正常运行。所以我想也许我的电源提供的是脏电,所以我换了一个新的,但使用不同的电源时我仍然遇到同样的问题。
当我为笔记本电脑充电时,如何解决 Unity 冻结和屏幕伪影的问题?
我在 Ubuntu 12.04 内核 3.2.0-58-general nvidia GeForce GTX 560M 上运行 System 76 GazP6
以下是我的 Xorg.0.log 中的一些可能有帮助的信息:
[ 1074.299] [mi] EQ overflowing. Additional events will be discarded until existing events are processed.
[ 1074.299]
Backtrace:
[ 1074.321] 0: /usr/bin/X (xorg_backtrace+0x26) [0x7f5099a05a86]
[ 1074.321] 1: /usr/bin/X (mieqEnqueue+0x263) [0x7f50999e6163]
[ 1074.321] 2: /usr/bin/X (0x7f509987d000+0x62a44) [0x7f50998dfa44]
[ 1074.321] 3: /usr/bin/X (xf86PostMotionEvent+0xd8) [0x7f509991d128]
[ 1074.321] 4: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f5091668000+0x4148) [0x7f509166c148]
[ 1074.321] 5: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f5091668000+0x61b0) [0x7f509166e1b0]
[ 1074.321] 6: /usr/bin/X (0x7f509987d000+0x8af47) [0x7f5099907f47]
[ 1074.321] 7: /usr/bin/X (0x7f509987d000+0xb0d4a) [0x7f509992dd4a]
[ 1074.321] 8: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f5098ba3000+0xfcb0) [0x7f5098bb2cb0]
[ 1074.321] 9: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x13abf1) [0x7f5092722bf1]
[ 1074.321] 10: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x1450a7) [0x7f509272d0a7]
[ 1074.321] 11: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x146f48) [0x7f509272ef48]
[ 1074.321] 12: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x148001) [0x7f5092730001]
[ 1074.321] 13: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x14b8f5) [0x7f50927338f5]
[ 1074.321] 14: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x16a9ed) [0x7f50927529ed]
[ 1074.321] 15: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x135eb4) [0x7f509271deb4]
[ 1074.321] 16: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x4acd42) [0x7f5092a94d42]
[ 1074.321] 17: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x4b82e1) [0x7f5092aa02e1]
[ 1074.321] 18: /usr/bin/X (0x7f509987d000+0x4e8a1) [0x7f50998cb8a1]
[ 1074.321] 19: /usr/bin/X (0x7f509987d000+0x3d7ba) [0x7f50998ba7ba]
[ 1074.321] 20: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xed) [0x7f5097a2376d]
[ 1074.321] 21: /usr/bin/X (0x7f509987d000+0x3daad) [0x7f50998baaad]
[ 1074.321] [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
[ 1074.321] [mi] mieq is *NOT* the cause. It is a victim.
答案1
看来答案是使用专有 NVidia 驱动程序版本 331.20
下拉到命令行
Ctrl+ Alt+F1
停止团结
sudo service lightdm stop
卸载 ubuntu nvidia 驱动程序
sudo apt-get --purge remove nvidia-glx-* nvidia-settings
备份 xorg.conf
sudo mv xorg.conf xorg.conf.backup
重新生成 xorg.conf
sudo Xorg -configure
sudo mv ~/xorg.conf.new /etc/X11/xorg.conf
安装 NVidia 驱动程序
sudo sh NVIDIA-Linux-x86_64-331.20.run
启动 Unity
sudo service lightdm start
你应该被带回到你的 X 显示器如果没有尝试Ctrl++AltF7
查看 /var/log/Xorg.0.log 中是否有任何错误。