如何仅使用 FOSS 解决“W:模块 i915 可能缺少固件 /lib/firmware/i915/skl_huc_2.0.0.bin”? (不含任何非免费软件包)

如何仅使用 FOSS 解决“W:模块 i915 可能缺少固件 /lib/firmware/i915/skl_huc_2.0.0.bin”? (不含任何非免费软件包)

运行时sudo apt-get upgrade我得到以下输出:

Processing triggers for initramfs-tools (0.140) ...
update-initramfs: Generating /boot/initrd.img-5.10.0-16-amd64
W: Possible missing firmware /lib/firmware/i915/skl_huc_2.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_huc_2.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_huc_4.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_huc_4.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_huc_4.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cml_huc_4.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cml_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_huc_9.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_guc_33.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/ehl_huc_9.0.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/ehl_guc_33.0.4.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_huc_7.5.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_guc_35.2.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_huc_7.5.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_guc_35.2.0.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
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/glk_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_09.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_dmc_ver2_08.bin for module i915
W: Possible missing firmware /lib/firmware/i915/rkl_dmc_ver2_02.bin for module i915
Processing triggers for hicolor-icon-theme (0.17-2) ...

启动时我得到这个输出:

i915...: firmware: failed to load i915/kb1_dmc_ver1_04.bin (-2)
firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware

来自有关类似消息的其他问题,例如,看来需要安装一下firmware-misc-nonfree。但是,这不是免费软件。此外,显卡似乎可以在没有任何非免费软件包的情况下工作,所以我不知道这是否有用/需要什么。

  • 如果不需要,如何在不安装任何非免费软件包的情况下使这些消息消失?如果是这种情况,那么这些消息不应显示。
  • 如果有什么需要它,它的用途是什么?是否可以使这些东西仅与 FOSS 一起工作?如何使其仅与 FOSS 一起使用?例如,一个人可能只需要其中包含的一个软件包firmware-misc-nonfree,并且该软件包现在可能是免费软件,或者有计划,因此将来它将是免费的,或者有一个 FOSS 替代品(正在开发,计划中)或完成)。

答案1

/usr/share/initramfs-tools/hook-functions每当将模块添加到 initramfs 时,都会生成构建 initramfs 时显示的消息,列出固件文件(请参阅 参考资料sudo modinfo i915),而这些固件文件并不存在于 initramfs 中。有两种方法可以避免此类消息:

  • 修改/usr/share/initramfs-tools/hook-functions以停止生成它们(这将一直有效到下一次initramfs-tools更新);
  • 编辑以从/etc/initramfs-tools/initramfs.conf切换到(生成的 initramfs 将不再包含,这意味着初始化将在启动期间稍后进行)。MODULESdepmosti915i915

在某些情况下,i915无需固件即可完全工作;值得注意的是,Skylake 之前的 Intel iGPU 不使用固件。在加载固件的系统(包括您的系统)上,如果无法加载固件,则各种功能将被禁用。您应该在内核日志中找到指示这一点的日志消息(运行sudo dmesg);例如,缺少 DMC 固件应导致显示一条消息“无法加载 DMC 固件 kbl_dmc_ver1_04.bin。禁用运行时电源管理。”如果您不需要这些功能,那么您可以不使用固件,并且可以通过丢弃 DRM 通知来删除消息(请参阅降低内核启动日志详细级别)。

Intel iGPU 固件没有自由和开源软件替代品。

相关内容