many performance optimizations
This commit is contained in:
@@ -1,9 +1,20 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
hardware.cpu.amd = {
|
||||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
ryzen-smu.enable = true;
|
||||||
boot.binfmt.preferStaticEmulators = true;
|
updateMicrocode = true;
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
|
};
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot = {
|
||||||
}
|
binfmt = {
|
||||||
|
preferStaticEmulators = true;
|
||||||
|
emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
ryzen-monitor-ng.enable = true;
|
||||||
|
corectrl.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,8 +2,16 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
boot = {
|
||||||
boot.binfmt.preferStaticEmulators = true;
|
binfmt = {
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
|
preferStaticEmulators = true;
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
|
||||||
}
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
thermald.enable = true;
|
||||||
|
throttled.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
nixpkgs.config.rocmSupport = true;
|
nixpkgs.config.rocmSupport = true;
|
||||||
hardware = {
|
hardware = {
|
||||||
amdgpu = {
|
amdgpu = {
|
||||||
|
overdrive.enable = true;
|
||||||
opencl.enable = true;
|
opencl.enable = true;
|
||||||
initrd.enable = true;
|
initrd.enable = true;
|
||||||
zluda.enable = true;
|
zluda.enable = true;
|
||||||
|
|||||||
@@ -2,20 +2,24 @@
|
|||||||
{
|
{
|
||||||
boot.kernelParams = [ "i915.enable_guc=3" ];
|
boot.kernelParams = [ "i915.enable_guc=3" ];
|
||||||
# Graphics
|
# Graphics
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware = {
|
||||||
hardware.graphics = {
|
enableRedistributableFirmware = true;
|
||||||
enable = true;
|
intel-gpu-tools.enable = true;
|
||||||
enable32Bit = true;
|
graphics = {
|
||||||
extraPackages = with pkgs; [
|
enable = true;
|
||||||
# Required for modern Intel GPUs (Xe iGPU and ARC)
|
enable32Bit = true;
|
||||||
intel-media-driver # VA-API (iHD) userspace
|
extraPackages = with pkgs; [
|
||||||
vpl-gpu-rt # oneVPL (QSV) runtime
|
# Required for modern Intel GPUs (Xe iGPU and ARC)
|
||||||
|
intel-media-driver # VA-API (iHD) userspace
|
||||||
|
vpl-gpu-rt # oneVPL (QSV) runtime
|
||||||
|
|
||||||
# Optional (compute / tooling):
|
# Optional (compute / tooling):
|
||||||
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
|
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
|
||||||
# NOTE: 'intel-ocl' also exists as a legacy package; not recommended for Arc/Xe.
|
# NOTE: 'intel-ocl' also exists as a legacy package; not recommended for Arc/Xe.
|
||||||
libvdpau-va-gl # Only if you must run VDPAU-only apps
|
libvdpau-va-gl # Only if you must run VDPAU-only apps
|
||||||
vkbasalt
|
vkbasalt
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
virtualisation.kvmgt.enable = true;
|
||||||
|
}
|
||||||
|
|||||||
+36
-8
@@ -8,17 +8,45 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.fstrim.enable = true;
|
services.fstrim.enable = true;
|
||||||
services.system76-scheduler.enable = true;
|
services.system76-scheduler = {
|
||||||
#services.thermald.enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
processScheduler = {
|
||||||
|
foregroundBoost = {
|
||||||
|
#background = {
|
||||||
|
# ioClass = "idle";
|
||||||
|
#};
|
||||||
|
foreground = {
|
||||||
|
ioClass = "realtime";
|
||||||
|
class = "fifo";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pipewireBoost.profile = {
|
||||||
|
ioClass = "realtime";
|
||||||
|
class = "fifo";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
services.power-profiles-daemon.enable = true;
|
services.power-profiles-daemon.enable = true;
|
||||||
systemd.coredump.enable = false;
|
systemd.coredump = { # https://discourse.nixos.org/t/how-to-completely-disable-coredump/77335/11
|
||||||
|
enable = true;
|
||||||
|
settings.Coredump = {
|
||||||
|
Storage = "none";
|
||||||
|
ProcessSizeMax = "0";
|
||||||
|
};
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
algorithm = "zstd";
|
algorithm = "zstd";
|
||||||
memoryPercent = 90;
|
memoryPercent = 90;
|
||||||
};
|
};
|
||||||
services.udev.extraRules = ''
|
hardware.block.scheduler = {
|
||||||
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="kyber"
|
"mmcblk[0-9]*" = "bfq";
|
||||||
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
|
"nvme[0-9]*" = "kyber";
|
||||||
'';
|
"sd[a-z]" = "kyber";
|
||||||
}
|
};
|
||||||
|
services.scx = {
|
||||||
|
enable = true;
|
||||||
|
scheduler = "scx_cake";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user