自升级到 18.04 以来,屏幕随机出现暂时滞后

自升级到 18.04 以来,屏幕随机出现暂时滞后

自从我从 16.04 升级到 18.04 后,我就遇到了这些奇怪的屏幕冻结问题。通常在播放视频或纸牌时,我的屏幕会随机挂起。虽然鼠标仍然可以工作和移动,音频也可以播放,但屏幕就是冻结了。屏幕暂停大约 5-10 秒,无法移动、点击等任何内容。但是,如果我尝试在其中一次挂起期间用鼠标执行操作,如果我用鼠标完成该操作,一旦屏幕跟上,我就会看到结果。所以看起来一切都正常,但存在某种显示延迟,就好像我的视频卡负载很重一样。

我登录的时间越长,问题似乎就越严重,而且出现的频率也越频繁,就好像视频卡出现了内存泄漏一样。

使用 Nvidia 应用程序查看卡负载,显示卡上无过大负载、高温或内存不足。

我已经改进了性能,正如稍后将概述的那样,但问题仍然存在。

系统是四核 Alienware Alpha,8GB 内存。显卡是 Nvidia 860,2GB 内存。

我正在使用专有的 Nvidia 驱动程序 390 和(一开始)低延迟内核。

$ lspci -k | grep -EA3 '3D|Display|VGA'
01:00.0 VGA compatible controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
Subsystem: Dell GM107M [GeForce GTX 860M]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

$ lsmod |grep -i nvidia
nvidia_uvm            757760  0
nvidia_drm             40960  2
nvidia_modeset       1110016  8 nvidia_drm
nvidia              14340096  635 nvidia_modeset,nvidia_uvm
drm_kms_helper        172032  1 nvidia_drm
drm                   397312  5 nvidia_drm,drm_kms_helper
ipmi_msghandler        53248  2 nvidia,ipmi_devintf

答案1

注意:一段时间后,问题又出现了。我目前正在备份主文件夹以重新安装 Ubuntu。我留下这个答案以供参考,但我不接受它,因为它没有永久解决我的问题。


修复我的问题是相当漫长的过程。最终修复结果简而言之如下:

  1. 重新添加驱动程序 PPA -> 更新 -> 升级
  2. 使用通用内核
  3. 清除并重新安装图形驱动程序(以防万一)
  4. 配置卡
  5. 删除本地 Chrome .config 并重新安装或(最好)切换到 Firefox

每次操作都会略微提高性能,最终形成性能卓越的系统。完整的修复方法如下。

1. 升级时禁用专有 GPU 驱动程序 PPA

首先重新启用图形驱动程序 ppa,并更新驱动程序:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt upgrade && sudo apt dist-upgrade

2. 当不需要低延迟时使用通用内核

我从事音频制作,因此使用了低延迟内核。看来这个内核会优先处理音频,并允许系统其余部分挂起以保持音频及时播放。

我安装了通用内核:

sudo apt install linux-generic

要使用此内核,请在启动时按住 Shift 并选择高级选项并启动到通用内核。

3.清除并重新安装驱动程序

尝试使用软件和更新升级到驱动程序 396。重启后,我无法启动 X。它不会自动启动,命令startx使屏幕闪烁,然后让我回到命令行。(您的里程可能会有所不同)

评论中的用户建议我应该清除并重新安装驱动程序,所以我认为这是这样做的最佳时机。所以我清除了所有内容:

sudo apt purge "*-nvidia-*"
sudo apt autoremove && sudo apt autoclean

通过软件和更新重新启动并重新安装驱动程序 390(或 396,如果适合您)并重新启动。

4. NVidia 卡需要非默认配置

完成所有清除和重新安装后,就该摆弄 nvidia-settings 了。

sudo nvidia-settings

在 X Screen 0 和 GPU 0 配置中,以下是我最终完成修复的调整:

X 屏幕 0 设置菜单

  1. 在“X 服务器视频设置”选项卡下,我将设置从“自动”更改为直接选择我的显示器:

    NVIDIA X 服务器设置

    出于某种原因,这似乎是最终解决问题的设置。但请继续阅读我的其余配置。

  2. 我更喜欢在“OpenGL 设置”中选择质量而不是性能,因为相反的操作没有任何效果(但不确定这是否真的有什么作用):

    OpenGL 设置

  3. 最后,对于此菜单,我的抗锯齿设置如下:

    抗锯齿设置

GPU 0-(GeForce GPU) 菜单

在 powermizer 设置下,我将 powermizer 设置从自动更改为首选最大性能。此设置在重启后不保留,但现在似乎默认为自适应而不是自动。

Powermizer 设置

似乎作为一般规则,任何具有“自动”设置的设置都应在可能的情况下设置为特定设置。

5. 修复 Chrome 或(最好)切换到 Firefox

完成上述所有操作后,除了我在 Google Chrome 中播放 YouTube 视频时,一切都运行正常(电影、Steam、游戏等)。

使用 Firefox 后我不再遇到任何问题。

可以修复 Chrome 以使其更好地工作,但它并不像使用 Firefox 那样完美。要修复 Chrome:

重命名配置文件夹:

mv ~/.config/google-chrome ~/.config/google-chrome.bak

清除 Chrome:

sudo apt purge google-chrome-stable
sudo apt autoremove && sudo apt autoclean

您现在需要使用 Firefox从 Google 下载 Chrome并安装它。当您运行 Chrome 时,它​​将像第一次一样,需要进行配置。

虽然这似乎可以修复 Chrome 问题,但我注意到当且仅当 Chrome 运行时,我的系统仍然会偶尔出现故障。使用 Firefox 时不会发生这种情况。

答案2

我在 ubuntu-cinnamon-remix 21.04、Dell Precision 7710 上遇到了类似症状的问题。不确定是否是相同的根本原因。

我发现了一些更接近根本原因的事情:

TL;DR:最终的解决方法/修复方法是设置 /etc/UPower/UPower.conf IgnoreLid=true

它与盖子状态(关闭/打开)有关,导致系统每 30 秒查询一次监视器。

  • cinnamon/ubuntu 21.04 安装在戴尔笔记本电脑 precision 7710 上
  • nouveau 和 nvidia 驱动程序都重现了这一点。
  • 问题是否会重现取决于以下组合:
    • 盖子电源设置(例如,盖子状态不会导致挂起,也不会导致外部/内部显示器重新配置)
    • 盖子的当前状态(关闭/打开)
    • 已连接外接显示器

症状:

  • 每 30 秒显示屏会冻结 500-3000 毫秒(长度似乎取决于连接的显示器和 xrandr 模式)。
  • 鼠标在冻结期间可以移动。其他一切(例如音频和任何正在运行的进程)似乎都顺利进行。
  • Xorg.log 每 30 秒产生以下日志
    [1360.782] (II) modeset(0): EDID vendor "DEL", prod id 16854
    [1360.782] (II) modeset(0): Using hsync ranges from config file
    [1360.782] (II) modeset(0): Using vrefresh ranges from config file
    [1360.782] (II) modeset(0): Printing DDC gathered Modelines:
    [1360.782] (II) modeset(0): Modeline "3840x2160"x0.0  594.00  3840 4016 4104 4400  2160 2168 2178 2250 +hsync +vsync (135.0 kHz eP)
    [1360.782] (II) modeset(0): Modeline "2560x1440"x0.0  ...
    
  • syslog 可能每 30 秒产生以下日志(使用 nouveau 而不使用 runpm=0)
    kernel: [ 3351.079896] nouveau 0000:01:00.0: Enabling HDA controller
    

我会尝试在 cinnamon 或 ubuntu 上报告这个错误,我不确定哪个层有错误。

答案3

尝试通过以下方式重新安装 nvidia 驱动程序:

sudo apt-get purge nvidia*
sudo apt-get update
sudo apt-get install nvidia-driver-390

如果这不能提高您的性能,我建议您备份所有文件并重新安装全新的 Ubuntu-18.04,避免从以前的 LTS 升级。从一个 LTS 升级到另一个 LTS 时会出现一些问题,这真的很麻烦。

答案4

看起来我找到了解决方法在我的 Legion 5 Pro 中运行杂交种图形模式。

NVIDIA GPU可以处于不同的状态 -D3coldD0D3hot

我偶然注意到,如果我保留NVIDIA GPUD0状态(只需保持打开nvidia-设置小组讨论电源管理模块标签) -冻结消失

但如果我让NVIDIA GPU进入睡眠模式(D3cold状态)-每 2 分钟冻结一次。
并且系统日志垃圾邮件发送者:

    ...
    Feb 17 15:55:17 smarttop kernel: [ 9145.605086] nvidia 0000:01:00.0: Enabling HDA controller  
    Feb 17 15:57:17 smarttop kernel: [ 9265.612997] nvidia 0000:01:00.0: Enabling HDA controller  
    Feb 17 15:58:58 smarttop kernel: [ 9366.357103] nvidia 0000:01:00.0: Enabling HDA controller  
    ... 

因此看起来冻结与 nvidia HDA 控制器有关。

相关内容