每当我全屏显示某些应用程序时,我的整个屏幕都会慢慢开始被自上而下的黑色滤镜覆盖(请参阅此 YouTube 视频)。
在任何尝试刷新屏幕时(例如,移动鼠标光标或游戏绘制新框架)都会导致黑条再次从顶部开始。这样做也可能导致屏幕闪烁和变色。
某些应用程序(如 Firefox 和终端)不会出现这种行为,但其他应用程序(如 Google Chrome、Discord 和各种游戏)会。在 Nouveau 驱动程序上运行时,没有应用程序表现出这种行为。
回到不断重绘的应用程序(如 Unity 桌面)会导致黑屏不再前进,但也会导致一些轻微的闪烁,随着时间的推移会逐渐消失。
我无法截屏或记录它。这向我表明这是比 X 服务器或我的显示管理器更低级别的东西。
此错误似乎不会发生在访客会话上(或者我还无法在那里重现它),这表明与错误配置有关的某些事情正在发挥作用。但是,创建一个新帐户会带来这个错误。
到底是怎么回事?这只是驱动程序错误吗?这是一个只需要以某种方式修复的配置错误吗?
当前的 List Of Things Tried™(不起作用):
- 重置所有 Unity 配置
- 删除 NVIDIA 设置文件并重新生成
- 卸载/重新安装 NVIDIA 驱动程序
- 使用较旧的 NVIDIA 驱动程序
- 使用备用显示管理器 (
xdm
)
在 Chrome 中禁用硬件加速确实可以让它在没有这个问题的情况下运行,但这仍然不能解决根本问题 - 禁用硬件加速并不总是一个选项。
如果可能的话,我宁愿避免重置配置文件或切换回开源驱动程序。这些都是我心中的最后手段,我仍然不知道为什么会发生这种情况,这意味着如果我走这条路,我无法报告错误或避免在我的新个人资料中意外触发它。
操作系统: Ubuntu 16.04 LTS
内核: 4.10.0-36-generic,4.11.0-14-generic
显卡: Nvidia GTX 1080(不是 Optimus)
GC 驱动程序: NVIDIA 387.12,repro 与 384.90 和 381.22
从应用程序的受影响屏幕上启用强制合成管道或强制完整合成管道。
nvidia-settings
在此之后,单击应用。屏幕可能会短暂闪烁,但问题会立即解决。
或者,如果您不想拥有一个真正的
Xorg.conf
文件(通常是一个好主意),只需将以下内容放入/usr/share/X11/xorg.conf.d/20-nvidia.conf
(如果它不存在则创建):使用重新启动您的显示管理器
systemctl restart lightdm.service
,它将完美运行。免责声明:我不知道这如何解决问题。它就是这样。