at 25.11-pre 1.3 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.hardware.amdgpu; 10in 11{ 12 options.hardware.amdgpu = { 13 legacySupport.enable = lib.mkEnableOption '' 14 using `amdgpu` kernel driver instead of `radeon` for Southern Islands 15 (Radeon HD 7000) series and Sea Islands (Radeon HD 8000) 16 series cards. Note: this removes support for analog video outputs, 17 which is only available in the `radeon` driver 18 ''; 19 initrd.enable = lib.mkEnableOption '' 20 loading `amdgpu` kernelModule in stage 1. 21 Can fix lower resolution in boot screen during initramfs phase 22 ''; 23 opencl.enable = lib.mkEnableOption ''OpenCL support using ROCM runtime library''; 24 # cfg.amdvlk option is defined in ./amdvlk.nix module 25 }; 26 27 config = { 28 boot.kernelParams = lib.optionals cfg.legacySupport.enable [ 29 "amdgpu.si_support=1" 30 "amdgpu.cik_support=1" 31 "radeon.si_support=0" 32 "radeon.cik_support=0" 33 ]; 34 35 boot.initrd.kernelModules = lib.optionals cfg.initrd.enable [ "amdgpu" ]; 36 37 hardware.graphics = lib.mkIf cfg.opencl.enable { 38 enable = lib.mkDefault true; 39 extraPackages = [ 40 pkgs.rocmPackages.clr 41 pkgs.rocmPackages.clr.icd 42 ]; 43 }; 44 }; 45 46 meta = { 47 maintainers = with lib.maintainers; [ johnrtitor ]; 48 }; 49}