5

When I activate a monitor on the HDMI output (wired to the NVIDIA Optimus chip) of my notebook through the commands below the notebook starts to get very hot, mainly if I am running a video (streaming web, for example) on this monitor. So far so good, but the high temperature is making my Linux crash.

How can I solve this problem of high temperature?

NOTE: When I use NVIDIA graphics acceleration chip (primusrun) I haven't temperature problems.

intel-virtual-output

xrandr -q &>/dev/null
xrandr --newmode "1392x892_60.00"  102.00  1392 1472 1616 1840  892 895 905 926 -hsync +vsync

xrandr --addmode VIRTUAL2 1392x892_60.00
xrandr --output VIRTUAL2 --mode 1392x892_60.00 --right-of LVDS1

My NVIDIA Drivers Installation Process: https://forum.manjaro.org/t/optirun-cannot-access-secondary-gpu-error-xorg-ee-nouveau-0-drm-failed-to-set-drm-interface-version/15651/2

Some Ref: https://wiki.archlinux.org/index.php/bumblebee#Outputs_wired_to_the_Intel_chip


EDIT:

That is the hardest question I've ever faced with Linux. So I offer "100" of my small reputation for an effective solution.

TIP: Currently I use Manjaro, but I already used Linux Mint and with that I was able to make HDMI work without using "intel-virtual-output" command since it was enough to connect the HDMI cable.

With Linux Mint I had no temperature problems. I'm pretty sure Linux Mint did not use the official NVidia drivers ("Nouveau"?).

3

The problem is a physical one: the processor + GPU are producing more heat than the laptop can dissipate, and so it's overheating and ultimately crashing. (Does the crash look like the notebook is hitting an overheat shutdown, or is it actually crashing because of overheating-induced data corruption? In other words, does it just power completely off once it gets too hot, or do you see graphical glitches or any other strange behavior?)

The only software workarounds for that would be restricting the heat production, which would mean restricting the system performance. For example, you could use cpufreq set or cpupower frequency-set with appropriate options to limit the maximum clock frequency of your CPU, and using the nvidia-settings to set the GPU to a lower performance level.

A real fix would probably be a physical one: to start with, make sure nothing is blocking the slots used for cooling air, and clean them if they seem to be clogged with dust. Since this is a notebook, opening it up and cleaning the heat sinks more thoroughly is not as easy as with desktop systems, and would probably void the warranty if one is still in effect.

If the notebook is still under warranty, I would recommend contacting the vendor's support and describing the problem. It could be that the heat sink is not in good thermal contact with the processor and/or GPU, and the notebook would need to be opened up to have the heat sink(s) reattached properly.

If you start thinking about opening up the notebook yourself, be very careful and try and find as much information of the task as you can from internet first, as the insides of a notebook are quite a bit more fragile than the corresponding parts on a regular desktop. A Youtube video that shows the steps and techniques needed for your specific model would be a great find. A service manual from the hardware vendor would also be good; however not all vendors make service manuals freely downloadable.

  • "do you see graphical glitches or any other strange behavior?" -> No. The notebook just reboots. =D – Eduardo Lucio May 29 '18 at 16:23
  • Thank you for your answers. Perfect! At the moment I'm thinking of something to limit the GPU's performance when the temperature reaches high levels. Apparently the GPU does not process "anything" it just copies one memory area (generated by Intel GPU?). So I think for HDMI the NVIDIA GPU could run at smaller speeds with no problems. – Eduardo Lucio May 29 '18 at 16:23
  • I made reference to your response here forum.manjaro.org/t/… . Thanks! =D – Eduardo Lucio May 29 '18 at 16:30
  • Take a look at this unix.stackexchange.com/a/446915/61742 ! – Eduardo Lucio May 30 '18 at 13:28
2

Almost a solution ahead!

According to this documentation... it is possible to control the processor's fan power/rpm with the following commands...

echo 255 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1           # Full fan speed (Value: 255)
echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1             # Fan is stopped (Value: 0)
echo 2 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[[:print:]]*/pwm1_enable     # Change fan mode to automatic
echo 1 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable      # Change fan mode to manual

These commands apply to ASUS notebooks (my case).

Seen this, we trigger the HDMI output (as explained in this thread) and in sequence we execute the command...

echo 255 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1           # Full fan speed (Value: 255)

... that puts the fan at full power/rpm.

Result: Temperature under control! No system crash occurs! =D

Given this, I propose one of the following solutions:

  • Put the fan on full power/rpm when you turn on the HDMI;
  • Make the fan's temperature response more "aggressive" (preferred).

NOTE I: There are other ways to control the fan's power/rpm (and temperature response). The "fancontrol", for example, is one of them.
NOTE II: There are components that may be influencing the fan's power/rpm such as "thermald" and "tlp". Both are installed by default in Manjaro.


PLUS: I would like your opinion and solution suggestions to increase fan's power/rpm more intelligently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.