perf: change offload to nvidia-offload

This commit is contained in:
DACHXY 2025-04-01 12:25:58 +08:00
parent 3ddbca3f7c
commit 67826a3658
17 changed files with 163 additions and 254 deletions

View file

@ -4,16 +4,6 @@
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
fileSystems."/mnt/storage" = {
device = "router.dn:/mnt/storage";
fsType = "nfs";
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=600"
];
};
# Enable F keys in some wireless keyboard (Ex. neo65)
boot.extraModprobeConfig = ''
options hid_apple fnmode=2

View file

@ -20,16 +20,6 @@
];
};
fileSystems."/mnt/storage" = {
device = "router.dn:/mnt/storage";
fsType = "nfs";
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=600"
];
};
fileSystems."/mnt/windows" = {
device = "/dev/disk/by-uuid/460237D00237C429";
fsType = "ntfs-3g";

View file

@ -38,13 +38,11 @@ in
})
../../modules/gaming.nix
../../modules/wireguard.nix
../../modules/dn-ca.nix
(import ../../modules/wallpaper-engine.nix {
offload = nvidia-offload-enabled;
})
../../modules/wine.nix
../../modules/secure-boot.nix
../../modules/kubernetes.nix
];
# Overrides
@ -54,24 +52,7 @@ in
services.wallpaperEngine.enable = lib.mkForce false;
environment.systemPackages = [
pkgs.lunar-client
(pkgs.ferium.overrideAttrs (
final: prev: rec {
cargoHash = "sha256-yedl4KQCpT7Ai1EPvwD5kzhkHesIjGVAcxKjp5k2jmI=";
version = "4.7.0";
src = pkgs.fetchFromGitHub {
owner = "gorilla-devs";
repo = prev.pname;
rev = "v${version}";
hash = "sha256-jj3BdaxH7ofhHNF2eu+burn6+/0bPQQZ8JfjXAFyN4A=";
};
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
inherit (final) pname src version;
hash = final.cargoHash;
};
}
))
pkgs.prismlauncher
];
home-manager = {

View file

@ -1,5 +1,6 @@
{
lib,
pkgs,
...
}:
@ -28,6 +29,11 @@
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
extraPackages = with pkgs; [
mangohud
gamescope
];
};
};

View file

@ -7,7 +7,7 @@
}:
let
pkgs-unstable = inputs.hyprland.inputs.nixpkgs.legacyPackages.${system};
pkgs-hyprland = inputs.hyprland.inputs.nixpkgs.legacyPackages.${system};
in
{
hardware = {
@ -29,8 +29,8 @@ in
graphics = {
enable = true;
enable32Bit = true;
package32 = pkgs-unstable.pkgsi686Linux.mesa.drivers;
package = pkgs-unstable.mesa.drivers;
package32 = pkgs-hyprland.pkgsi686Linux.mesa;
package = pkgs-hyprland.mesa;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiVdpau

View file

@ -17,14 +17,9 @@ in
lib,
...
}:
# Nvidia offload mode
let
offload = import ./offload.nix { inherit pkgs; };
in
lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
environment.systemPackages = with pkgs; [
offload
nvtopPackages.nvidia
vulkan-loader
vulkan-validation-layers

View file

@ -1,10 +0,0 @@
{
pkgs,
}:
pkgs.writeShellScriptBin "offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
''

View file

@ -27,7 +27,10 @@
xserver = {
enable = false;
xkb.layout = "us";
xkb = {
layout = "us";
options = "caps:swapescape";
};
};
# USB auto mount

View file

@ -3,12 +3,11 @@
offload ? false,
...
}:
{ pkgs, lib, ... }:
{ lib, ... }:
let
wallpaper = "3029865244";
assetsDir = "/mnt/windows/Users/danny/scoop/apps/steam/current/steamapps/common/wallpaper_engine/assets";
contentDir = "/mnt/windows/Users/danny/scoop/apps/steam/current/steamapps/workshop/content/431960";
offloadScript = import ./offload.nix { inherit pkgs; };
in
{
imports = [ ../extra/wallpaper-engine.nix ];
@ -16,7 +15,7 @@ in
enable = true;
assetsDir = assetsDir;
contentDir = contentDir;
extraPrefix = lib.mkIf offload "${offloadScript}/bin/offload";
extraPrefix = lib.mkIf offload "nvidia-offload";
fps = 30;
monitors = {
"DP-3" = {