update kernel to 6.15-rc1

This commit is contained in:
Kopatz
2025-04-07 15:02:01 +02:00
parent c81286bcf3
commit 3c95718f63
2 changed files with 80 additions and 20 deletions

View File

@@ -0,0 +1,46 @@
{ pkgs, modulesPath, config, lib, ... }: {
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-graphical-gnome.nix"
];
# use the latest Linux kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.kernelModules = [ "nvidia" ];
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
users.users.root.initialHashedPassword = lib.mkForce "$y$j9T$PtiIvvs6UUq2PkyR9egC.0$/o9IIo66NmH8m/rW/DrhzZzY0IfA.FfYbxb6Pa.YPnD";
users.users.nixos.initialHashedPassword = lib.mkForce "$y$j9T$PtiIvvs6UUq2PkyR9egC.0$/o9IIo66NmH8m/rW/DrhzZzY0IfA.FfYbxb6Pa.YPnD";
hardware.graphics = {
enable = true;
enable32Bit = true;
};
boot.kernelParams =
[ "nvidia-drm.fbdev=1" ];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Open drivers with gsp stutters in VR - https://github.com/ValveSoftware/SteamVR-for-Linux/issues/631
gsp.enable = false;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# GSP must be enabled for this to work.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ pkgs, lib, config, ... }:
let
#amdgpu_module_pkg =
# { pkgs, lib, fetchurl, kernel ? pkgs.linuxPackages_latest.kernel, ... }:
@@ -46,25 +46,6 @@ let
# amdgpu_module = pkgs.callPackage amdgpu_module_pkg {
# kernel = config.boot.kernelPackages.kernel;
# };
in
{
#boot.extraModulePackages = [ amdgpu_module ];
#boot.kernelPackages = pkgs.linuxPackages_latest;
#boot.kernelPackages = pkgs.linuxPackages_testing;
#boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_6_13.override {
# argsOverride = rec {
# src = pkgs.fetchurl {
# url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
# sha256 = "07c08x68fgcsgriss5z8w427h69y52s887vas91jzb5p70hbcf9s";
# };
# version = "6.13.7";
# modDirVersion = "6.13.7";
# };
#});
boot.kernelPackages =
let
amd_drm_next_pkg = { fetchurl, buildLinux, ... }@args:
buildLinux (args // rec {
@@ -81,6 +62,39 @@ in
extraMeta.branch = "6.14.0-rc4";
} // (args.argsOverride or { }));
linux_amd_drm_next = pkgs.callPackage amd_drm_next_pkg { };
in
pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor linux_amd_drm_next);
linux_6_15 = pkgs.buildLinux {
version = "6.15.0-rc1";
extraMeta.branch = "6.15";
src = pkgs.fetchzip {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-6.15-rc1.tar.gz";
hash = "sha256-6TIBhh9ZuAcu0nHMeS1goGM43dU/OOOLtBNGaRAu404=";
};
};
in
{
#boot.extraModulePackages = [ amdgpu_module ];
#boot.kernelPackages = pkgs.linuxPackages_latest;
#boot.kernelPackages = pkgs.linuxPackages_testing;
#boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_6_13.override {
# argsOverride = rec {
# src = pkgs.fetchurl {
# url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
# sha256 = "07c08x68fgcsgriss5z8w427h69y52s887vas91jzb5p70hbcf9s";
# };
# version = "6.13.7";
# modDirVersion = "6.13.7";
# };
#});
nixpkgs.overlays = [
(final: prev: {
linuxPackages_latest = pkgs.linuxPackagesFor linux_6_15;
})
];
boot.kernelPackages = pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor (linux_6_15.override {
structuredExtraConfig = with lib.kernel; {
SCHED_DEBUG = lib.mkForce unset;
};
}));
}