0

When performing intensive tasks (mostly gaming, but also GPU computation related to scientific data analysis), my laptop overheats and ultimately shuts down due to rapidly reach high temps (over 90 °C in three minutes or so). I have two GPUs: an integrated Intel card used by default throughout the system, and an NVIDIA discrete GPU which is used only when more "power" is needed (through PRIME). My discrete GPU works to its limits but does not overheat. It occurs only when using NVIDIA GPU.  So I’ve struggled for several weeks to learn how to underclock my card.

I managed to enable underclock/overclock in nvidia-settings using coolbits. However, I’m mainly facing three problems: (i) the minimum offset I’m able to set is -200 MHz, which is not enough. (ii) Overclocking takes effect immediately in nvidia-settings powermizer panel, but only in the P3 (which has the highest values MHz) and underclocking does not. Finally, (iii) I have 4 GPUPerfModes (0 to 3), three of which have the same min and max values (see here):

  • 0: 139-607
  • 1: 139-1911
  • 2: 139-1911
  • 3: 139-1911

So, to deal with overheating, I need to underclock my card or change GPUPerfModes to more realistic values and let’s say, stick on a performance level that is satisfactory and does not lead to extreme temps. Why are the problems reported above (i, ii, and iii) happening? Is there something wrong with my config files? Settings? Any ideas?

Full nvidia bugreport: nvidia-bug-report.log.gz (280.2 KB)

Specs:

  • Dell Inspiron 5480 (Optimus)
  • OS: Arch Linux x86_64
  • Kernel: 5.7.12-arch1-1
  • DE: GNOME 3.36.4
  • CPU: Intel i7-8565U (8) @ 4.600 GHz
  • GPU: NVIDIA GeForce MX150 (driver nvidia 450.57-6, first noticed the issue on driver version 440.82-3)
  • GPU: Intel UHD Graphics 620
2
  • When performing intensive tasks... intensive video-related task ? / You have two GPUs, you need both of them ? / How did you come to the conclusion that it's the GeForce's responsibility ? / Which NVidia driver version ? / Your link to the bug-report is not very handy.
    – MC68020
    Commented Aug 10, 2020 at 20:10
  • @MC68020, thanks for your suggestions. Tried to cover everything. The bug report is not very handy indeed, but it encompasses al that is needed. Ctrl+F must do all the job.
    – Jecogeo
    Commented Aug 12, 2020 at 19:21

1 Answer 1

1

Power management for NVIDIA cards in Linux is notoriously bad, so your best option might be to limit your GPU to the lowest performance level.

There are two ways to achieve it, either an X.org configuration file for which you have to add this (you may want to restart your laptop to see if it works):

    Option          "Coolbits" "28"
    Option          "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"

in case it doesn't work create /etc/modprobe.d/nvidia.conf

options nvidia NVreg_RegistryDwords="OverrideMaxPerf=0x1"

and reboot (RegistryDwords option for X.org will no longer be necessary).

Your performance will be horrible but thermals should be stellar. In the future please ask NVIDIA Linux related questions here: https://forums.developer.nvidia.com/c/gpu-unix-graphics/linux/148

1
  • Thanks for your reply. I'm aware of this solution, but as you can see my performance levels are not well established. The first one is too low for my demands and the second is too high (causing overheating). I'm looking for a way to edit the performance levels (as a workaround). I already posted at the at NVIDIA Developers as you suggested, but after several days of no reply, tried to have a clue here in SE. If you have any other ideas, it will be much appreciated.
    – Jecogeo
    Commented Aug 12, 2020 at 19:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .