Ubuntu 16.04 Skylake 6代屏幕闪烁

hak*_*ata 33 kernel 16.04

我这里有一台联想 ThinkPad t460s。它是 NVMe PCI SSD 版本。CPU 为 i7 6600U(Skylake 第 6 代)和 Intel HD 520。

大约一个月前(从 2016 年 3 月开始),我安装了 Ubuntu GNOME 16.04 Beta 1。除了已知问题(触摸板物理按钮问题、盖子关闭问题)之外,一切似乎都运行良好。

此时,我使用的是内核版本 4.4.0-7。几天后,有几个内核更新(4.4.0-12、4.4.0-14 和 4.4.0-15)。突然,我遇到了屏幕闪烁。真的很丑,我不能再工作了。所以,我确实将内核版本降级到 4.4.0-7 并将其搁置(通过 apt-mark hold)。屏幕闪烁消失了。现在,我在浏览时有一些图形伪像(firefox、chrome)。我想我设法通过禁用“平滑滚动”选项来摆脱这些。

有没有其他人遇到类似的问题?或者有人已经找到了解决这个问题的方法吗?

PS:几天前我正在安装 Ubuntu GNOME 16.04 Final Beta 并尝试使用内核版本 4.4.0-16,它解决了触摸板物理按钮的问题。但不幸的是,屏幕闪烁并没有解决。因此,我再次回到内核版本 4.4.0-7,如上所述。

小智 28

@brianjcohen 带领我走向正确的方向。关于 Chromium 的错误报告对这个问题的一些背景进行了一些很好的讨论,但显然这在某种程度上是英特尔驱动程序选项的 x.org 问题。如果您愿意,可以在此处参考:

https://bugs.chromium.org/p/chromium/issues/detail?id=606152#c63

要修复它,请/usr/share/X11/xorg.conf.d/20-intel.conf使用以下命令以root 身份创建或编辑文件:

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"
    Option "AccelMethod" "sna"
    Option "TearFree" "true"
    Option "DRI" "3"
EndSection
Run Code Online (Sandbox Code Playgroud)
  • 根据讨论,AccelMethod默认情况下应该是sna,但显然没有明确设置它可能会导致 X 崩溃。sna绝对比将其降级为uxa.
  • TearFree 有助于防止视频渲染中出现撕裂
  • DRI是一种关于驱动程序如何呈现事物的方法,我认为这是关键选项。你可以在这里找到一大堆关于它的内容:https : //en.wikipedia.org/wiki/Direct_Rendering_Infrastructure#DRI3
  • 您还可以在以下位置阅读手册页 man 4 intel


hak*_*ata 8

更新:昨天,我刚刚安装了 Ubuntu GNOME 16.04。它带有最新的内核版本:4.4.0-18。它似乎已经为我解决了屏幕闪烁问题(至少到现在为止)。另外,触摸板的物理按钮按预期工作(即滚动和拖放工作)。网络浏览器(firefox 和chromium)中似乎有一些屏幕撕裂。但它确实无法与之前的屏幕闪烁问题相提并论。在 Firefox 中,我设法通过禁用“平滑滚动”选项来摆脱屏幕撕裂。不幸的是,同样的程序似乎对铬没有帮助。

  • 尝试启动进入 BIOS(在机器运行时控制转义以激活功能锁,然后在机器打开时按 F1)并将图形内存从默认的 256mb 切换到 512mb。我相信这已经为我解决了闪烁的问题,即使在 SNA 上也是如此。 (2认同)

小智 6

我在运行库存 16.04(4.4.0-33 内核,Skylake GT2 显卡)的新 Lenovo X1 Carbon 上遇到了这个问题。我尝试了上面的两个答案(basicdays 和 Mike O'Connell 的),但都没有奏效。前者导致图形速度慢得无法使用;后者根本无法初始化图形。

最后我通过这里提到的另一种方法解决了这个问题,即:我删除了有问题的Intel特定图形驱动程序。到目前为止一切似乎都很好 - Chrome 中没有闪烁,其他应用程序中的一些故障行为似乎也消失了。

简而言之,运行它然后重新启动,一切都应该很好:

sudo apt-get purge xserver-xorg-video-intel
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试:

将英特尔驱动程序从 SNA 切换到 UXA 对我有很大帮助(在此处的戴尔 Skylake 上)。

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection
Run Code Online (Sandbox Code Playgroud)

通过添加到 /usr/share/X11/xorg.conf.d 中的文件将其添加到 xorg 配置