在 ubuntu 17.10 上,我安装了最新的英特尔显卡固件:
skl_dmc_ver1_26
skl_guc_ver6_1
skl_huc_ver01_07_1398
从https://01.org/linuxgraphics/downloads/firmware使用 install.sh 脚本。升级到 ubuntu 18.04 后,我注意到此固件的较新版本已在 /lib/firmware/i915 中。
现在我不确定正在使用哪个固件版本——旧的还是新的?
dmesg | grep skl_
返回...skl_dmc_ver1_26.bin (v1.26)
- 这是否意味着仍在使用旧版本?
- guc 和 huc 怎么样?
- 我该如何将其更改为新版本?
答案1
简短答案
要更改正在使用的驱动程序,您需要更改内核版本。但是,除非有特殊原因,否则您不应该这样做。
长答案
这些install.sh
脚本已被弃用,不再使用。现在有斑点(二进制大对象)只需下载然后复制到 即可/lib/firmware/i915
。如果您点击您发布的链接,您将看到它已从上次下载时发生变化。
有关安装新斑点看:已将内核升级至 4.8,现在缺少固件警告
至于快速查看哪些 i915 驱动程序Skylake您已安装(但不一定在当前启动时处于活动状态)使用:
$ locate i915/skl_
/lib/firmware/i915/skl_dmc_ver1.bin
/lib/firmware/i915/skl_dmc_ver1_23.bin
/lib/firmware/i915/skl_dmc_ver1_26.bin
/lib/firmware/i915/skl_guc_ver1.bin
/lib/firmware/i915/skl_guc_ver1_1059.bin
/lib/firmware/i915/skl_guc_ver4.bin
/lib/firmware/i915/skl_guc_ver4_3.bin
/lib/firmware/i915/skl_guc_ver6.bin
/lib/firmware/i915/skl_guc_ver6_1.bin
/lib/firmware/i915/skl_guc_ver9_33.bin
/lib/firmware/i915/skl_huc_ver01_07_1398.bin
我注意到您的链接中有一个新版本skl_dmc_ver1_27.bin
,因此我下载了它然后运行:
$ sudo updatedb
[sudo] password for rick:
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:~$ locate dmc_ver1_27
/home/rick/Downloads/skl_dmc_ver1_27.bin
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:~$ sudo mv /lib/firmware/i915/skl_dmc_ver1_26.bin /lib/firmware/i915/skl_dmc_ver1_26.bin.old
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:~$ sudo mv /home/rick/Downloads/skl_dmc_ver1_27.bin /lib/firmware/i915/skl_dmc_ver1_27.bin
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:~$ sudo update-initramfs -u -k `uname -r`
update-initramfs: Generating /boot/initrd.img-4.14.42-041442-generic
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_26.bin for module i915
Adding /lib/firmware/i915/skl_guc_ver9_33.bin
因此,即使skl_dmc_ver1_27.bin
可用,它也无法与内核4.14
链一起使用,并且它仍在寻找skl_dmc_ver1_26.bin
。Ubuntu 18.04 使用4.15
内核链,因此显然它也在使用skl_dmc_ver1_26.bin
。
我刚刚下载了两天前发布的 Kernel 4.17,它使用了新的skl_dmc_ver1_27.bin
驱动程序:
$ sudo mv /lib/firmware/i915/skl_dmc_ver1_27.bin /lib/firmware/i915/skl_dmc_ver1_27.bin.old
$ sudo update-initramfs -u -k 4.17.0-041700-generic
update-initramfs: Generating /boot/initrd.img-4.17.0-041700-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/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
Adding /lib/firmware/i915/skl_guc_ver9_33.bin
注意它是如何寻找的/lib/firmware/i915/skl_dmc_ver1_27.bin
概括
- 内核
4.14
使用skl_dmc_ver1_26.bin
。 - 内核
4.17
使用skl_dmc_ver1_27.bin
。 /lib/firmware/i915/skl_guc_ver9_33.bin
4.14
被内核和所使用4.17
。
您还问过:“那guc和huc怎么样?” 古克上面立即回答了这个问题。至于休克担心从内核4.14
(及更早版本)到内核使用相同的版本4.17
:
rick@alien:~/Downloads$ sudo mv /lib/firmware/i915/skl_huc_ver01_07_1398.bin /lib/firmware/i915/skl_huc_ver01_07_1398.bin.old
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$ sudo update-initramfs -u -k `uname -r`
update-initramfs: Generating /boot/initrd.img-4.14.42-041442-generic
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_26.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin for module i915
Adding /lib/firmware/i915/skl_guc_ver9_33.bin