2019年5月20日更新
回答你的问题,如果你没有运行某个处理器,就不需要更新驱动程序,但当你这样做时,警告消失了也是件好事。
今天我收到了这些警告:
update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915
我下载了 blobs(在下一节中描述),然后使用:
$ sudo cp ~/Downloads/*.bin /lib/firmware/i915/
$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic
现在我的
Sky Lake (
skl
) 驱动程序已经更新,我可以尝试在网上推荐的最新内核参数。未来处理器
Kaby Lake (
kbl
)、
Cannon Lake (
cnl
) 和
Ice Lake (
icl
) 的警告消息已消失,使生活更轻松。
2018年5月26日更新
2018年8月6日小修订。
“blob”新的下载界面
最近,英特尔创建了一个新的下载页面和新的网页布局:
下载文件现在被称为固件“块”,这是对固件“驱动程序”的新说法。它代表二进制大对象(BLOB)。
驱动程序按处理器进行分类:
- `bxt`:Broxton,2016年取消,是Cherry Trail处理器的继任者。
- `kbl`:Kabylake,第7代,例如i7-7700。
- `skl`:Skylake,第6代,例如i7-6700。
然后,驱动程序按子组进行组织(完整解释请点击
此处):
- `GUC`:GuC旨在对各种图形并行引擎进行图形工作负载调度。
- `DMC`:DMC提供额外的图形低功耗空闲状态。
- `HUC`:HuC旨在将一些媒体功能从CPU卸载到GPU上。
将错误消息与所需驱动程序匹配。
比较您收到的错误消息,通过 "update-initramfs" 或 "update-grub" 找到缺失的驱动程序。在您的示例中,消息是 "
/lib/firmware/i915/kbl_guc_ver9_14.bin
",所以您缺少名为 "kbl_guc_ver9_14.bin" 的Kabylake GuC。您不需要更新版本的 "kbl_guc_ver9_39.bin"。
下载所需驱动程序
与过去版本不同,现在没有安装脚本了。只需将缺失的驱动程序(blob)突出显示并单击它。将显示以下屏幕:
最初你只会看到“十六进制转储”,但在点击标题为
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.bin
和bxt_guc_ver8_7.bin
替换为您下载的缺失驱动程序名称。
大功告成!新驱动已安装。比以前安装缺失的Intel i915驱动程序的方法简单得多!
简短概述安装过程
我已经安装了该驱动程序。这个冗长的安装方法让您了解在复制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。
2月14日,2017年 - Intel发布了驱动程序
根据今天的错误报告(
W:可能缺少模块i915的/lib/firmware/i915/kbl_guc_ver9_14.bin固件),Intel已在其(
https://01.org/linuxgraphics/downloads/firmware)网页上发布了所需的Kabylake和Broxton驱动程序。
下载Kabylake (GuC - Ver 9.14)和(DMC - Ver 1.01)以及Broxton (GuC - Ver 8.7)的缺失驱动程序。这些驱动程序以.tar.gz
和.tar.bz2
格式提供。
安装"tar"格式的驱动程序
虽然您可以运行install.sh
脚本,但以下说明是最简单的。
切换到下载目录并验证文件是否存在:
:~$ 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.*
历史(原始)帖子供参考
我在内核版本4.6.3、4.7.1、4.7.2、4.7.3和4.7.5上收到了两个关于缺少i915驱动程序的警告消息。我忽略了它们,我的HD4000 Intel集成显卡运行良好。但是对于Nvidia和Nouveau来说,情况可能不一样。
正如您链接中的一个回答所述,您可以访问Intel的网站以获取最新的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。Intel更改了其“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 firmware bug),驱动程序根本不存在,并且直到未来发布名为“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 Graphics Downloads)中导航,该网站呈现以下屏幕:
在搜索框中输入“Ubuntu 16.04”,然后点击“筛选”按钮。
对于Ubuntu 16.10,请选择第一个结果。在我们的情况下,选择第二个结果“INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2”,然后会出现以下屏幕:
在我的情况下,我选择了Ubuntu 16.04 64位版本,它会将文件
intel-graphics-update-tool_2.0.2_amd64.deb
下载到我的
~/Downloads
目录中。
下一步是打开终端并使用以下命令:
cd Downloads
sudo dpkg -i intel*.deb
注意:Intel使用古老的ttf字体,如果您的系统中没有安装该字体,安装将失败。此时您需要执行以下操作:
sudo apt -f install
sudo apt update
sudo apt upgrade
现在你可以运行“Intel Graphics for Linux Updater”工具,就像这个屏幕显示的那样:
为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.
您需要使用以下方法添加Intel的签名:
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
W: 可能缺少固件 /lib/firmware/i915/kbl_dmc_ver1.bin 用于模块 i915_bpo
的警告,并且我的CPU是带有Intel HD的Skylake。 - Csaba Toth1.158
版本的linux-firmware
软件包,而不是主线版本的1.157
,因为只有这个版本提供适用于我的无线网络(Killer Wireless)的工作固件。 - Csaba Tothkbl
代表Kabylake,它是Skylake的后继者。由于您没有这样的CPU,您可以选择忽略警告,或者只需从Doug Smythies回答中提供的相同链接安装Kabylake驱动程序。 - Byte Commander