使用HWE升级到14.0.4.5后的AMD图形问题

我得到了安装最新的Ubuntu HWE(硬件启用堆栈)的提示 :

升级HWE提示

不假思索,我点击了安装 。 重启后,我注意到以下问题:

  • 我的第二台显示器是黑色的,只显示我的鼠标指针,但没有别的
  • 有很多图形闪烁

我正在使用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驱动程序不兼容 ,因此导致了图形问题。

在做任何其他事情之前,最好做一些清理:

  1. 删除所有utopic,生动且狡猾的HWE包,因为它们不再受支持 (没有这个,将继续出现升级HWE的提示)

     sudo apt purge `dpkg -l | egrep "utopic|vivid|wily" | awk '{print $2}' | tr '\n' ' '` 
  2. 删除所有utopic(3.16),生动(3.19)和wily(4.2)内核,因为它们也不再受支持 (这会导致hwe-support-status打印安全警告)

     sudo apt purge `dpkg -l | egrep "linux-.+-(3\.16|3\.19|4\.2)" | awk '{print $2}' | tr '\n' ' '` 

在这之后,有两种解决方案:

(推荐)安装完整的Xenial HWE

  1. 按照此处的说明安装完整的Xenial HWE:

     sudo apt install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial 

    这应该安装新的图形堆栈,它也应该删除fglrx

  2. 确保删除fglrx,以确保安全

     sudo apt remove fglrx fglrx-core fglrx-updates fglrx-updates-core 
  3. 删除所有其他未使用的包

     sudo apt-get autoremove 
  4. 重启

您的机器的最终状态应如下所示:

 $ uname -r 4.4.0-112-generic $ dpkg -l | grep xenial | grep ^i | wc -l 40 $ dpkg -l | grep fglrx | grep ^i | wc -l 0 $ fglrxinfo fglrxinfo: command not found 

如果此时一切似乎都运行正常,那么最好继续升级到16.04,因为14.04仅支持到2019年4月 。

(不推荐)完全删除Xenial HWE

  1. 删除xenial HWE包

     sudo apt purge `dpkg -l | grep xenial | awk '{print $2}' | tr '\n' ' '` 
  2. 删除xenial内核(4.4)

     sudo apt purge `dpkg -l | egrep "linux-.+-4\.4" | awk '{print $2}' | tr '\n' ' '` 
  3. 删除所有其他未使用的包

     sudo apt-get autoremove 
  4. 重新配置xserver-xorg(出于某种原因清理HWE会将符号链接从/ etc / X11 / X移除到/ usr / bin / Xorg,打破X;这会修复它)

     sudo dpkg-reconfigure xserver-xorg 
  5. 重启

您的机器的最终状态应如下所示:

 $ uname -r 3.13.0-119-generic $ dpkg -l | egrep "utopic|vivid|wily|xenial" | grep ^i | wc -l 0 $ dpkg -l | grep fglrx | grep ^i | wc -l 4 $ 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 display: :0.0 screen: 0 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: AMD Radeon(TM) HD8490 OpenGL version string: 4.5.13399 Compatibility Profile Context 13.35.1005 

您不能将fglrx与14.04.5 HWE堆栈中的内核4.4和Xorg一起使用。 要继续使用fglrx,您需要从14.04.4开始重新使用较旧的Xorg和内核。 否则,使用您的卡,您将不得不使用开源radeon驱动程序,这可能是现在使用的。 所描述的问题可能是与卡一起使用时驱动程序中的错误。

AMD不支持使用fglrx的新API,也不会发布更新以支持更新的内核或Xorg版本。