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