aboutsummaryrefslogtreecommitdiff
path: root/hosts/herra/drivers.nix
blob: 27b75aec2155aad9aaca8640f3d4f6cd7a548d0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{pkgs, ...}: {
  services.xserver.videoDrivers = ["amdgpu"]; # AMD GPU drivers
  boot.kernel.sysctl."kernel.sched_rt_runtime_us" = -1; # Realtime audio

  hardware = {
    graphics = {
      enable = true;
      enable32Bit = true; # CRITICAL for Steam/Proton
      extraPackages = with pkgs; [
        rocmPackages.clr.icd # OpenCL
      ];
      extraPackages32 = with pkgs; [
      ];
    };

    cpu.intel.updateMicrocode = true;

    enableRedistributableFirmware = true;
  };
  #TODO: FIX
  #boot.extraModulePackages = with boot.kernelPackages; [
  #  v4l2loopback
  #];
  boot.kernelModules = ["v4l2loopback"];
  boot.extraModprobeConfig = ''
    options v4l2loopback devices=1 video_nr=1 card_label="OBS Virtual Camera" exclusive_caps=1
  '';

  systemd.tmpfiles.rules = [
    "w /sys/class/drm/card1/device/power_dpm_force_performance_level - - - - manual"
    "w /sys/class/drm/card1/device/pp_dpm_sclk - - - - 7"
    "w /sys/class/drm/card1/device/pp_dpm_mclk - - - - 1"
  ];

  services.udev.extraRules = ''
    SUBSYSTEM=="hwmon", ATTRS{name}=="amdgpu", ATTR{power1_cap}="75000000"
  '';
}