This commit is contained in:
Bryan Ramos 2026-04-19 20:28:02 -04:00
parent 59347ec620
commit 9926a17d04

View file

@ -18,17 +18,22 @@
}; };
}; };
# The nixos-hardware Pi 4 profile ships a base DTB with gpu/v3d/hdmi nodes # Pi 4 GPU acceleration. Per the NixOS wiki, two options are needed:
# all status="disabled". The `vc4-kms-v3d.dtbo` overlay flips them on — but # fkms-3d -> enables the fake-KMS + V3D renderer overlay
# U-Boot (NixOS's bootloader path on aarch64 Pi) bypasses the Pi firmware's # apply-overlays-dtmerge -> activates the dtmerge-based overlay pipeline
# config.txt dtoverlay mechanism. Apply the overlay at NixOS build time so # Without apply-overlays-dtmerge, hardware.deviceTree.overlays entries are
# it's baked into the DTB U-Boot hands to the kernel. # silently ignored — they show up in the evaluated config but never get
hardware.deviceTree.overlays = [ # merged into the emitted DTB.
{ # https://wiki.nixos.org/wiki/NixOS_on_ARM/Raspberry_Pi_4
name = "vc4-kms-v3d"; hardware.raspberry-pi."4" = {
dtboFile = "${config.boot.kernelPackages.kernel}/dtbs/overlays/vc4-kms-v3d.dtbo"; fkms-3d.enable = true;
} apply-overlays-dtmerge.enable = true;
]; };
hardware.deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
};
# UUIDs are baked into the Hydra SD image — identical on every Pi flashed # UUIDs are baked into the Hydra SD image — identical on every Pi flashed
# from that image. FIRMWARE (FAT) holds the Pi bootloader; NIXOS_SD (ext4) # from that image. FIRMWARE (FAT) holds the Pi bootloader; NIXOS_SD (ext4)