Showing posts with label radeon. Show all posts
Showing posts with label radeon. Show all posts

Saturday, 5 April 2008

Radeon HD 3850 Power consumption/Linux

I had the opportunity to test a Radeon HD 3850 card recently and I've tested my two favorite hardware properties: Performance and power consumption. I won't go into too many details about the performance, it's sufficient to say that Crysis is playable with max details under 1024x768 with a Core 2 E8200 CPU. Of course Crysis won't work under Linux, at least not yet.

About the power consumption though:

I've recently bought a Kill-a-watt equivalent for the European market, an Art. Nr. 002580 from REV (description available at the German language page).



So I've measured the consumption of a complete system. 460W power supply from Coolermaster, P35-DS3P rev 2.0 motherboard from Gigabyte, 2 GB of Corsair CL5 RAM, and our subject the Sapphire Radeon HD 3850 Ultimate.

When the graphics driver was still not loaded (in the BIOS, during post, in the boot loader, and during the OS load) the machine was using 119 W. When Windows loaded power consumption under idle went down to 81 W. Under Linux idle consumption with the latest fglrx driver was 87 W, so somewhat higher. When I switched the VT to text mode, it went up to arround 119 W again. When the graphics driver under Linux does a LeaveVT to switch to text mode, it usually restores the state of the registers to the one found before the driver is loaded. That leads me to a conclusion that the video BIOS of the card doesn't do anything to save power, and we must wait for the driver to load for the PowerSaving features to be enabled. Regarding the open source "radeon" driver for Xorg, Alex Deucher just recently added DynamicClocks support, so that should help. I'll test it later and make an update to this post to let you know how it works out.

Here are some more values for the system if you're curious.

Crysis 1024x768 all details high: 153 W
3DMark 2001SE under Linux/Wine, Fill rate test, single texturing: 165-172 W (this is the champion)
3DMark 2001SE under Linux/Wine, High poly count: 123-128 W
glxgears Linux: 140 W

2x burnP6 (this test just exercises the CPU): 116 W

As a contrast the Thinkpad X60s that I'm writing this post on uses 38 W under maximum load, 17-19 W when idle, and around 22 W under typical use. Internal LCD panel consumption included in the figure of course. When in low power mode (typically on battery) it uses about 10-11 W. (Panel brightness lowered, wireless turned off).

Sunday, 18 November 2007

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 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