我收到安装最新 Ubuntu HWE(硬件启用堆栈)的提示:
我不假思索地点击了Install。重新启动后,我注意到以下问题:
- 我的第二台显示器是黑色的,只会显示我的鼠标指针,而不会显示其他内容
- 有很多图形闪烁
我正在使用 AMD 显卡:
$ lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos XTX [Radeon HD 8490 / R5 235X OEM]
这是我机器重启后的状态:
$ uname -r
4.4.0-38-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
$ dpkg -l | egrep "utopic|vivid|wily|xenial"
ii linux-generic-lts-utopic 3.16.0.77.68 amd64 Complete Generic Linux kernel and headers
ii linux-generic-lts-xenial 4.4.0.38.28 amd64 Complete Generic Linux kernel and headers
ii linux-headers-generic-lts-utopic 3.16.0.77.68 amd64 Generic Linux kernel headers
ii linux-headers-generic-lts-xenial 4.4.0.38.28 amd64 Generic Linux kernel headers
ii linux-image-generic-lts-utopic 3.16.0.77.68 amd64 Generic Linux kernel image
ii linux-image-generic-lts-xenial 4.4.0.38.28 amd64 Generic Linux kernel image
$ dpkg -l | grep fglrx
ii fglrx-amdcccle-updates 2:15.201-0ubuntu0.14.04.1 amd64 Catalyst Control Center for the AMD graphics accelerators
ii fglrx-updates 2:15.201-0ubuntu0.14.04.1 amd64 Video driver for the AMD graphics accelerators
ii fglrx-updates-core 2:15.201-0ubuntu0.14.04.1 amd64 Minimal video driver for the AMD graphics accelerators
$ fglrxinfo
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 157 (ATIFGLEXTENSION)
Minor opcode of failed request: 66 ()
Serial number of failed request: 13
Current serial number in output stream: 13
我的问题的根本原因是只安装了 HWE 的内核部分,这意味着内核已升级但图形堆栈没有升级。由于Xenial 内核与专有的 fglrx AMD 驱动程序不兼容,这导致了图形问题。
在做任何其他事情之前,最好先做一些清理工作:
删除所有 utopic、vivid 和 wily HWE 软件包,因为它们不再受支持(没有这个,升级 HWE 的提示将继续出现)
删除所有 utopic (3.16)、vivid (3.19) 和 wily (4.2) 内核,因为它们也不再受支持(这会导致 hwe-support-status 打印安全警告)
完成后,有两种解决方案:
(推荐)安装完整的 Xenial HWE
按照此处的说明,安装完整的 Xenial HWE:
这应该安装新的图形堆栈,它也应该删除 fglrx
确保 fglrx 已删除,只是为了安全起见
删除任何其他未使用的包
重启
你的机器的最终状态应该是这样的:
如果此时一切似乎都运行良好,最好继续升级到 16.04,因为14.04 仅支持到 April 2019。
(不推荐)完全移除 Xenial HWE
删除 xenial HWE 软件包
删除 xenial 内核 (4.4)
删除任何其他未使用的包
重新配置 xserver-xorg(出于某种原因清理 HWE 会删除从 /etc/X11/X 到 /usr/bin/Xorg 的符号链接,破坏 X;这修复了它)
重启
你的机器的最终状态应该是这样的:
您不能将 fglrx 与内核 4.4 和 14.04.5 HWE 堆栈中的 Xorg 一起使用。要继续使用 fglrx,您需要从 14.04.4 恢复到较旧的 Xorg 和内核。否则,使用您的卡,您将不得不使用开源radeon驱动程序,这可能就是现在正在使用的。与您的卡一起使用时,所描述的问题可能是驱动程序中的错误。
AMD 不支持带有 fglrx 的新 API,并且不会发布更新以支持更新的内核或 Xorg 版本。