42 lines
1.2 KiB
Nix
42 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
with config.deviceSpecific; {
|
|
config = lib.mkMerge [
|
|
({
|
|
hardware.cpu.${devInfo.cpu.vendor}.updateMicrocode = true;
|
|
hardware.enableRedistributableFirmware = true;
|
|
|
|
boot.initrd.kernelModules = if devInfo.gpu.vendor == "amd" then [
|
|
"amdgpu"
|
|
] else if devInfo.gpu.vendor == "intel" then [
|
|
"i915"
|
|
] else [ ];
|
|
})
|
|
(lib.mkIf (!isServer) {
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
extraPackages = if devInfo.gpu.vendor == "intel" then [
|
|
pkgs.intel-media-driver
|
|
pkgs.intel-vaapi-driver
|
|
pkgs.libvdpau-va-gl
|
|
] else if devInfo.gpu.vendor == "amd" then [
|
|
pkgs.rocmPackages.clr.icd
|
|
] else [ ];
|
|
};
|
|
|
|
hardware.amdgpu = lib.mkIf (devInfo.gpu.vendor == "amd") {
|
|
opencl.enable = true;
|
|
initrd.enable = config.boot.initrd.systemd.enable;
|
|
};
|
|
|
|
environment.sessionVariables = if (devInfo.gpu.vendor == "intel") then {
|
|
GST_VAAPI_ALL_DRIVERS = "1";
|
|
LIBVA_DRIVER_NAME = "iHD";
|
|
VDPAU_DRIVER = "va_gl";
|
|
} else if (devInfo.gpu.vendor == "amd") then {
|
|
AMD_VULKAN_ICD = "RADV";
|
|
} else {};
|
|
})
|
|
];
|
|
}
|