Cannot build raspberry-pi sdimage: Module dw-hdmi not found

kernel version is 6.12.47
root module: 3w-9xxx
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/3w-9xxx.ko.xz
root module: 3w-xxxx
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/3w-xxxx.ko.xz
root module: ahci
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/ata/libata.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/ata/libahci.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/ata/ahci.ko.xz
root module: aic79xx
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/scsi_transport_spi.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/aic7xxx/aic79xx.ko.xz
root module: aic7xxx
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/scsi_transport_spi.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/aic7xxx/aic7xxx.ko.xz
root module: analogix-anx6345
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/base/regmap/regmap-i2c.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/media/cec/core/cec.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/gpu/drm/display/drm_display_helper.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/gpu/drm/bridge/analogix/analogix_dp.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/gpu/drm/bridge/analogix/analogix-anx6345.ko.xz
root module: analogix-dp
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/media/cec/core/cec.ko.xz
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/gpu/drm/display/drm_display_helper.ko.xz
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/gpu/drm/bridge/analogix/analogix_dp.ko.xz
root module: arcmsr
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/scsi/arcmsr/arcmsr.ko.xz
root module: ata_piix
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/ata/libata.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/ata/ata_piix.ko.xz
root module: axp20x-ac-power
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/iio/industrialio.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/power/supply/axp20x_ac_power.ko.xz
root module: axp20x-battery
  dependency already copied: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/iio/industrialio.ko.xz
  copying dependency: /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47/kernel/drivers/power/supply/axp20x_battery.ko.xz
root module: dw-hdmi
modprobe: FATAL: Module dw-hdmi not found in directory /nix/store/4k6s35l4wh244mrcng416xkc4cln8m3p-linux-rpi-6.12.47-stable_20250916-modules/lib/modules/6.12.47

using nixos-hardware.nixosModules.raspberry-pi-4

boot.initrd.allowMissingModules = true;

It should also work to correctly set boot.initrd.availableKernelModules to the right set for rpi 4. That probably belongs in nixos-hardware, though.

The only way I found that this would work is if using mkForce, which I’d like to avoid, as the lists get merged, and the list that comes from “${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix” includes the wrong modules.

If anyone has a better option, I’d like to know about it. I don’t like allowing missing modules, and I don’t want to mkForce, as could end up missing important new modules that show up.

I had this exact problem just yesterday. You can disable specific modules with boot.initrd.availableKernelModules.foo = lib.mkForce false. You can also disable hardware.enableAllHardware (the sd image enables it) to stop dw-hdmi being enabled in the first place, but if you do that I suggest checking the definition to see what else will be removed.

1 Like

Hey, that fixed it! I was able to turn off boot.initrd.allowMissingModules.

Here is how this ended up:

availableKernelModules = {
  # other modules go here

  # todo: remove this when this is fixed: https://github.com/NixOS/nixpkgs/issues/154163
  # related: https://github.com/NixOS/nixpkgs/issues/109280
  # related: https://discourse.nixos.org/t/cannot-build-raspberry-pi-sdimage-module-dw-hdmi-not-found/71804
  dw-hdmi = lib.mkForce false;
  dw-mipi-dsi = lib.mkForce false;
  rockchipdrm = lib.mkForce false;
  rockchip-rga = lib.mkForce false;
  phy-rockchip-pcie = lib.mkForce false;
  pcie-rockchip-host = lib.mkForce false;
  pwm-sun4i = lib.mkForce false;
  sun4i-drm = lib.mkForce false;
  sun8i-mixer = lib.mkForce false;
};

Thanks for the tip!

2 Likes