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 starting 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
Link to the radeon hd mailing list:
http://lists.opensuse.org/radeonhd
Link to the discussion:
http://lists.opensuse.org/radeonhd/2.../msg00069.html
Direct link to the original modified radeon tool:
http://www.g2inf.one.pl/~anszom/MBP-ATI/
My modified version that only turns on disabling of the unused pipes is here EDIT updated version:
http://bljak.org/~vedran/radeontool-1.5-qq-vr3.tar.gz
Old version:
http://nskunca.pbf.hr/~vedran/ati/radontool.tar.gz
Relevant documentation from ATI:
http://www.x.org/docs/AMD/RRG-216M56-03oOEM.pdf
it doesn't seem to work with my HD2600XT. after i make power low and then power status it says that lower power mode is off.
ReplyDeleteIt certainly doesn't work on an X1300 PRO, since running "radeontool power low" immediately freezes the whole system (video turns off, kernel unresposive and not syncing disks, etc.).
ReplyDeleteI'm really not sure about models other than the one I have. I would appreciate any patches or feedback on other models. Please do try to post the temperature on linux vs temperature under windows.
ReplyDeleteFglrx is more than 8 degrees C hotter than ATI's Windows driver.
ReplyDeletemy question might look a little stupid, but how can i measure the gpu temperature on linux?
ReplyDeleteThanks a lot for this, prevented me from going back to windows...
ReplyDeleteWhere can I find your modified version?
ReplyDeleteBecause http://nskunca.pbf.hr/~vedran/ati/radeontool-1.5-qq-vr2.tar.gz seems to be down.
http://bljak.org/~vedran/radeontool-1.5-qq-vr3.tar.gz is the new location.
ReplyDeletepage updated, thanks for reminding me
uhm... power low doesn't work.
ReplyDeletesudo radeontool power low
... prints usage.
maybe you're hitting the distro version
ReplyDeletetry sudo ./radeontool power low when you're in the directory of my archive
hi vedran, i downloaded your file and extracted it to Desktop
ReplyDeletethen i went there with terminal and typed sudo ./radeontool power low
it worked but next time when i restard my computer and check it then it already back like this
sudo ./radeontool power status
Dynamic clock mode: single block
Static screen enable: OFF
Client power enable: OFF
Lower power mode: OFF
Static screen mode: OFF
Disable unused clk: OFF
so everytime i restart my computer i will have to type that code again. is there a way to make power low default ?
hi, you can put the command /locationofthebinary/radeontool power low in /etc/rc.local to start it up every time on boot. replace locationofthebinary with the location of the radeontool binary file
ReplyDeletewhich binary do you mean ?
ReplyDeleteyours or the one (radeontool) in /usr/sbin ?
if yours then how can i compile it ?
i tried .configure make makeinstall but it didnt work
archive already contains a binary, just use cp to copy it where you want it to be installed
ReplyDeletethank you very much ^^
ReplyDeleteyou are my savior, now i can stay and rest in the heaven (linux) and dont have to go back to hell (XP/Vista)
hurraa ^^
thank you^^
is there still work going on? What about newer chips, like the RS780? I heard powersaving get's harder with that...
ReplyDeleteI think that the opensource driver still doesn't do powersaving on 7xx, but when I use fglrx on rv670 (I think that it has the same power saving architecture as the 7xx), it uses power saving.
ReplyDeleteHi! Are you still working on this? I have a suggestion for one step further: hack the bios so that the default powerstate is the lowest powerstate. Then the computer wouldn't get hot even during installation/live distribution use phases. I have tried to look for a bios editor that would work with my X1600 mobility, but with no luck so now I try to hunt projects and knowledgeable people that are close to my goals.
ReplyDelete