nixdots/system/shared/hardware/gpu/amd.nix
2024-05-15 20:47:15 +02:00

40 lines
968 B
Nix

# WARNING: This file is currently untested
# (I didn't yet run this NixOS config on any AMD GPU systems)
{ config, lib, pkgs, ... }:
let
dev = config.myOptions.device;
in
{
config = lib.mkIf (dev.gpu.type == "amd") {
services.xserver.videoDrivers = lib.mkDefault ["modesetting" "amdgpu"];
boot = {
initrd.kernelModules = ["amdgpu"]; # load amdgpu kernel module as early as initrd
kernelModules = ["amdgpu"]; # if loading somehow fails during initrd but the boot continues, try again later
};
environment.systemPackages = with pkgs; [
mesa
vulkan-tools
vulkan-loader
vulkan-validation-layers
vulkan-extension-layer
];
# Enable OpenGL
hardware.opengl = {
enable = true;
# Enable OpenCL and AMDVLK
extraPackages = with pkgs; [
amdvlk
rcomPackages.clr.icd
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
};
}