0

This question already has an answer here:

I'm running my fourth fresh install of Ubuntu. I've tried using the fglrx drivers but it always results in a catastrophic failure where I login to a black screen. I'm using the default xorg drivers but the fan is always at a continuous speed.

My laptop is a Dell Insprion 15 and my video card is an Radeon HD 7730M. How can I control the fans?

marked as duplicate by bain, Eliah Kagan, Luis Alvarado Jul 26 '14 at 16:04

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1

The continuously-high fan speed problem comes from a power management problem. Indeed,

With the radeon driver, power saving is disabled by default and has to be enabled manually if desired.

(source : Archlinux wiki)

The default PM mode is "profile", which is set to "default". More info on those at X.org's RadeonFeature/KMS Power Management Options.

I don't know which version of Ubuntu you are using, so I'll assume based on the date of your post that you're trying to run Ubuntu 13.10, which would be better since the method I'm going to give you only works with kernel 3.11 (used by default in Saucy/13.10).

Linux kernel 3.11 introduces Dynamic Power Management (dpm) method with the Radeon/ATI libre driver, 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.

(Source : X.org RadeonFeature/KMS Power Management Options)

It is only supported on R6xx and newer asics, which "luckily" is your case (too recent cards are not well supported by libre drivers, see Feature Matrix for Free Radeon Drivers -- you can get the development name of your card by running in a terminal lspci |grep VGA).

How to use it

First of all, make sure you completely uninstalled fglrx : see Removing the proprietary fglrx driver (Ubuntu Wiki).

Then 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:

sudo bash -c "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 from the zip file 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).

If you don't use GNOME Shell, I guess you're stuck with the manual/terminal editing of /sys/class/drm/card0/device/power_dpm_state.

Note: my answer aims at addressing only the fan speed problem with the libre radeon driver. Due to the novelty of your card, radeon may lack some features and your overall graphic performances be a bit hindered. But still better than a non-booting/overheating machine, isn't it? :-) Otherwise, you have the option to use the non-libre driver as suggested in the first comment to your question.

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