当我使用终端时,屏幕闪烁 + CPU 管道 B FIFO 欠载

当我使用终端时,屏幕闪烁 + CPU 管道 B FIFO 欠载

这是我的配置:

$ inxi -b
System:    Host: balrog Kernel: 4.8.0-42-generic x86_64 (64 bit) Desktop: KDE Plasma 5.5.5
           Distro: Ubuntu 16.04 xenial
Machine:   System: Dell (portable) product: Latitude E4310 v: 0001
           Mobo: Dell model: 0D8H24 v: A00 Bios: Dell v: A14 date: 12/05/2013
CPU:       Dual core Intel Core i5 M 560 (-HT-MCP-) speed/max: 1199/2667 MHz
Graphics:  Card: Intel Core Processor Integrated Graphics Controller
           Display Server: X.Org 1.18.4 drivers: (unloaded: fbdev,vesa) Resolution: [email protected]
           GLX Renderer: Mesa DRI Intel Ironlake Mobile GLX Version: 2.1 Mesa 12.0.6
Network:   Card-1: Intel 82577LM Gigabit Network Connection driver: e1000e
           Card-2: Intel Centrino Advanced-N 6200 driver: iwlwifi
Drives:    HDD Total Size: 256.1GB (27.4% used)
Info:      Processes: 253 Uptime: 50 min Memory: 2115.3/7780.9MB Client: Shell (bash) inxi: 2.2.35

我在 Latitude E4310 上运行 Kubuntu 16.04。

我在显示窗口刷新方面遇到了一些问题。我在网上查阅了一些资源,并决定应用 Ubuntu LTS 支持堆栈将我的内核从 4.4.x 升级到 4.8.x。

这似乎解决了我最初的问题。太好了。

实际上,它似乎也带来了一些回归(不确定它们是否都与此有关)。

  1. LibreOffice 中显示的按钮不再可读(几层混合在一起)。

  2. LibreOffice Calc 中的单元格选择现在不可见。

  3. 当我在终端(yakuake 或 Konsole)上工作时,我收到内核消息和闪烁的屏幕,在出现几个这样的问题后,我的 X 冻结了,我需要重新启动。这真的不可预测。

最后一个是最重要的问题。这是中的错误消息dmesg

[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
[drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun

关于此论坛上类似问题的说明:

  • 当我启动计算机时没有问题。
  • 当我解锁系统时没有问题。

我在 Arch 论坛上发现了一些或多或少类似的问题,但我猜测 Xorg 在 Kubuntu 16.04 中的管理方式不同。

注意:我在我的桌面上应用了相同的 Ubuntu LTS 支持堆栈,没有出现此问题。

答案1

我知道这个问题已经存在 2 年多了,但最近我在运行 Pop OS 19.04(基于 Ubuntu 的发行版)的 i915 显卡驱动程序时也遇到了同样的问题。就硬件而言,我有 Intel UHD 620 集成 GPU,CPU 是 i5 8350U 单元。帮助我解决闪烁问题的是设置 i915 内核参数/etc/default/grub

搜索此行并使用i915前缀参数扩展值,如下所示: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 i915.edp_vswing=2"

并重新启动以查看变化。

请参阅文档中稀疏描述的问题: https://wiki.archlinux.org/index.php/intel_graphics#Screen_flickering

看来这个设置edp_vswing=2对我解决闪烁问题帮助最大。它将电压摆动表设置为默认的 400mV,更多信息请见此处: https://gist.github.com/Brainiarc7/aa43570f512906e882ad6cdd835efe57

我还将 Linux 内核升级到最新的 5.3,只需从 PPA 中选择 deb 并使用 dpkg 进行安装即可。但就我而言,这实际上主要是关于设置此电压。

这也可能帮助你:https://www.dedoimedo.com/computers/intel-microcode-atomic-update.html

抱歉回复迟了,希望这能帮助别人解决问题。

更新:应用所有这些修复后,仍然出现闪烁,虽然很少见,但仍然会发生。

对我有帮助的是将 BIOS 更新到最新版本(Dell Latitude 5490,当前 BIOS 为 1.10.1),在启动时运行诊断程序,并在磁盘配置中将 BIOS 从 AHCI 切换到 RAID ON。到目前为止,没有任何闪烁。几天后我会在帖子中更新结果。

第二次更新:最近,我在 PopOS 20 测试版中偶然发现了同样的问题。我设法通过在 BIOS 中禁用 CPU c 状态来解决此问题。在此处阅读更多信息: https://www.dell.com/support/kbdoc/en-us/000060621/what-is-the-c-state

仅此一项就解决了屏幕黑闪烁的问题,直到内核修补完毕,我建议您这样做。

答案2

我发现了一个非常合理的解决方法:回滚。

我遵循了以下教程:

http://ubuntuhandbook.org/index.php/2017/02/install-remove-enablement-stacks-ubuntu-16-04/

删除过程的第一部分实际上是删除 xorg 和 kubuntu-desktop。我们必须记住在删除之后立即重新安装它们。

之后,我重新启动了。系统似乎默认保留了一个 4.8.x 内核,但它用前一个内核替换了图形堆栈。

这解决了我在使用 LibreOffice 时遇到的问题(选择和按钮)。似乎它还解决了内核 CPU 管道问题。

现在,我想我不会深入探讨这个问题。

注意:我的桌面上仍然使用新的图形栈和 4.8.x 内核,并且运行良好。

干杯

答案3

这似乎是一些内核与英特尔驱动程序反复出现的兼容性问题。随着时间的推移,这个问题最终应该由社区和 Ubuntu 团队解决。

与此同时,根据关联一个可能的解决方法是将此参数添加到内核启动的命令行中:

intel_idle.max_cstate=4

相关内容