更新内核到4.8现在缺少固件警告

我升级了我的笔记本电脑以获得4.8内核,在此过程中出现了以下警告。

update-initramfs: Generating /boot/initrd.img-4.8.0-040800-generic W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915 W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915 W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915 

这些对我来说有点奇怪,因为我的CPU是i7-6700HQ,这是一个skylake,我的理解是这些是针对不同的CPU? 我之前按照这里的说明操作,因为我有关于CPU系列的警告。

这些警告是我应该忽略的,还是应该为这些CPU系列安装guc / dmc驱动程序?

2018年5月26日更新

修订2018年8月6日。

“blob”的新下载屏幕

最近,英特尔创建了一个新的下载页面和新的网页布局:

英特尔i915固件blob

下载文件现在称为固件blob ,它是固件驱动程序的新说法。 它代表B inary L arge OB ject(BLOB)。

驱动程序按处理器排序:

  • bxt Broxton,2016年取消,Cherry Trail处理器的继任者
  • kbl Kabylake,第7代,例如i7-7700
  • skl Skylake,第6代,例如i7-6700

然后驱动程序按子组进行组织( 此处有完整说明):

  • GUC – GuC旨在在各种图形并行引擎上执行图形工作负载调度。
  • DMC -DMC提供额外的图形低功耗空闲状态。
  • HUC -HuC旨在将一些媒体function从CPU卸载到GPU。

匹配错误消息到驱动程序所需

比较update-initramfsupdate-grub收到的错误消息,找到丢失的驱动程序。 在您的示例中,消息为“ /lib/firmware/i915/kbl_guc_ver9_14.bin ”,因此您在上面显示的网页中缺少名为kbl_guc_ver9_14.bin的Kabylake GuC。 你不想要更新的: kbl_guc_ver9_39.bin

需要下载驱动程序

在过去的版本中没有更多的安装脚本。 只需突出显示缺少的驱动程序(blob)并单击它即可。 出现此屏幕:

Intel i915驱动程序下载.png

最初,您只能看到“hex转储”,但在单击标题为plain的链接后,将显示如下图所示的下载窗口。

点击“保存文件”

用简单的sudo cp安装驱动程序(复制命令)

下载后,安装是一个简单的sudo cp (复制命令),没有复杂的tar命令或./script_name安装步骤。

快速安装

 cd ~/Downloads sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915 sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915 

重要信息:将上面的kbl_guc_ver9_14.binbxt_guc_ver8_7.bin替换为您下载的缺少的驱动程序名称。

瞧! 安装了新驱动程序。 比以前的安装方法更简单,因为缺少Intel i915驱动程序!

TL; DR探索性安装

我已经安装了驱动程序。 这种冗长的安装方法让您了解复制BLOB之前和之后的效果:

 $ sudo updatedb $ llocate kbl_guc_ver9_14.bin ACCESS OWNER GROUP SIZE MODIFIED NAME (updatdb last ran: 2018-05-26 12:07:57) -rw-rw-r-- rick rick 142656 2018-05-26 /home/rick/Downloads/kbl_guc_ver9_14.bin -rw-rw-r-- rick rick 142656 2017-02-24 /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin -rw-r--r-- root root 142656 2017-10-26 /lib/firmware/i915/kbl_guc_ver9_14.bin $ diff /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915/kbl_guc_ver9_14.bin # Blank line appears here signifying no differences from previous version $ sudo cp /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915 $ llocate kbl_guc_ver9_14.bin ACCESS OWNER GROUP SIZE MODIFIED NAME (updatdb last ran: 2018-05-26 12:07:57) -rw-rw-r-- rick rick 142656 2018-05-26 /home/rick/Downloads/kbl_guc_ver9_14.bin -rw-rw-r-- rick rick 142656 2017-02-24 /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin -rw-r--r-- root root 142656 2018-05-26 /lib/firmware/i915/kbl_guc_ver9_14.bin 

使用下面的locate命令代替llocate 。


2017年2月14日 – 英特尔发布了驱动程序

根据今天的错误报告( W:模块i915可能缺少固件/lib/firmware/i915/kbl_guc_ver9_14.bin )英特尔已经发布了所需的KabylakeBroxton驱动程序( https://01.org/linuxgraphics/downloads/固件 )网页:

用于Linux驱动程序的Intel Graphics

下载Kabylake ( GuC – Ver 9.14 )和( DMC – Ver 1.01 )和Broxton ( GuC – Ver 8.7 )的缺失驱动程序。 这些是.tar.gz.tar.bz2格式。

以“tar”格式安装驱动程序

虽然您可以运行install.sh脚本,但这些说明最简单。

切换到下载目录并validation文件是否存在:

 :~$ cd Downloads :~/Downloads$ ll *tar* -rw-rw-r-- 1 rick rick 69329 Feb 14 21:05 bxtgucver87.tar.gz -rw-rw-r-- 1 rick rick 4338 Feb 14 21:06 kbldmcver101.tar.bz2 -rw-rw-r-- 1 rick rick 70402 Feb 14 21:06 kblgucver914.tar.gz 

解压缩压缩的tar文件:

 :~/Downloads$ tar -zxvf bxtgucver87.tar.gz firmware/bxt/guc/bxt_guc_ver8_7/ firmware/bxt/guc/bxt_guc_ver8_7/install.sh firmware/bxt/guc/bxt_guc_ver8_7/ReleaseNotes.txt firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin :~/Downloads$ tar -xjvf kbldmcver101.tar.bz2 kbl_dmc_ver1_01/ kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin kbl_dmc_ver1_01/install.sh kbl_dmc_ver1_01/ReleaseNotes.txt :~/Downloads$ tar -zxvf kblgucver914.tar.gz firmware/kbl/guc/kbl_guc_ver9_14/ firmware/kbl/guc/kbl_guc_ver9_14/install.sh firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin firmware/kbl/guc/kbl_guc_ver9_14/ReleaseNotes.txt 

复制文件并更新initramfs

 :~/Downloads$ sudo cp -t /lib/firmware/i915/ firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin :~/Downloads$ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-4.9.9-040909-generic 

注意错误(警告)消息消失了!

删除工作文件

 :~/Downloads$ rm -r firmware kbl_dmc_ver1_01 *.tar.* 

历史(原件)post供参考

对于Kernel的4.6.3,4.7.1,4.7.2,4.7.3和4.7.5,我有两条关于缺少i915驱动程序的警告信息。 我已经忽略了它们,我的HD4000英特尔集成显卡已经很好了。 我希望关于Nvidia和Nouvaeu能说同样的话。

正如您的链接中的一个答案所述,您可以访问英特尔的网站,获取最新的Linux图形驱动程序: intel-linux-graphics-firmwares 。 然而,几个星期前,当我读到该网站时,我担心在不同场景下可能出现的所有问题,所以我选择退出。

你从9月24日开始安装4.8候选版本6吗? 这是Ubuntu中最新的,我相信。 你不必回答,但我很好奇你为什么选择4.8而不是4.7.5,即你需要解决的问题是什么。

编辑 – 2016年10月19日

现在使用内核版本4.8.1(真实版本,而不是发布候选版本)超过一个星期,事情很好。 这是在Ubuntu 16.04下。 Ubuntu 16.10于10月13日发布,我认为它使用的是内核版本4.8.0。

这不是我计划不断更新这个答案,但我想打破4.8版本候选人可能有问题的推断。 真正的版本没有。

编辑 – 2017年2月2日

现在运行内核版本4.9.5主线版本,此时Ubuntu 16.04已将其内核更新为4.4.0-59。 英特尔改变了它为英特尔图形Linux驱动程序的链接,我更新了上面的新链接。

当内核版本> 4.8(Ubuntu 16.10和Ubuntu 17.04)时, sudo update-initramfs -u生成的警告消息仍然存在问题:

 W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915 W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915 W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915 

正如错误报告( bugs.launchpad.net – linux固件错误 )中所述,驱动程序根本不存在,直到未来的芯片“kaby lake”被释放。

使警告消息消失

为了使警告消息消失,我做了以下事情:

 $ sudo cp assembly/hello /lib/firmware/i915/kbl_dmc_ver1_01.bin $ sudo cp assembly/hello /lib/firmware/i915/kbl_guc_ver9_14.bin $ sudo cp assembly/hello /lib/firmware/i915/bxt_guc_ver8_7.bin $ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-4.9.5-040905-generic 

瞧! 没有更多警告信息。

程序“hello”是一个504字节的汇编程序,写着“Hello World!”。 您可以将任何小型可执行文件复制到错误消息中给出的固件二进制文件中。 当英特尔最终发布它们时,软件更新程序将用真实版本替换它们。

如何浏览英特尔图形Linux网站

通过评论询问如何在新的英特尔网站( 01.org – Linux图形下载 )中导航,该网站显示以下屏幕:

适用于Linux的Intel Graphics 1

在搜索字段中键入Ubuntu 16.04 ,然后单击“ Filter按钮。

对于Ubuntu 16.10,选择第一个结果。 在我们的案例中,Ubuntu 16.04选择第二个结果INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2 ,此屏幕出现:

适用于Linux的英特尔图形2

在我的例子中,我选择了64位的Ubuntu 16.04,它将文件intel-graphics-update-tool_2.0.2_amd64.deb ~/Downloads到我的~/Downloads目录。

下一步是打开终端并使用:

 cd Downloads sudo dpkg -i intel*.deb 

注意: Intel使用ancients ttf字体,如果系统上没有安装,则安装将失败。 此时你需要使用:

 sudo apt -f install sudo apt update sudo apt upgrade 

现在,您可以运行Intel Graphics for Linux Updater工具,如下所示:

适用于Linux 3的Intel Graphics

为Ubuntu添加Intel签名

apt-get update期间,您可以看到如下警告/错误消息:

 W: GPG error: https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 56A3DEF863961D39 E: The repository 'https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease' is not signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. 

您需要使用以下命令添加英特尔的签名:

 wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | \ sudo apt-key add - 

然后在Ubuntu中更新:

 sudo apt update sudo apt upgrade 

您可以从英特尔网站https://01.org/linuxgraphics/downloads/firmware下载缺少的内核固件

  1. 下载所需的文件
  2. 使用tar -xvf扩展文件
  3. 使用sudo bash ./install --install安装驱动程序

重复所有提到的固件,然后重新启动

英特尔再次更改了该网站,现在重定向到git.kernel.org。

使用终端窗口(终端,PuTTY等或本地计算机)查看您的警告,然后每次使用Web浏览器(显示文件的hex转储)单击Intel的git页面中的链接,复制从转储上方的普通按钮链接位置,返回终端并忘记此链接。

一旦你得到了与每个警告相对应的文件, cpsudo cp它们发送到/lib/firmware/i915