Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

My video card's (Sapphire ATi Radeon HD 3650) temperature reaches 150°C in 5 minutes and then it stops working. I installed fglrx and it works now. I can even play 3D games for 5-30 minutes.

If I use the Live CD and fglrx isn't installed (it uses Mesa driver then) how can I control the fan?

share|improve this question

4 Answers 4

up vote 4 down vote accepted
+200
  1. First I advise you to update your kernel, because based on this link, updating the kernel solves the heating problem. A guide to update your kernel maybe found in this question

  2. Install shell-extension-radeon-power-profile-manager

  3. If the problem persist we will try to create a profile for low power GPU:

Based on this XOrg link

The Power Management code supports two basic methods:

"dynpm"
"profile" 

You can select the methods via sysfs. Echo "dynpm" or "profile" to /sys/class/drm/card0/device/power_method.

sudo echo profile >  /sys/class/drm/card0/device/power_method

Controlling the fan speed directly is not possible (and would be very dangerous), but it can be lowered by setting lower power profile

The "dynpm" method dynamically changes the clocks based on the number of pending fences, so performance is ramped up when running GPU intensive apps, and ramped down when the GPU is idle. The reclocking is attemped during vertical blanking periods, but due to the timing of the reclocking functions, doesn't not always complete in the blanking period, which can lead to flicker in the display. Due to this, dynpm only works when a single head is active.

The "profile" method exposes five profiles that can be selected from:

"default"
"auto"
"low"
"mid"
"high" 

Select the profile by echoing the selected profile to /sys/class/drm/card0/device/power_profile.

  • "default" uses the default clocks and does not change the power state. This is the default behavior.
  • "auto" selects between "mid" and "high" power states based on the whether the system is on battery power or not. The "low" power state are selected when the monitors are in the dpms off state.
  • "low" forces the gpu to be in the low power state all the time. Note that "low" can cause display problems on some laptops; this is why auto does not use "low" when displays are active.
  • "mid" forces the gpu to be in the "mid" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.
  • "high" forces the gpu to be in the "high" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.

Thus, to select low profile:

sudo bash -c "echo profile > /sys/class/drm/card0/device/power_method"
sudo bash -c "echo low > /sys/class/drm/card0/device/power_profile"
share|improve this answer
1  
/sys/class/drm/card0/device/power_method does not exist –  nastys Oct 9 '12 at 15:55
1  
this works only for "radeon" drivers, and not mesa. –  nastys Oct 9 '12 at 19:49
    
"radeon" or "ati" is also a driver, look here help.ubuntu.com/community/RadeonDriver –  nastys Oct 10 '12 at 19:21
    
These commands work with kernel 3.7.1: sudo bash -c "echo profile > /sys/class/drm/card0/device/power_method" sudo bash -c "echo low > /sys/class/drm/card0/device/power_profile" And temperature is lower, but still higher than fglrx, and it may shut down at any time. I also applyed thermal paste and cleaned the dust. –  nastys Dec 26 '12 at 16:25

Try these commands

sudo -i 
echo low >  /sys/class/drm/card0/device/power_profile
exit

wait few seconds and check again the temperature.

Above command will pass the low profile so the temperature will fall down as the fan as well.

If you want to use this in an installed system you can pass the command in every boot through rc.local

sudo sed '/^[^#]*exit 0/i echo low >  /sys/class/drm/card0/device/power_profile' -i /etc/rc.local

Thanks

share|improve this answer
    
Above code is tested by me in a HP-Pavilion laptop and worked like it should. The temperature dropped by 8 degrees and GPU fun stopped to acting like a crazy. –  NikTh Oct 12 '12 at 14:08
    
did sudo echo low > /sys/class/drm/card0/device/power_profile it worked. But after a reboot, /sys/class/drm/card0/device/power_profile is not present anymore!!! Ubuntu 12.10 –  user99663 Oct 21 '12 at 22:56

Does this problem only occur in Ubuntu? I would first check if there isn't some other cause of the overheating issue. First check if your PC and videocard is free of dust clogging up the fans. If needed, clean with a (static free) brush or a can of compressed air. Also make sure you use the FGLRX drivers. They tend to work a lot better with regulating the temperature.

share|improve this answer
    
Yes, FGLRX driver works better with temperatures, but MESA works better (and it is the only driver in live CD). –  nastys Dec 26 '12 at 16:28
    
Nope, FGLRX is generally a lot faster then the open source ones. Especially with 3D performance. Also a lot of other vendor specific features are not available in MESA. With normal desktop usage they work just fine but with heavier stuff (games, or other applications that rely heavily on the graphics card) the OS drivers just suck at the moment. –  Gladen Dec 30 '12 at 12:00
    
On my PC, MESA with Linux 3.8 work better in both Desktop and 3D, especially PlayOnLinux/Wine games. Of course I have to set the high profile. –  nastys Dec 30 '12 at 15:26

Necro-bumping here, but this issue has seen an important development with kernel 3.11 (used in Saucy/13.10).

If the radeon/ATI libre driver is indeed concerned by OP's question (and I believe it is, based on the accepted answer), then it should be mentionned that 3.11 introduces the dpm (Dynamic Power Management) method, which "should greatly help power consumption, especially when idle". (source: RadeonDriver Ubuntu Community Wiki)

More specifically, "dpm" mode

uses hardware on the GPU to dynamically change the clocks and voltage based on GPU load. It also enables clock and power gating.

Note however that it is only supported on R6xx and newer asics (what includes OP's HD 3650 card). Sources : X.org RadeonFeature/KMS Power Management Options, and RadeonDriver Ubuntu Community Wiki for a matrix of cards commercial/development names.

How to use it

To enable it, you just have to edit /etc/default/grub and add radeon.dpm=1 to the GRUB_CMDLINE_LINUX_DEFAULT line, so it would look something like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.dpm=1"

After you save/quit the text editor, update grub:

sudo update-grub

Modes

There are 3 operation modes to choose from:

  • battery: lowest power consumption
  • balanced: sane default
  • performance: highest performance

They can be changed via sysfs:

echo battery > /sys/class/drm/card0/device/power_dpm_state

(source : Archlinux wiki)

Tips if you use GNOME Shell

There is a GNOME Shell extension (forked from the previously mentioned one by StuntsPT) that implements support for dpm modes management : you can find it here. To use it, simply download the master zip file (direct link) and use Tweak Tool to install AND enable it. Alternatively, extract the extension folder and put it in ~/.local/share/gnome-shell/extensions. The extension will then show up in Tweak tool which you can use to enable the extension. If it doesn't appear in the top panel, try to restart the shell with Alt+F2 r (enter).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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