当我为笔记本电脑充电时,如何解决 Unity 冻结和屏幕伪影的问题?

当我为笔记本电脑充电时,如何解决 Unity 冻结和屏幕伪影的问题?

我今天早上醒来发现我的电脑死机了,我的图形也无法正确渲染。我不得不按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 驱动程序

下载 NVidia 驱动程序

sudo sh NVIDIA-Linux-x86_64-331.20.run

启动 Unity

sudo service lightdm start

你应该被带回到你的 X 显示器如果没有尝试Ctrl++AltF7

查看 /var/log/Xorg.0.log 中是否有任何错误。

相关内容