Package Details: nvidia-prime-rtd3pm 1.1-1

Git Clone URL: https://aur.archlinux.org/nvidia-prime-rtd3pm.git (read-only, click to copy)
Package Base: nvidia-prime-rtd3pm
Description: Configure your discrete NVIDIA GPU to power down when not in use.
Upstream URL: https://us.download.nvidia.com/XFree86/Linux-x86_64/550.67/README/dynamicpowermanagement.html
Keywords: config gpu laptop management power
Licenses: MIT
Submitter: cyqsimon
Maintainer: cyqsimon
Last Packager: cyqsimon
Votes: 5
Popularity: 0.95
First Submitted: 2023-03-05 10:33 (UTC)
Last Updated: 2024-04-03 02:06 (UTC)

Dependencies (0)

Required by (0)

Sources (3)

Latest Comments

cyqsimon commented on 2024-04-03 02:00 (UTC)

@imranr This is weird. The original config (which is what upstream and what ArchWiki recommends) worked for me until a few weeks ago, when it suddenly (probably after a driver update) didn't.

cat /sys/bus/pci/devices/0000\:02\:00.0/power/control returned on; and after a sudo sponge /sys/bus/pci/devices/0000\:02\:00.0/power/control <<< auto RTD3 is working again. Now I don't know where you got those two lines:

# Enable runtime PM for NVIDIA VGA/3D controller devices on adding device
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"

... but it made sense to try them. So I did and they apparently worked. Seen that this is no longer an isolated incident, I guess I will be updating the package (and ArchWiki too). Thanks for your valuable input!

imranr commented on 2023-06-19 11:40 (UTC) (edited on 2023-06-19 11:43 (UTC) by imranr)

The bundled one didn't works for me on Latitude 3520 with Nvidia MX450. I needed extra rules as follows (as described in upstream URL above)

# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"

# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"

# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

# Enable runtime PM for NVIDIA VGA/3D controller devices on adding device
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"

# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"

# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"

Also added i915 driver in initramfs modules list so that it loads early

Finally, getting D3cold state for Nvidia card

cyqsimon commented on 2023-05-08 01:22 (UTC)

@Mario156090

Option "NVreg_DynamicPowerManagement=0x03" This is the default setting. For Ampere or later notebooks with supported configurations, this value translates to fine-grained power control. For pre-Ampere notebooks, this value disables runtime D3 power management features.

The default value is 0x03, which only enables fine-grained power control on very new cards (rtx30+). On older devices (e.g. my gtx1650), it's necessary to manually set 0x02.

As of the udev rules I'm not completely sure whether they're strictly necessary. But it is what Nvidia recommends so I have it in there just to be safe.

Mario156090 commented on 2023-05-08 00:58 (UTC)

Hello, is this package necessary? I believe that config is for default in this moment.