Missing amdgpu firmware blobs since upgrading to kernel 6.15.x

Not sure if this is worth posting about since it doesn’t seem to cause any actual difference besides there being a few dmesg lines on boot but thought I’d try anyway:

After having recently upgraded my system (NixOS 25.05 on this thing, system config here) which bumped the kernel version to 6.15.2-zen1, I started getting boot messages related to amdgpu not being able to load a firmware blob of some kind:

[   38.643763] amdgpu 0000:06:00.0: Direct firmware load for amdgpu/raven_ip_discovery.bin failed with error -2
[   38.643778] amdgpu 0000:06:00.0: amdgpu: can't load firmware "amdgpu/raven_ip_discovery.bin"
[   38.644084] amdgpu 0000:06:00.0: amdgpu: failed to read ip discovery binary from file
[   38.644345] [drm:amdgpu_discovery_set_ip_blocks [amdgpu]] *ERROR* amdgpu_discovery_init failed

As it turns out, that file truly does not exist:

[user@a285:/nix/store/8pncaz101prqwhvcrdfx0pbmv4ayq5bf-linux-firmware-20250509-zstd/lib/firmware/amdgpu]$ ls raven*
raven2_asd.bin.zst       raven2_mec2.bin.zst  raven2_sdma.bin.zst  raven_ce.bin.zst          raven_me.bin.zst    raven_rlc.bin.zst
raven2_ce.bin.zst        raven2_mec.bin.zst   raven2_ta.bin.zst    raven_dmcu.bin.zst        raven_mec2.bin.zst  raven_sdma.bin.zst
raven2_gpu_info.bin.zst  raven2_pfp.bin.zst   raven2_vcn.bin.zst   raven_gpu_info.bin.zst    raven_mec.bin.zst   raven_ta.bin.zst
raven2_me.bin.zst        raven2_rlc.bin.zst   raven_asd.bin.zst    raven_kicker_rlc.bin.zst  raven_pfp.bin.zst   raven_vcn.bin.zst

[user@a285:/nix/store/8pncaz101prqwhvcrdfx0pbmv4ayq5bf-linux-firmware-20250509-zstd/lib/firmware/amdgpu]$ ls raven_ip_discovery.bin
ls: cannot access 'raven_ip_discovery.bin': No such file or directory

but I was not experiencing that issue with the previous kernel I was on (6.14.9), so maybe 6.15.x added something that tries to load it I guess? Rebooting into an earlier generation with the older kernel works just fine.

I guess I could just silence all kernel messages on boot, but that doesn’t quite feel right, so…

1 Like

Tried to build linux-firmware from latest commit:

  nixpkgs.overlays = [
    # Override linux-firmware
    (self: super: {
      linux-firmware = super.linux-firmware.overrideAttrs ( old: rec {
        version = "20250613-1d98972a56356ccd3193cb6f1a74a4e71d8c4e37";
        src = pkgs.fetchgit rec {
          url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
          rev = "1d98972a56356ccd3193cb6f1a74a4e71d8c4e37";
          hash = "sha256-WFBA4vPfV3ivKcXuEP9Gol0qBnY4oqGfKmslqxEr7Dc=";
        };
      });
    })
  ];

still getting it, and blob still does not exist (nor does it in upstream repo).

Decided to temporarily rebase the system to unstable ( - host os: Linux 6.15.2-zen1, NixOS, 25.11 (Xantusia), 25.11.20250617.9e83b64) and still a thing…

Confused because this right here (seems recent enough, though unlike me, it did cause actual issues for them) seems to imply switching to git main branch made it work for them (though they too said that that blob isn’t even in the repo…), which I tried and which didn’t work.

Fixed now, update your system