On Thursday, 13 June 2024 04:11:40 BST Walter Dnes wrote:
> On Tue, Jun 11, 2024 at 07:45:09PM +0100, Michael wrote
> 
> > The above errors are an indication something is amiss with the
> > requisite firmware for your graphics.
> > 
> > Have you specified this in your kernel, or in your initramfs?
> 
>   OK, I've downloaded kbl_dmc_ver1_04.bin now, but I'm having problems
> implementing it.  First I saved it to /lib/firmware, entered the
> firmware name in "make menuconfig" (Build named firmware blobs into the
> kernel) and recompiled; same error message about no such file.
> 
>   Then I created subdirectory /lib/firmware/i915 and moved the bin there.
> I changed the entry in "make menuconfig" to "i915/kbl_dmc_ver1_04.bin"
> and recompiled.  It finds the file now, but still errors out.  dmesg says
> 
> =========================================================================
> [    0.221960] Loading firmware: i915/kbl_dmc_ver1_04.bin
> [    0.221962] i915 0000:00:02.0: [drm] *ERROR* DMC firmware has wrong CSS
> header length (1097158924 bytes) [    0.221964] i915 0000:00:02.0: [drm]
> Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime
> power management. [    0.221967] i915 0000:00:02.0: [drm] DMC firmware
> homepage:
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
> /tree/i915
> =========================================================================
> 
>   Any ideas what I'm doing wrong?  And why is it trying to load the file
> even after I (try to) build it into the kernel?

For the firmware file(s) code to be built into the kernel *all* necessary 
firmware files must be present in your filesystem and the path for these 
defined.  The i915 directory contains the attached list of files on my system.

You can fetch these individually, or it would make more sense to emerge sys-
kernel/linux-firmware.  This package will fetch way more than the firmware 
files you need for your hardware.  You can configure it to only fetch the 
files you actually need and use, thereafter:

https://wiki.gentoo.org/wiki/Linux_firmware#Optional:_Savedconfig

but it will require to emerge the package twice each time.

Using sys-kernel/linux-firmware is a better idea than manually downloading 
individual files, because the package is updated regularly with any changes 
released by the OEMs, but either will work as long as all the needed files are 
present.

PS. Your post prompted me to look into an old i915 system, where I discovered 
a kernel trace hidden undetected in dmesg!  Thank you.  :-)
~ $ ls -la /lib/firmware/i915/*kbl*
lrwxrwxrwx 1 root root     19 May 20 12:18 /lib/firmware/i915/kbl_dmc_ver1.bin 
-> kbl_dmc_ver1_01.bin
-rw-r--r-- 1 root root   8616 May 20 12:18 
/lib/firmware/i915/kbl_dmc_ver1_01.bin
-rw-r--r-- 1 root root   8840 May 20 12:18 
/lib/firmware/i915/kbl_dmc_ver1_04.bin
-rw-r--r-- 1 root root 176448 May 20 12:18 /lib/firmware/i915/kbl_guc_32.0.3.bin
-rw-r--r-- 1 root root 182912 May 20 12:18 /lib/firmware/i915/kbl_guc_33.0.0.bin
-rw-r--r-- 1 root root 197184 May 20 12:18 /lib/firmware/i915/kbl_guc_49.0.1.bin
-rw-r--r-- 1 root root 200448 May 20 12:18 /lib/firmware/i915/kbl_guc_62.0.0.bin
-rw-r--r-- 1 root root 217664 May 20 12:18 /lib/firmware/i915/kbl_guc_69.0.3.bin
-rw-r--r-- 1 root root 206976 May 20 12:18 /lib/firmware/i915/kbl_guc_70.1.1.bin
-rw-r--r-- 1 root root 142656 May 20 12:18 
/lib/firmware/i915/kbl_guc_ver9_14.bin
-rw-r--r-- 1 root root 147776 May 20 12:18 
/lib/firmware/i915/kbl_guc_ver9_39.bin
-rw-r--r-- 1 root root 226048 May 20 12:18 /lib/firmware/i915/kbl_huc_4.0.0.bin
-rw-r--r-- 1 root root 218688 May 20 12:18 
/lib/firmware/i915/kbl_huc_ver02_00_1810.bin

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to