550: Add amdvlk and opencl options to amdgpu & Fix proton crash when Dual-Direct GFX enabled for lenovo legion 16ach6h r=Mic92 a=LostAttractor



Co-authored-by: ChaosAttractor <46527539+LostAttractor@users.noreply.github.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
This commit is contained in:
bors[bot]
2023-02-09 09:06:46 +00:00
committed by GitHub
3 changed files with 54 additions and 12 deletions

View File

@@ -6,11 +6,30 @@
) // {
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 [
{
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; [
rocm-opencl-icd
rocm-opencl-runtime
@@ -20,16 +39,14 @@
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" ];
})
(lib.mkIf config.hardware.amdgpu.opencl {
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
})
];
}