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