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
Link to the radeon hd mailing list:
Link to the discussion:
Direct link to the original modified radeon tool:
My modified version that only turns on disabling of the unused pipes is here EDIT updated version:
Relevant documentation from ATI:
Last edited by vrodic; 02-21-2008 at 08:32 PM.
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?
Great work. Are radeontool maintainers aware of it ?
Originally Posted by vrodic
When I try to run either one of these versions, my entire system freezes. Hard reset (poweroff) is the only way to go.
I've got a Dell Inspiron 6400 (E1505) with an ATI X1400, running Xgl with fglrx version 8.40.4... OS: openSUSE 10.3 x86_64
Is there any way to use this tool on my system?
Battery drainage with the X1400 in linux is true hell..
I'm not sure how exactly is this chip is special... Maybe there's something in the released specs about that, but I don't have the hardware...
Originally Posted by gavro
I hope you didn't use the provided executable because it is compiled for 32-bit and you use 64-bit.
Originally Posted by gavro
thank you very very much. I compiled "your" radeontool for 64-bit Gutsy and it worked. The fan-noise was driving me crazy. And now I barely hear it, just like WinXP. I just hope that future fglrx releases fix this as soon as possible. Again thank you.
My card: x1800xl
unfortunately, i think that 64 bit is not the problem, but something else.
I hope mr. bridgman from AMD will have some info soon about the differences between various products (x1400 vs x1950pro). the source is there, they can see what registers it touches, so it should not really be a problem..
another option is for me to get a couple of other radeon cards but i don't have the time for that currently. maybe in the next few weeks I'll know more
I tried your version of Radeontool and it complained with "Radeon control memory not found".
But I was surprised to find a packaged version on my Ubuntu and it works... but doesn't have the "power low" option...
So I have this..
- Radeontool (original, unmodified)
- Radeontool (adapted for Debian-based system)
- Radeontool (disabling unused pipes)
Is there a way to merge all this together?
Even when the CPU is idle and at 28C, the GPU fans are always at max speed in Linux. It's not the case on Windows. Even more, "aticonfig --set-powerstate=1" (the only powerstate available) says that it can't process the command because thermal control is already on. So, obviously, this tweek with Radeontool would certainly help me to reduce GPU heat, hence fan speed.
Last edited by francois; 02-21-2008 at 01:59 PM.
Hi. I've found that the debian version is patched to better detect some ATI cards. What card do you have? Can you post lspci -v and lspci -n output for your card?
Originally Posted by francois
I've modified my version to include the debian changes.
I still haven't tested it but will do so as soon as a get home later this evening.
Apparently a couple of registers are in a different location on the RV515 (X1400) than they are on the rest of the 5xx family. The ones we have found so far are :
MC_FB_LOCATION -- 0x04 indirect for all but 515, 0x01 for 515
MC_AGP_LOCATION -- 0x05 indirect for all but 515, 0x01 for 515
I suspect that other adjacent registers also moved -- checking now. Also trying to figure out exactly which chips have the different register offsets.
Last edited by bridgman; 01-18-2008 at 01:13 PM.