AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1288395
Accepted
Carl H
Carl H
Asked: 2020-10-31 11:23:21 +0800 CST2020-10-31 11:23:21 +0800 CST 2020-10-31 11:23:21 +0800 CST

升级到 20.10 后系统无法使用 - i915 GPU 挂起

  • 772

我有一台自 15.04 以来完美运行 Ubuntu 的联想 G710 笔记本电脑。

更新到 20.04 后,桌面偶尔会随机完全冻结。更新到 20.10 后,现在可以正常启动,并且登录屏幕显示正常。在我尝试打开任何应用程序之前,桌面都很好。应用程序名称出现在顶部,然后桌面完全冻结。在某些情况下,Dock 中的应用程序图标会变得像素化。有时桌面的一部分会闪烁为纯黑色。

鼠标仍然偶尔移动,我可以 CTRL+ALT+F3 到命令行。

各种搜索表明存在图形驱动程序问题。它是英特尔 Haswell 图形芯片。

我在登录时尝试了Ubuntu和选项,都给出了相同的结果。Ubuntu on Wayland

解决这个问题的最佳方法是什么?

编辑:

的输出ls -al ~/.local/share/gnome-shell/extensions

drwxrwxr-x 4 carl carl 4096 Oct 26 18:29 gTile@vibou
drwxrwxr-x 3 carl carl 4096 Aug 13 18:55 [email protected]
drwxrwxr-x 3 carl carl 4096 Oct 30 14:53 [email protected]
drwxrwxr-x 2 carl carl 4096 Sep 10 18:11 [email protected]
drwxrwxr-x 3 carl carl 4096 Oct 30 14:53 [email protected]

的输出ls -al /usr/share/gnome-shell/extensions

drwxr-xr-x 2 root root 4096 Oct 30 13:53 desktop-icons@csoriano
drwxr-xr-x 3 root root 4096 Oct 30 13:53 [email protected]
drwxr-xr-x 3 root root 4096 Oct 30 13:53 [email protected]

的输出free -h

              total        used        free      shared  buff/cache   available
Mem:          5.7Gi       735Mi       4.2Gi        73Mi       855Mi       4.7Gi
Swap:         2.0Gi          0B       2.0Gi

的输出sysctl vm.swappiness

vm.swappiness = 60

编辑 2 输出dmesg包括i915 GPU HANG

graphics i915 20.10
  • 4 4 个回答
  • 8269 Views

4 个回答

  • Voted
  1. Best Answer
    Mouffa
    2020-11-25T13:51:50+08:002020-11-25T13:51:50+08:00

    更新:Ubuntu 21.04 当前 ISO 映像经过测试,它包含内核 5.11.0-11,安装正常进行。

    Ubuntu 5.11 发行版内核会导致与 Gnome、KDE、XFCE (至少)相同的不稳定问题,就像家庭编译的 5.11 内核一样,如果您面临同样的问题,请继续使用 5.11 之前的内核。

    更新 2:内核升级到 5.11.0-22,一切正常。

    提示:您可以通过与以下命令同步来下载和测试最新开发 ISO。

    zsync http://cdimage.ubuntu.com/daily-live/current/jammy-desktop-amd64.iso.zsync

    第一次运行该命令时,ISO 将被下载,任何其他时间您在 ISO 目录中运行相同的命令时,系统将检查是否有任何更改,并在必要时更新 ISO。


    推荐的解决方案:从您的发行版的存储库中安装一个有效的内核版本

    注意:如果您想从因此i915问题而导致图形安装环境崩溃的映像执行全新安装,请在 ISO 的启动菜单中选择(安全图形),并在安装后执行必要的步骤。

    例如,Focal Fossa 用户将从

    https://packages.ubuntu.com/focal/kernel/

    1. linux-image-(kernel_version)-generic
    2. linux-modules-(kernel_version)-generic
    3. linux-modules-extra-(kernel_version)-generic

    使用命令安装,

    sudo apt install <package>

    重启。

    如果您没有安装任何较新的内核,系统将自动使用新内核启动,在任何其他情况下,请从 GRUB 菜单中选择内核。


    先进的方法

    5.11 之前的内核解决方案在这里Red Hat Bugzilla – Bug 1843274

    如果您使用旧内核 5.4.0 引导,则 GUI 系统可以变得可用。终端仍然可以使用 5.8.0 内核,尝试CTRL+ALT+F3.

    解决方案是修补i915模块。从这里下载补丁

    要了解该补丁,请查看Intel 手册第 50 页,它与MEDIA_VFE_STATE必须根据 GPU 型号提供正确数量的线程的命令有关。

    第一种方法:打补丁并重新编译一个新内核

    快速指南

    1. 构建内核的基本依赖项是sudo apt install libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf
    2. 从www.kernel.org下载您选择的内核源并解压。
    3. 进入内核源目录。
    4. 在内核目录中清理内核sudo make mrproper。
    5. 将补丁下载到内核的源代码父目录中。
    6. 应用补丁patch -p1 < ../drm-i915-gt-Limit-VFE-threads-based-on-GT.patch
    7. 配置内核或运行sudo make localmodconfig快速完成,按住回车键直到回答所有问题
    8. 编译内核sudo make -j (# of CPU threads) bindeb-pkg
    9. 安装内核源码目录父目录下产生linux-image的deb包linux-headers
    10. 重新启动,如有必要,从 GRUB 菜单中选择新内核

    根据您的喜好,您的硬件等优化上述程序

    第二种方法:仅修补和重新编译模块

    也可以为已经安装的内核重建补丁模块,以便能够使用官方分发内核或任何其他预编译内核。

    英特尔官方 i915 编译指南在此处,如果您以 PDF 格式下载,请转到第 41 页。

    您可以完全按照显示的步骤操作,但请注意以下事项。

    1. 如果您要为另一个内核版本而不是您正在运行的内核版本重新编译模块,那么您必须替换$(uname -r)为您的目标版本,例如5.8.0-29-generic.

    2. 如果您使用/tmp/kernel指南中的目录,则此目录将在重新启动后丢失。

    3. 在第 5 步之后,您必须修补内核,patch -p1 < ../drm-i915-gt-Limit-VFE-threads-based-on-GT.patch假设补丁位于内核的源代码父目录中

    4. 步骤 9 可以跳过。

    5. 在步骤 12 之后,您可能会收到有关模块密码验证的错误,没有问题,模块已安装,/lib/modules/5.8.0-29-generic/extradrivers系统知道它在那里,应该通过步骤 13 加载。

    6. 应该执行第 14 步,说明目标内核版本,以 5.8.0-29-generic更改这样的命令sudo depmod -v 5.8.0-29-generic和sudo update-initramfs -k 5.8.0-29-generic -u.

    重新启动后,您的系统将再次可用。

    在 Ubuntu 解决问题之前,应该对任何新内核执行此过程。

    • 12
  2. FrancisH92
    2020-11-12T02:34:12+08:002020-11-12T02:34:12+08:00

    我从 Kubuntu 20.04 迁移到 20.10,并且与 Acer 720p 有相同的“GPU 挂起”错误。在等待修复时,我将内核从 5.8 降级到 5.4,现在运行良好。

    • 5
  3. Carl H
    2020-11-03T03:04:39+08:002020-11-03T03:04:39+08:00

    这是最近 Linux 内核中 i915 驱动程序的一个现有错误。

    请参阅https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1872001和https://gitlab.freedesktop.org/drm/intel/-/issues/673

    到目前为止,还没有解决方案或解决方法。我已经用 Ubuntu 18.04 替换了 Ubuntu 20.10。

    更新- 我已经接受了另一个答案,因为从赞成票来看它是正确的,这对其他有这个问题的人来说应该更有用。
    (免责声明 - 我自己没有尝试过)

    • 1
  4. Dimmy
    2021-02-11T05:26:58+08:002021-02-11T05:26:58+08:00

    此问题是由于内核中的错误引起的。您可以通过在终端可用的先前内核中启动 Ubuntu 轻松解决此问题。您可以通过进入 grub 菜单并选择“高级选项”然后选择任何以前的内核进行引导来执行此操作。

    启动并打开终端后,输入以下命令将内核升级到可用的最新版本(5.10.13 及更高版本将解决此问题)

    1. 此命令安装 wget 实用程序,该实用程序将用于下载内核升级脚本:

      sudo apt install wget
      
    2. 此命令将从 github 中提取脚本并将其存储在您的主目录中

      wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh 
      
    3. 此命令会将脚本安装在您的 bin 目录中,以便使用以下命令在终端中更轻松地执行:

      sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
      
    4. 安装最新的主线内核:

      sudo ubuntu-mainline-kernel.sh -i 
      

    或者,您甚至可以安装特定的内核版本:

    sudo ubuntu-mainline-kernel.sh -i 5.10.13 
    

    执行此命令后,安装内核头文件和映像需要几分钟时间,您需要重新启动系统

    sudo reboot
    

    重启后,执行以下命令确认内核版本:

    uname -r 
    

    您应该看到类似于以下内容的输出:

    5.10.13-051013-generic
    

    完毕。错误已解决!

    • 1

相关问题

  • System76 在他们的笔记本电脑中使用 ATI 卡——好还是坏?

  • Ubuntu 在使用 Intel 显卡 855MG 的 HP Compaq nx9020 上安装后冻结

  • 从休眠状态启动后,Netbook Remix 进入低图形模式 [关闭]

  • 内核 > 2.6.32-20 无法启动(根文件系统不存在)

  • 如何让更多人参与为 Ubuntu 改进 X.org?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve