3

I recently installed Ubuntu 13.10 on my desktop and would really like to keep using the open source drivers for my RadeonHD 6970 graphics card. However, during boot and after startup, the GPU temperature immediately gets hot and hovers around 76°C (with a fan blowing loudly)

The fglrx driver does not have this problem, but I don´t want to use that for other reasons.

Is there a way to configure or fix the Radeon open source driver so the temperature stays low until I actually start heavily using the GPU performance? My experience with Ubuntu/Linux is limited, so please explain any solution very carefully.

mahler
  • 133

2 Answers2

3

This was an annoying problem with the open source drivers, since kernel 3.11 and up things have improved a lot. There are 3 different methods to handle power management:

  • dynpm
  • dpm
  • profiles

The profiles are static, you need to set them manually which is a hassle, dynpm is dynamic but causes flickering. Dpm is new since kernel 3.11 and I'm having pretty good results with it.

To enable it:

Open a terminal.

First you need to set a kernel parameter, this will tell your kernel it needs to enable dpm

sudo nano /etc/default/grub

there you need to add "radeon.dpm=1" to the kernel line in your grub config:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.dpm=1"

Press Ctrl-X to save, choose 'Y' to overwrite.

Now you need to generate the new grub config:

grub-mkconfig -o /boot/grub/grub.cfg

You can use 3 profiles for dpm:

  • battery
  • balanced
  • performance

Balanced is the most useful one. To enable it:

again in the terminal:

sudo nano /etc/rc.local

add the following line in this file ( above the line that says "exit 0":

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

Save the file and reboot your pc.

boombanana
  • 84
  • 3
  • 1
    Thanks! The explanation was excelent. Too bad this needs to be done manually, but it helps a bit. The temperature stays at 63°C now. Not as good as the fglrx, but definitely an improvement. The fan is also a lot less loud. If you upvote my question, I might have enough reputation to upvote your answer. – mahler Jan 11 '14 at 22:01
  • Happy to help. Also check for dust in the fan. I'm getting 57°C with the balanced profile on a HD5600 with my laptop. Question upvoted ;) – boombanana Jan 11 '14 at 22:48
0

In 16.04 Xenial the problem continues, probably impacting more people since fgrlx is now deprecated. I suffered through the summer wondering why the computer was so hot until tracking it down to this.

The dpm fix works, temporarily at least. Follow boombanana's steps then enable rc.local under systemd:

sudo systemctl enable rc-local

Another problem I had is that the setting gets restored to "performance" after sleep and restore. So I put the echo balanced… line into the script I use to suspend my laptop. Cheesy, but working well enough for now. My laptop has gone from an idle temp of about 76°C to under 60°C.