diff --git a/flake.nix b/flake.nix index 3456e24..062c997 100644 --- a/flake.nix +++ b/flake.nix @@ -96,6 +96,39 @@ allowUnfree = true; }; + channels.unstable.overlays = [ + (final: prev: { + rocm-runtime = prev.rocm-runtime.overrideAttrs (prevAttrs: { + patches = (prevAttrs.patches or [ ]) ++ [ + (final.fetchpatch { + # [PATCH] hsakmt: bump vgpr count for gfx1151 (#1807) (#1986) + # We apply only the change that adds a GFX_VERSION_GFX1151 define but + # *not* the default vgpr change which causes crashes on old kernels + # This was later partially reverted in # [PATCH] Revert "hsakmt: bump vgpr count for gfx1151 (#1807) (#1986)" + name = "rocr-runtime-gfx1151-vgpr.patch"; + url = "https://github.com/ROCm/rocm-systems/commit/09ba45b3f43ec333a84a0ca178fcd1e3ea9400a9.patch"; + relative = "projects/rocr-runtime"; + includes = [ "libhsakmt/src/libhsakmt.h" ]; + hash = "sha256-/V5i+sr88n7fK4yNjR/FpY0ZpiEG5xAD6Oq+9ZOikd4="; + }) + (final.fetchpatch { + # [PATCH] hsakmt: Expose and use CWSR and Control stack sizes (#2200) + # Fixes potential mismatches between stack sizes configured in amdgpu kernel module + # and userspace by relying on kernel value when available + # Falls back to hardcoded size based on ISA if kernel is too old. For gfx1151, also prints: + # WARNING: KFD ABI 1.20+ is recommended … This may result in faults, crashes and other application instability + # This allows new kernels to work with this runtime detection mechanism + # Only gfx1151 warns loudly because only it has had the size updated in kernel… + name = "rocr-runtime-kernel-stack-size.patch"; + url = "https://github.com/ROCm/rocm-systems/commit/7037a71f311c021974fafd13727dfefd8a1cc79d.patch"; + relative = "projects/rocr-runtime"; + hash = "sha256-EbDxuEvNu0fyQJZmqq0fbcCdNtaEWUbmyPLvcfqDPjc="; + }) + ]; + }); + }) + ]; + homes.modules = with inputs; [ neovim-flake.homeManagerModules.default ]; systems.modules.nixos = with inputs; [