Add the option of whether to install the opencl environment and whether to use amdvlk for amdgpu
This commit is contained in:
parent
b7ac0a5602
commit
5af4dc5d52
|
@ -6,11 +6,30 @@
|
||||||
) // {
|
) // {
|
||||||
default = true;
|
default = true;
|
||||||
};
|
};
|
||||||
|
options.hardware.amdgpu.amdvlk = lib.mkEnableOption (lib.mdDoc
|
||||||
|
"use amdvlk drivers instead mesa radv drivers"
|
||||||
|
) // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
options.hardware.amdgpu.opencl = lib.mkEnableOption (lib.mdDoc
|
||||||
|
"rocm opencl runtime (Install rocm-opencl-icd and rocm-opencl-runtime)"
|
||||||
|
) // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
{
|
{
|
||||||
services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" ];
|
services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" ];
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
driSupport = lib.mkDefault true;
|
||||||
|
driSupport32Bit = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(lib.mkIf config.hardware.amdgpu.loadInInitrd {
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
})
|
||||||
|
(lib.mkIf config.hardware.amdgpu.amdvlk {
|
||||||
hardware.opengl.extraPackages = with pkgs; [
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
rocm-opencl-icd
|
rocm-opencl-icd
|
||||||
rocm-opencl-runtime
|
rocm-opencl-runtime
|
||||||
|
@ -21,15 +40,13 @@
|
||||||
driversi686Linux.amdvlk
|
driversi686Linux.amdvlk
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.opengl = {
|
|
||||||
driSupport = lib.mkDefault true;
|
|
||||||
driSupport32Bit = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
|
environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
|
||||||
}
|
})
|
||||||
(lib.mkIf config.hardware.amdgpu.loadInInitrd {
|
(lib.mkIf config.hardware.amdgpu.opencl {
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
|
rocm-opencl-icd
|
||||||
|
rocm-opencl-runtime
|
||||||
|
];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue