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
signature.asc
Description: This is a digitally signed message part.

