Skip to content

Commit

Permalink
Document gnome sleep issue, enable dynamicBoost
Browse files Browse the repository at this point in the history
  • Loading branch information
LucasFA committed Dec 22, 2024
1 parent e1ec2f8 commit 9041055
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 3 deletions.
84 changes: 83 additions & 1 deletion slimbook/hero/rpl-rtx/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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

<details><summary>System information</summary>
```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]
Expand All @@ -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)
```
</details>

## 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:

<details>
```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'';
};
};
};
```
</details>

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.
4 changes: 2 additions & 2 deletions slimbook/hero/rpl-rtx/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
};

Expand Down

0 comments on commit 9041055

Please sign in to comment.