Add a option to add(or disadd) amdgpu to kernelModule

Add a option to add(or disadd) amdgpu to boot.initrd.kernelModule
This commit is contained in:
ChaosAttractor 2022-12-16 05:01:50 +08:00
parent 1f60672721
commit a1a8723bf9

View file

@ -1,23 +1,35 @@
{ config, lib, pkgs, ... }:
{
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
amdvlk
];
hardware.opengl.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
hardware.opengl = {
driSupport = lib.mkDefault true;
driSupport32Bit = lib.mkDefault true;
options.hardware.amdgpu.loadInInitrd = lib.mkEnableOption (lib.mdDoc
"loading `amdgpu` kernelModule at stage 1. (Add `amdgpu` to `boot.initrd.kernelModules`)"
) // {
default = true;
};
environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
config = lib.mkMerge [
{
services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" ];
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
amdvlk
];
hardware.opengl.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
hardware.opengl = {
driSupport = lib.mkDefault true;
driSupport32Bit = lib.mkDefault true;
};
environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
}
(lib.mkIf config.hardware.amdgpu.loadInInitrd {
boot.initrd.kernelModules = [ "amdgpu" ];
})
];
}