For some time I wanted to check out GNOME3 and gnome-shell… My current chipset is ATI M92 RV710 and while the thermal performance with the proprietary driver is somewhat what I expect, the open source radeon driver does overheat my laptop a lot compared to flgrx. For the time being, fglrx isn’t really a choice because it just borgs the ‘activities’ bar on top… And until ATI fixes their driver, there’s no other choice than running with the standard radeon drm driver, which does provide a very pleasant experience with GNOME3 / gnome-shell.
For all that matters, KMS is to be enabled, period, full stop. And from this point… we have two options regarding power management:
1. Dynamic Frequency switching (not really working for me);
2. Profile based frequency switching (does provide what I need);
For all that matters regarding ‘profile based frequency switching’ we have 5 profiles available:
- “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 only uses “low” when displays are off.
- “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.
Now, what I did might not be an option to everyone, but for sure it does provide a nice solution for my problem… So be mindful of that… this is a personal preference based on the fact that I don’t require intensive GPU usage, neither I run intensive GPU requiring applications within GNOME3/gnome-shell (I have a normal openSUSE 11.4 with GNOME 2.32.x with fglrx dual boot config for those apps).
The first thing we might want to do is to switch to profile based frequency switching… how do we this? As root:
[code] echo profile > /sys/class/drm/card0/device/power_method[/code]
Now we have to pick one of those 5 profiles… and since I’ve already stated… I want the ‘low’ profile since I don’t really do much intensive GPU work…
[code] echo low > /sys/class/drm/card0/device/power_profile[/code]
Now… you might want to check out the different profiles and the different clocks used… this can be done through:
[code] cat /sys/kernel/debug/dri/0/radeon_pm_info[/code]
and will report something like this:
[code]linux-331w:~ # cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 680000 kHz
current engine clock: 299530 kHz
default memory clock: 800000 kHz
current memory clock: 249750 kHz
voltage: 900 mV
PCIE lanes: 16[/code]
This one is using the ‘low’ profile… Feel free to test stuff around and find which one better answers your needs… Also there’s far more that can be done… I hope this helps ATI users with DRM driver to bring out the best of your system and improves your GNOME3 / gnome-shell experience, at so that you can run it with good thermal performance without fglrx.