Debian (bullseye) 和 i915 固件

Debian (bullseye) 和 i915 固件

只是为了理解我在这里问......我收到消息

$ update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-5.9.0-1-amd64
W: Possible missing firmware /lib/firmware/i915/rkl_dmc_ver2_01.bin for module i915
update-initramfs: Generating /boot/initrd.img-5.8.0-3-amd64
W: Possible missing firmware /lib/firmware/i915/rkl_dmc_ver2_01.bin for module i915 

这让我想知道所安装的固件是否正确支持我的硬件。因此我试图得到这个版本2_01固件,但不幸的是我在任何地方都找不到它。我已经将非免费包含在我的源代码中,并且我还查看了 git 存储库git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git,但在那里我只找到版本2_02对于 rkl_dmc。

现在,既然安装了 ver2_02,我可以创建一个链接吗版本2_01指向版本2_02?上面的消息是否意味着我的某些功能无法正常工作 - 我该如何检查?由于i915与我的片上显卡有关(据我所知),我担心例如OpenGL可能无法正常工作!?

请问有人可以吗“照亮”为我解决这个问题,或者甚至可以给我指出一个解决方案?

亲切的问候,乔治

答案1

rkl显然是Rocket Lake,英特尔芯片组的代号,预计于 2021 年初发布。这是i915已经获得对尚未发布的硬件的支持的 Linux 驱动程序。

i915驱动程序涵盖了广泛的英特尔 iGPU,包括所有当前的 iGPU,有时甚至是不久将来的 iGPU(如果它们遵循与前身类似的设计)。

内核模块如i915指示它们的固件文件的元数据可能need:i915模块需要以这种方式声明所有支持的 Intel iGPU 版本的固件文件。

update-initramfs工具不够智能,无法交叉检查硬件信息以找出驱动i915程序声明的各种固件文件中的哪些实际需要由您的硬件决定,因此它只会尝试将所有这些都包含到 initramfs 中。

除非您已经安装了固件文件全部Intel iGPU 变体,您可能会收到一些令人讨厌的消息update-initramfs;但如果它们不是指您实际使用的 iGPU/芯片组版本,您可以简单地忽略它们。

dmc固件文件名中指的是“Display MicroController”。

Linux i915 驱动程序中的代码注释如下:

/**
 * DOC: csr support for dmc
 *
 * Display Context Save and Restore (CSR) firmware support added from gen9
 * onwards to drive newly added DMC (Display microcontroller) in display
 * engine to save and restore the state of display engine when it enter into
 * low-power state and comes back to normal.
 */

我没有发现任何迹象表明DMC除了省电之外还有其他用途,所以即使如果如果出现任何问题,它们更有可能出现在节能领域,而不是 OpenGL。

将固件版本要求从 2_01 更新到 2_02 的补丁是今年8月讨论过所以它仍然很新。看起来它没有进入你的内核版本(5.9),但它将进入内核版本 5.10。

而且,由于 Rocket Lake 芯片组尚未发布,因此rkl_dmc_ver2_01.bin可能仅在 Intel 内部分发(一些 Intel 开发人员也参与了 Linux 内核开发,你知道)。但出于同样的原因,除了来自 的一两条额外消息之外,这不太可能给您带来任何问题update-initramfs

在不太可能的情况下,您实际上正在测试预发布的硬件,您应该遵守合适的保密协议,并且您或您组织中的某人应该在英特尔有一个联系人,ver2_01如果您确实需要,他可以为您提供固件文件。

答案2

英特尔的 iGPU/WiFi 驱动程序通常使用未发布版本的固件,因此如果一切正常,则无需担心。暂时忽略警告即可。

此外,这个特定的固件(名称)对于您的硬件来说似乎也不正确。 RKL = Rocket Lake,一种尚未发布的 CPU。

答案3

我有同样的消息,但主线内核头包的安装因此失败。

我将 rkl_dmc_ver2_01.bin 链接到 rkl_dmc_ver2_02.bin,并且软件包安装成功。

应该不会有负面影响,尤其是像上面所说的那样,不太可能有人已经使用 rkl* 固件的硬件

相关内容