Fix suspend on pulse

This commit is contained in:
Tristan D. 2024-05-03 17:39:43 +02:00
parent 3deade5f4d
commit 8795d17527
Signed by: tristan
SSH key fingerprint: SHA256:U7y6eMb7CQDaTHv9XoX6/BaQnPqyxxKc+Xnfcefi6rY
7 changed files with 63 additions and 48 deletions

17
flake.lock generated
View file

@ -824,6 +824,22 @@
"url": "https://git.vlt81.de/tristan/nixinate.git" "url": "https://git.vlt81.de/tristan/nixinate.git"
} }
}, },
"nixos-hardware": {
"locked": {
"lastModified": 1714465198,
"narHash": "sha256-ySkEJvS0gPz2UhXm0H3P181T8fUxvDVcoUyGn0Kc5AI=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "68d680c1b7c0e67a9b2144d6776583ee83664ef4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1714253743, "lastModified": 1714253743,
@ -1132,6 +1148,7 @@
"nix-ld-rs": "nix-ld-rs", "nix-ld-rs": "nix-ld-rs",
"nix-wallpaper": "nix-wallpaper", "nix-wallpaper": "nix-wallpaper",
"nixinate": "nixinate", "nixinate": "nixinate",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nixtheplanet": "nixtheplanet", "nixtheplanet": "nixtheplanet",

View file

@ -7,6 +7,9 @@
nixpkgs-unstable = { nixpkgs-unstable = {
url = "github:NixOS/nixpkgs/nixpkgs-unstable"; url = "github:NixOS/nixpkgs/nixpkgs-unstable";
}; };
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
};
nixpkgs = { nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable"; url = "github:NixOS/nixpkgs/nixos-unstable";
}; };
@ -57,6 +60,7 @@
{ self { self
, nixpkgs , nixpkgs
, nixpkgs-unstable , nixpkgs-unstable
, nixos-hardware
, nixtheplanet , nixtheplanet
, nixinate , nixinate
, home-manager , home-manager

View file

@ -1,50 +1,37 @@
{ config { config
, lib , lib
, pkgs , pkgs
, inputs
, ... , ...
}: { }: {
boot = {
initrd.availableKernelModules = [ "amdgpu" ];
kernelModules = [ "amdgpu" ];
# kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" ];
};
programs.corectrl = { programs.corectrl = {
enable = true; enable = true;
gpuOverclock.enable = true; gpuOverclock.enable = true;
}; };
# services.xserver.videoDrivers = [ "amdgpu" ];
services.xserver.videoDrivers = lib.mkDefault [ "modesetting" ];
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages_5.clr}" "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
"L+ /opt/rocm/rocblas - - - - ${pkgs.rocmPackages_5.rocblas}" "L+ /opt/rocm/rocblas - - - - ${pkgs.rocmPackages.rocblas}"
"L+ /opt/rocm/hipblas - - - - ${pkgs.rocmPackages_5.hipblas}" "L+ /opt/rocm/hipblas - - - - ${pkgs.rocmPackages.hipblas}"
"L+ /opt/rocm/clang - - - - ${pkgs.rocmPackages_5.llvm.clang}" "L+ /opt/rocm/clang - - - - ${pkgs.rocmPackages.llvm.clang}"
"L+ /opt/rocm/runtime - - - - ${pkgs.rocmPackages_5.rocm-runtime}" "L+ /opt/rocm/runtime - - - - ${pkgs.rocmPackages.rocm-runtime}"
]; ];
hardware.opengl = {
driSupport = true; hardware = {
driSupport32Bit = true; opengl = {
extraPackages = with pkgs; [ extraPackages = with pkgs; [
amdvlk vaapiVdpau
rocmPackages_5.rocm-runtime libvdpau-va-gl
rocmPackages_5.llvm.clang obs-studio-plugins.obs-vaapi # TODO check if obs is enabled
rocm-opencl-icd gst_all_1.gstreamer
rocm-opencl-runtime gst_all_1.gst-vaapi
vaapiVdpau ];
libvdpau-va-gl extraPackages32 = with pkgs; [
# libva1 driversi686Linux.vaapiVdpau
obs-studio-plugins.obs-vaapi # TODO check if obs is enabled driversi686Linux.libvdpau-va-gl
gst_all_1.gstreamer ];
gst_all_1.gst-vaapi };
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
driversi686Linux.vaapiVdpau
driversi686Linux.libvdpau-va-gl
];
}; };
# Force radv # Force radv

View file

@ -12,6 +12,8 @@
gnome.gnome-boxes gnome.gnome-boxes
]; ];
boot.kernelModules = [ "kvm-amd" ]; # TODO check cpu and enable intel kvm if needed
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
package = pkgs.docker; package = pkgs.docker;

View file

@ -8,6 +8,11 @@
}: { }: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-gpu-amd
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
../../os-mods/amdgpu ../../os-mods/amdgpu
../../os-mods/cachix ../../os-mods/cachix
../../os-mods/common ../../os-mods/common
@ -51,7 +56,6 @@
systemd.enable = true; systemd.enable = true;
}; };
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
}; };
@ -61,9 +65,8 @@
hostName = "nixos-desk"; hostName = "nixos-desk";
useDHCP = lib.mkDefault true; useDHCP = lib.mkDefault true;
}; };
hardware = { hardware = {
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; enableRedistributableFirmware = true;
}; };
zramSwap.enable = true; zramSwap.enable = true;

View file

@ -8,6 +8,8 @@
}: { }: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
../../os-mods/cachix ../../os-mods/cachix
../../os-mods/common ../../os-mods/common
../../os-mods/netdata ../../os-mods/netdata
@ -108,7 +110,6 @@
]; ];
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
kernelParams = [ kernelParams = [
# "ip=192.168.1.35::192.168.1.1:255.255.255.0:my-server-initrd:eth0:none" # "ip=192.168.1.35::192.168.1.1:255.255.255.0:my-server-initrd:eth0:none"
@ -161,7 +162,6 @@
hardware = { hardware = {
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}; };
services.netdata.config = { services.netdata.config = {

View file

@ -8,6 +8,11 @@
}: { }: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-hidpi
inputs.nixos-hardware.nixosModules.common-pc-laptop-acpi_call
inputs.nixos-hardware.nixosModules.tuxedo-pulse-15-gen2
../../os-mods/amdgpu ../../os-mods/amdgpu
../../os-mods/cachix ../../os-mods/cachix
../../os-mods/common ../../os-mods/common
@ -22,6 +27,8 @@
./disko.nix ./disko.nix
]; ];
programs.corectrl.gpuOverclock.enable = lib.mkForce false;
nix.settings.system-features = [ nix.settings.system-features = [
"benchmark" "benchmark"
"big-parallel" "big-parallel"
@ -35,14 +42,10 @@
kernelPackages = pkgs.pkgsx86_64_v3.linuxPackages_cachyos; kernelPackages = pkgs.pkgsx86_64_v3.linuxPackages_cachyos;
kernelPatches = [ ]; kernelPatches = [ ];
kernelParams = [ kernelParams = [
"pcie_aspm=force" # "pcie_aspm=force"
"pcie_aspm.policy=powersupersave" # "pcie_aspm.policy=powersupersave"
# "amd_pstate.shared_mem=1" # "rtc_cmos.use_acpi_alarm=1" # reduce S0 sleep wakeups
# "amd_pstate=passive" # "gpiolib_acpi.ignore_interrupt=AMDI0030:00@9" # mask IRQ 9 ?
# "initcall_blacklist=acpi_cpufreq_init"
# "initcall_blacklist=hsmp_plt_init"
# "gpiolib_acpi.ignore_interrupt=AMDI0030:00@9"
"rtc_cmos.use_acpi_alarm=1" # reduce S0 sleep wakeups
]; ];
loader = { loader = {
systemd-boot = { systemd-boot = {
@ -58,7 +61,6 @@
systemd.enable = true; systemd.enable = true;
}; };
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
}; };