首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到20.10 - i915 GPU挂起后,系统无法使用。

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

Ask Ubuntu用户
提问于 2020-10-30 19:23:21
回答 3查看 9.3K关注 0票数 4

我有一个联想G710笔记本电脑运行Ubuntu完美自15.04。

在更新到20.04之后,偶尔会出现桌面的随机完全冻结。更新到20.10后,它现在启动正常,登录屏幕看起来正常。在我尝试打开任何应用程序之前,桌面都是安全的。应用程序名称出现在顶部,然后桌面完全冻结。在某些情况下,该应用程序图标在码头变成像素。有时候,桌面的一部分会闪烁到黑色。

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

各种搜索都显示了图形驱动程序的问题。这是英特尔哈斯韦尔的图形芯片。

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

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

编辑:

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

代码语言:javascript
复制
drwxrwxr-x 4 carl carl 4096 Oct 26 18:29 gTile@vibou
drwxrwxr-x 3 carl carl 4096 Aug 13 18:55 systemMonitor@gnome-shell-extensions.gcampax.github.com
drwxrwxr-x 3 carl carl 4096 Oct 30 14:53 user-theme@gnome-shell-extensions.gcampax.github.com
drwxrwxr-x 2 carl carl 4096 Sep 10 18:11 weatherintheclock@JasonLG1979.github.io
drwxrwxr-x 3 carl carl 4096 Oct 30 14:53 workspace-indicator@gnome-shell-extensions.gcampax.github.com

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

代码语言:javascript
复制
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 ubuntu-appindicators@ubuntu.com
drwxr-xr-x 3 root root 4096 Oct 30 13:53 ubuntu-dock@ubuntu.com

free -h输出

代码语言:javascript
复制
              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输出

代码语言:javascript
复制
vm.swappiness = 60

dmesg的编辑2输出包括i915 GPU HANG

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2020-11-24 21:51:50

更新:Ubuntu21.04当前的ISO映像进行了测试,包括内核5.11.0-11,安装正常进行。

5.11 Ubuntu发行内核与Gnome、KDE、XFCE (至少)与家庭编译的5.11内核一样,都会造成同样的不稳定问题,如果您面临相同的问题,则在5.11之前使用内核。

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

提示:通过与以下命令同步,您可以下载并测试最新的Development。

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

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

推荐的解决方案:从发行版的存储库中安装一个可以工作的内核版本

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

例如,焦点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之前内核的解决方案如下所示:红帽Bugzilla - Bug 1843274

如果您用旧内核5.4.0启动,GUI系统就会变得可用。这个终端仍然可以使用5.8.0内核,试试CTRL+ALT+F3

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

要理解修补程序,请看一下英特尔手册页面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以快速完成,按住Enter键,直到所有问题都得到回答
  8. sudo make -j (# of CPU threads) bindeb-pkg编译内核
  9. 安装内核源目录的父目录中生成的linux-imagelinux-headers deb包。
  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. 对于5.8.0-29-generic,应该执行步骤14,说明目标内核版本,以更改类似于此sudo depmod -v 5.8.0-29-genericsudo update-initramfs -k 5.8.0-29-generic -u的命令。

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

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

票数 12
EN

Ask Ubuntu用户

发布于 2020-11-11 10:34:12

我从Kubuntu20.04迁移到20.10,并在宏碁720 p上安装了相同的"GPU Hang“。在等待修复时,我将内核的等级从5.8降到5.4,现在运行良好。

票数 5
EN

Ask Ubuntu用户

发布于 2021-02-10 13:26:58

这个问题是由内核中的一个错误引起的。您可以通过在以前的内核中启动Ubuntu来轻松地解决这个问题,其中终端是可用的。您可以通过访问grub菜单,选择“高级选项”,然后选择前面的任何一个内核来启动。

一旦启动和终端打开,输入以下命令将内核升级到最新版本(5.10.13及以上版本将解决此问题)

  1. 此命令安装wget实用程序,该实用程序将用于下载内核升级程序脚本: sudo apt安装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 mainlin-kernel.sh -i

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

代码语言:javascript
复制
sudo ubuntu-mainline-kernel.sh -i 5.10.13 

执行此命令后,将需要几分钟来安装内核头和映像,并发布重新启动系统所需的帖子。

代码语言:javascript
复制
sudo reboot

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

代码语言:javascript
复制
uname -r 

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

代码语言:javascript
复制
5.10.13-051013-generic

好了。臭虫解决了!

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1288395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档