全屏应用程序后屏幕(缓慢)变黑

Kaz*_*lfe 13 nvidia graphics

每当我全屏显示某些应用程序时,我的整个屏幕都会慢慢开始从上到下被黑色滤镜覆盖(请参阅此 YouTube 视频)。

任何刷新屏幕的尝试(例如,移动鼠标光标或游戏绘制新帧)都会导致黑条再次从顶部开始。这样做还可能导致屏幕闪烁和变色。

某些应用程序(如 Firefox 和终端)不会表现出这种行为,但其他应用程序(如 Google Chrome、Discord 和各种游戏)会。在 Nouveau 驱动程序上运行时,没有应用程序表现出这种行为。

回到不断重绘的应用程序(如 Unity 桌面)会导致黑屏不再前进,但也会导致一些轻微的闪烁,随着时间的推移会逐渐消失。

我无法截屏或记录。这向我表明这是比 X 服务器或我的显示管理器更低级别的东西。

这个错误似乎没有发生在来宾会话中(或者我还没有能够在那里重现它),这表明与错误配置相关的某些事情正在发挥作用。但是,创建新帐户带来此错误。

到底是怎么回事?这只是驱动程序错误吗?这是一个只需要以某种方式修复的配置错误吗?

当前尝试的事物列表™(不起作用):

  • 重置所有 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,使用 384.90 和 381.22 重现

Kaz*_*lfe 6

从应用程序在受影响的屏幕上启用强制合成管道强制完整合成管道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
Run Code Online (Sandbox Code Playgroud)

使用重新启动您的显示管理器systemctl restart lightdm.service,它将完美运行。


免责声明:我不知道这是如何解决问题的。它只是。