X.Org ATI Driver Supports New Power Options
Phoronix: X.Org ATI Driver Supports New Power Options
Besides seeing 3D acceleration for their hardware in an open-source driver, one of the other leading requests from ATI Radeon customers has been to see improved power management within the ATI X.Org driver stack. There is Dynamic Clocks support and some other power management capabilities, along with some more innovative ways, but ATI's PowerPlay is not fully implemented in the open-source stack...
1. Why isn't DynamicClocks enabled by default?
2. What's the need for ForceLowPowerMode, when DynamicPM does the same but only when necessary?
3. Why should DynamicPM decrease performance?
ForceLowPowerMode can be useful, if you are in batterie mode; even though it's use get's lost, as you can't dynamical change the Mode. That DynamicPM decreases performance is a common bias against any power management (and is plain wrong).
Maybe R600+ have other power management features, so this is how it is done one R100-R500 ?
Very cool that power management begins to be supported!
The DynamicPM option shouldn't affect performance. It only switches to a low power mode during idle (DPMS active). When you are using the system, it switches back to the default power mode.
I tried it on Arch Linux now (some nice guy posted a xf86-video-ati-git package on AUR) and enabled 'ForceLowPowerMode' and it actually seems to do something on my X600 Mobility (RV380), great! Without the option the temperature goes straight to 60°C on idle X (fglrx 55°C without PowerPlay enabled!), with it it stays at 51°C on idle X.
Unfortunatly neither Xfce nor KDE4 want to start, but that seems not to be directly related to this since the default Arch radeon driver exhibits the same behaviour.
Interestingly the power saving mechanism implemented in the radeon driver doesn't seem to care that I have two monitors attached as fglrx did, where it wasn't possible to enable PowerPlay with a secnd monitor attached (of course I don't know if they use the same mechanism). These observations are all made on AC power.
Thank you devs!
EDIT: forgot to add that the default X window manager (twm?) does start up...
Last edited by signor_rossi; 04-15-2009 at 04:04 PM.
Can these modes be changed on the fly or does it require a restart of X? (IE - can it switch to force low power when the system detects that you have unplugged and gone to battery)
@agd5f: What does idle mean in this case? Since it's somehow connected to dpms I guess something like display is turned off/in standby?
Or does it in fact react on gpu-load? And if so, would e.g. Compiz trigger a higher performance mode?
THese options cannot be changed on the fly yet. There is currently no interface for dynamic driver options in X. You could hack xrandr or Xv attributes but those interfaces are not supposed to be used for this. Eventually I'd like to move this stuff to the drm and make it accessiable on the fly via sysfs or an ioctl.
DynamicPM switches to a low power mode when dpms blanks the displays.
Currently we only adjust gpu clock, pcie lanes, and clock gating. Other features and more aggressive modes will put restrictions on things like 3D or dualhead as you saw with fglrx. They require a fairly substantial amount of driver infrastructure to implement properly. This is just a starting point.
Last edited by agd5f; 04-15-2009 at 04:11 PM.
These are very good news. I've been changing between fglrx and radeon since always and since I don't play any games in linux this can be what will enable me to ditch fglrx for good.
You also get lower performance in fglrx when you enable a power save mode. It has no real impact when watching films or under normal usage; you notice it when you measure the fps of some 3D application. I always use the laptop in lower power mode unless I explicitly tell it not to do so, and everything is fine.