diff --git a/slimbook/hero/rpl-rtx/README.txt b/slimbook/hero/rpl-rtx/README.txt
index 5052e9c48..44478722a 100644
--- a/slimbook/hero/rpl-rtx/README.txt
+++ b/slimbook/hero/rpl-rtx/README.txt
@@ -2,13 +2,33 @@
This configuration is for the Slimbook Hero with an i7-13620H and an RTX 4060.
Model name: SLIMBOOK HERO-RPL-RTX.
-To run software on you Nvidia GPU, use the `nvidia-offload` command. For example:
+To run software on your Nvidia GPU, use the `nvidia-offload` command. For example:
```
nvidia-offload `nix-shell -p glxinfo --run 'glxgears'`
```
For more information, visit: https://wiki.nixos.org/wiki/NVIDIA#Offload_mode
+System information
```bash
+>neofetch
+OS: NixOS 24.11.20241216.3945713 (Vicuna) x86_64
+Host: SLIMBOOK HERO-RPL-RTX
+Kernel: 6.6.66
+Uptime: 37 mins
+Packages: 1296 (nix-system), 893 (nix-user), 2 (nix-default), 9 (flatpak)
+Shell: bash 5.2.37
+Resolution: 2560x1440
+DE: GNOME 47.1 (Wayland)
+WM: Mutter
+WM Theme: Adwaita
+Theme: Adwaita [GTK2/3]
+Icons: Adwaita [GTK2/3]
+Terminal: kgx
+CPU: 13th Gen Intel i7-13620H (16) @ 4.700GHz
+GPU: Intel Raptor Lake-P [UHD Graphics]
+GPU: NVIDIA GeForce RTX 4060 Max-Q / Mobile
+Memory: 4448MiB / 15734MiB
+
$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:a715]
00:01.0 PCI bridge [0604]: Intel Corporation Raptor Lake PCI Express 5.0 Graphics Port (PEG010) [8086:a70d]
@@ -34,3 +54,65 @@ $ lspci -nn
03:00.0 Non-Volatile memory controller [0108]: Micron Technology Inc 2550 NVMe SSD (DRAM-less) [1344:5416] (rev 01)
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
```
+
+
+## Power Management
+My testing shows suspend issues (tested in GNOME) when using `hardware.nvidia.powerManagement.enabled = true`, regardless of the value of `hardware.nvidia.powerManagement.finegrained`.
+This seems related to this [issue](https://github.com/NixOS/nixpkgs/issues/336723), which is offered a solution in [this discouse thread](https://discourse.nixos.org/t/suspend-resume-cycling-on-system-resume/32322/12) with this config:
+
+
+```nix
+systemd = {
+ services."gnome-suspend" = {
+ description = "suspend gnome shell";
+ before = [
+ "systemd-suspend.service"
+ "systemd-hibernate.service"
+ "nvidia-suspend.service"
+ "nvidia-hibernate.service"
+ ];
+ wantedBy = [
+ "systemd-suspend.service"
+ "systemd-hibernate.service"
+ ];
+ serviceConfig = {
+ Type = "oneshot";
+ ExecStart = ''${pkgs.procps}/bin/pkill -f -STOP ${pkgs.gnome-shell}/bin/gnome-shell'';
+ };
+ };
+ services."gnome-resume" = {
+ description = "resume gnome shell";
+ after = [
+ "systemd-suspend.service"
+ "systemd-hibernate.service"
+ "nvidia-resume.service"
+ ];
+ wantedBy = [
+ "systemd-suspend.service"
+ "systemd-hibernate.service"
+ ];
+ serviceConfig = {
+ Type = "oneshot";
+ ExecStart = ''${pkgs.procps}/bin/pkill -f -CONT ${pkgs.gnome-shell}/bin/gnome-shell'';
+ };
+ };
+ };
+```
+
+
+At the same time, the Nvidia driver reports power management to still be working even with `nvidia.powerManagement.enable = false`:
+```bash
+>cat /proc/driver/nvidia/gpus/0000:01:00.0/power
+Runtime D3 status: Enabled (fine-grained)
+Video Memory: Off
+
+GPU Hardware Support:
+ Video Memory Self Refresh: Supported
+ Video Memory Off: Supported
+
+S0ix Power Management:
+ Platform Support: Supported
+ Status: Disabled
+```
+
+For more information see the [Nvidia documentation](https://download.nvidia.com/XFree86/Linux-x86_64/565.77/README/powermanagement.html), chapters 21 and 22.
diff --git a/slimbook/hero/rpl-rtx/default.nix b/slimbook/hero/rpl-rtx/default.nix
index e6e88a0a2..8e99f4c44 100644
--- a/slimbook/hero/rpl-rtx/default.nix
+++ b/slimbook/hero/rpl-rtx/default.nix
@@ -16,14 +16,14 @@
};
nvidia = {
prime = {
- # Make sure to use the correct Bus ID values for your system!
intelBusId = lib.mkDefault "PCI:0:2:0";
nvidiaBusId = lib.mkDefault "PCI:1:0:0";
};
powerManagement = {
- enable = lib.mkDefault false;
+ enable = lib.mkDefault false; # Causes sleep issues. See README for more information
finegrained = lib.mkDefault false;
};
+ dynamicBoost.enable = true;
};
};