Talk:NVIDIA/Tips and tricks
Set fan speed at login
Shouldn't this section be changed to use GPUTargetFanSpeed instead of GPUCurrentFanSpeed as this is the current working method? The note that is currently present explaining the change is very easy to miss.
Allow change to highest Performance Mode
Any other way of "overclocking" won't change the Memory Transfer Rate offset (it has no effect in nvidia-settings).
see https://devtalk.nvidia.com/default/topic/1010856/linux/how-to-force-performance-level-3-driver-381-22-with-gtx-1080-ti-/ and https://devtalk.nvidia.com/default/topic/977467/cuda-setup-and-installation/having-trouble-overclocking-gtx-1070/ and also https://devtalk.nvidia.com/default/topic/1014710/linux/understanding-weirdness-with-gpumemorytransferrateoffset-/
Setting the clockspeed rates in nvidia-settings without prior adjusting the rates in nvidia-smi crashes really hard, because it tries to overclock max. performance mode which only is active when the card is idle (i.e. just after exiting a game or a miner...).
default clock speed + overclocking = max. default clock speed or crash
"set" clock speed + overclocking = more than max. default clock speed and memory transfer rate tunable
This is a bug.
Pointing out the fact that this is not my website, why did you delete the Watt-Limiting Section? (My) GTX 960 is not kepler, changing wattage works though? Man pages lie!
- In the threads you've linked, these two posts support the claim that setting application clocks (with
nvidia-smi -ac) is not available on "ordinary" GPUs. So how do you make a general section out of this?
- Setting the application clocks to something listed in
nvidia-smi -q -d SUPPORTED_CLOCKSis not an overclocking. If there is a bug in the performance modes, the section should properly explain it and provide all references.
- -- Lahwaacz (talk) 09:22, 23 August 2017 (UTC)
Kernel module parameters
options nvidia NVreg_UsePageAttributeTable=1
I think it might be enabled by default now (in 440.64 at least): i've tested performance with and without the change and can't tell any difference. I've also tried to use "options nvidia NVreg_UsePageAttributeTable=0" and failed to boot into graphical environment.
Preserve video memory after suspend
It says "...it is necessary to pass two options to the "nvidia" kernel module." That's not correct according to the linked Nvidia documentation. It says there the second parameter is optional, and by default uses /tmp. Quote: "To save potentially large copies of video memory, the NVIDIA driver uses unnamed temporary files. By default, these files are created in /tmp, but this location can be changed with the TemporaryFilePath kernel module parameter, e.g. TemporaryFilePath=/run. The destination file system needs to support unnamed temporary files, and it needs to be large enough to accommodate all video memory copies for the duration of power management cycles.
There are issues with nvidia-suspend (inability to resume) for systems where the default suspend mode (which can be checked in /sys/power/mem_sleep) is 's2idle'. Nvidia's documentation recommends to set it to 'deep' using the kernel command line parameter 'mem_sleep_default=deep'.
Laptop power control
For laptops there seems to be two ways to turn off the dedicated Nvidia GPU. If deemed useful, should I add them at bottom of the NVIDIA page or here in the Tips and tricks section?
Details: The first one is manual and it requires a reboot to turn the GPU on again (at least for what I see on my laptop). Given 0000:02.00.0 as the PCI ID of the dedicated GPU:
➜ ~ sudo nvidia-smi drain -m 1 -p 0000:02.00.0
Successfully set GPU 00000000:02:00.0 drain state to: daining.
➜ ~ sudo nvidia-smi drain -r -p 0000:02.00.0
GPU 00000000:02:00.0 successfully removed.
The second way is much better and is officially described in  (the automated setup is described in the Automated Setup part) It basically turn off the GPU when not used and on again when used, all by itself. It should work also with Prime but I am not able to get Prime working at the moment so I only tested the power management part.