For fglrx using people having idle overheating problems and eco friendly people...
While reading radeonhd dev mailing list I stumbled upon a link to a modified version of radeontool that enables setting power saving registers on new radeon adapters. I've tested it with my Radeon 1950Pro, and sure enough, the card is much cooler when idle (about the same as in Windows).
This version changes a couple of settings in the CLKIND power saving registers of which I believe that the "Auto disable unused pipes' clk" (DYN_SCLK_PWMEN_PIPE in ATI documentation) bit is the most important . When running "./radeontool power low" my glx performance falls from about 12000 FPS to 7000FPS. I've changed the modified radeontool to only enable the 'Auto disable unused pipes clk" power saving bit, and the performance of glxgears came back to 12k FPS level, while retaining a cool device.
So I've put the radeontool binary in my /usr/local/sbin, did a chown root:root radeontool, and chmod +s radeontool, and made gnome to issue "radeontool power low" command when staring up to workaround the bug in the current fglrx driver.
Radeon tool commands: radeontool power status - show the current status of the power saving registers radeontool power low - enable power saving
I still don't know how to read the temperature sensor data from the card and if anybody knows the relevant registers or other way to access this info, please tell. I used Windows freshly booted after linux and my own fingers to see the temperature differences.
Temperature without using radeontool: 50 C
Temperature after using radeontool: 40-41 C
Well I must say that I'm impressed. On my Acer 8204Wlmi I used to only get an idle of ~21W, but using this shaved off 1-2 Watts off my power consumption. It actually idles at ~19.3W now.
The best thing is I can't even measure a performance difference. I'm using fglrx with all the normal power-savings enabled, and even using the full "low" power options I cannot measure a performance difference. Maybe it is because powerplay is already active in fglrx?
The X1400 is a strange duckling if you ask me... I always see X1300, X1600 and so on, but never any details about X1400 (or to put it differently: strange reports concerning the X1400). And now those registers... What have they done with the X1400? Why is this one 'weird'/different than the other 5xx cards?
Just a note of interest, on my Mobility X1600 256MB I notice that "Static screen enable" and "Static screen mode" both seem to return OFF when notebook is only running off the LVDS, and ON when I have an external monitor also connected.
Just reporting that I think those 2 registers are used wrongly.
Also, writing to those registers, the values get ignored. (Possibly read-only on my card)
Edit: I think that this should be well-investigated and added to fglrx as an optional power-saving mode controlled by atieventsd (or something) because it made a considerable difference in thermals on my notebook. Now when idling for a while, the hard-drive is clearly the warmest device in my notebook, the exhaust is roughly skin temperature. Much more comfortable to use on your lap than before.