kernel: add standalone amdgpu kernel module package
This commit is contained in:
parent
2006674aee
commit
80d814c9bf
|
@ -115,7 +115,6 @@
|
||||||
./hosts/monolith.nix
|
./hosts/monolith.nix
|
||||||
./system/monolith-gitlab-runner.nix
|
./system/monolith-gitlab-runner.nix
|
||||||
./system/nix-serve.nix
|
./system/nix-serve.nix
|
||||||
./system/amdgpu-kernel-patches.nix
|
|
||||||
] ++ common_modules;
|
] ++ common_modules;
|
||||||
};
|
};
|
||||||
rainbow = lib.nixosSystem {
|
rainbow = lib.nixosSystem {
|
||||||
|
|
|
@ -29,7 +29,13 @@ in
|
||||||
# hardware.opengl.extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
# hardware.opengl.extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
||||||
# environment.variables = { AMD_VULKAN_ICD = "RADV"; };
|
# environment.variables = { AMD_VULKAN_ICD = "RADV"; };
|
||||||
|
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [
|
||||||
|
((pkgs.amdgpu-kernel-module.override {
|
||||||
|
kernel = config.boot.kernelPackages.kernel;
|
||||||
|
}).overrideAttrs (_: {
|
||||||
|
patches = [ ../patches/kernel/amdgpu-disable-shutdown-on-overheating.diff ];
|
||||||
|
}))
|
||||||
|
];
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-label/BTRFS_ROOT";
|
device = "/dev/disk/by-label/BTRFS_ROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
|
|
38
pkgs/amdgpu-kernel-module.nix
Normal file
38
pkgs/amdgpu-kernel-module.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, kernel ? pkgs.linuxPackages_latest.kernel
|
||||||
|
}:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "amdgpu-kernel-module";
|
||||||
|
inherit (kernel) src version postPatch nativeBuildInputs;
|
||||||
|
|
||||||
|
kernel_dev = kernel.dev;
|
||||||
|
kernelVersion = kernel.modDirVersion;
|
||||||
|
|
||||||
|
modulePath = "drivers/gpu/drm/amd/amdgpu";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
|
||||||
|
|
||||||
|
cp $BUILT_KERNEL/Module.symvers .
|
||||||
|
cp $BUILT_KERNEL/.config .
|
||||||
|
cp $kernel_dev/vmlinux .
|
||||||
|
|
||||||
|
make "-j$NIX_BUILD_CORES" modules_prepare
|
||||||
|
make "-j$NIX_BUILD_CORES" M=$modulePath modules
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make \
|
||||||
|
INSTALL_MOD_PATH="$out" \
|
||||||
|
XZ="xz -T$NIX_BUILD_CORES" \
|
||||||
|
M="$modulePath" \
|
||||||
|
modules_install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "AMD GPU kernel module";
|
||||||
|
license = lib.licenses.gpl3;
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,4 +5,5 @@
|
||||||
plymouth-theme-red = pkgs.callPackage ./plymouth-theme-red.nix { inherit inputs; };
|
plymouth-theme-red = pkgs.callPackage ./plymouth-theme-red.nix { inherit inputs; };
|
||||||
cargo-checkmate = pkgs.callPackage ./cargo-checkmate.nix { };
|
cargo-checkmate = pkgs.callPackage ./cargo-checkmate.nix { };
|
||||||
lipsum = pkgs.callPackage ./lipsum.nix { inherit inputs; };
|
lipsum = pkgs.callPackage ./lipsum.nix { inherit inputs; };
|
||||||
|
amdgpu-kernel-module = pkgs.callPackage ./amdgpu-kernel-module.nix { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ config, pkgs, lib, inputs, ... }: {
|
|
||||||
# boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
|
||||||
boot.kernelPatches = [
|
|
||||||
{
|
|
||||||
name = "amdgpu-disable-shutdown-on-overtheating";
|
|
||||||
patch =
|
|
||||||
../patches/kernel/amdgpu-disable-shutdown-on-overtheating.diff;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
Loading…
Reference in a new issue