[Nexus 10 General] pingguo:
Hi XDA'lers,

I think it would be interesting to collect some stats on the undervolting capabilities of our mantas. Hopefully it helps others who also intend to save some energy by doing this. If you want to participate, please post your lowest possible settings exactly like this:

CPU:

% MHz= [ 100, 200, 300, 400, 500, 600, 700, 800, 900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100];
BR
900, 900, 900, 900, 900, 912, 925, 950, 962, 987,1012,1037,1075,1100,1137,1187,1225,1250,1275,1300,1325; % your_username@exact_kernel_name_and_version (hotplugging_state)
% BR

GPU:

% MHz= [ 100, 160, 266, 350, 400, 450, 533, 612, 667, 720];
BR
900, 900, 925,1000,1050,1100,1150,1200,1250,1300; % your_username@exact_kernel_name_and_version
% BR

... and don't forget to replace the default mV values in the third line by your own ones. Please write your username, kernel, and hotplugging state where indicated.

You can find out whether hotplug is enabled or not, if you have a look at your governor adjustments, or watch the state of the second core when idle (for example in the KTweakerT app).

~ Rules ~

Each CPU value should run stable for at least 30 minutes under stress-testing conditions. (Use some tool like for example the "Classic Stability Test" within the app "StabilityTest", or "SetCPU".) Don't use HD videos or something like that for stress testing, they are a joke to our CPU. :laugh:

If you don't adjust certain values, like for example CPU frequencies above 1700 MHz: Do not write '0'. Please leave it at the default value.

Be honest. We love you for your personality, not your Android. :o (If you want to submit anonymously, you can write me a PM as well.)

Don't let your kernel config app set test values on boot. :silly:

Your settings should not impair the usability of your device at all. (Crashes upon governor scaling for example.)

GPU voltages can sometimes be set below device minimum, however, we want to collect values that allow an unimpaired experience with no graphical glitches at all.

If you want to copy values from others, be aware that their best settings are not the best for you. Every Nexus 10 is different, and there is the risk that some voltage is unstable on your system. If it works anyway, you save power by applying the settings, but chances are that you could find even more efficient values! To maintain statistical significance, please do not post settings that you copied from someone else.

~ CPU Release 2013-04-29 ~

~ GPU Release 2013-04-29 ~

Top: A graph that estimates the total amount of dissipated power. Beware of the horizontal line, as it is the highest value that Samsung and Google have designated. Here you can see, how undervolting and overclocking can combine to higher performance without higher heat emission (with Enigma's Crème de la Crème Preset up to 1900MHz CPU clock). This way you actually can safely overclock the CPU. (pingguo is not responsible for any damages on devices other than his own. :o They are in perfect condition, though. I'm just saying this because everyone does.)

On the left, you can see the differences between the default voltages and custom values.

The right side indicates the power consumption compared to default values. This might be the most important graph!

Source: http://en.wikipedia.org/wiki/CPU_power_dissipation

Matlab-Sourcecode, for the enthusiasts:

ping = [ 100, 200, 300, 400, 500, 600, 700, 800, 900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100];
guo = [ 900, 900, 900, 900, 900, 912, 925, 950, 962, 987,1012,1037,1075,1100,1137,1187,1225,1250,1275,1300,1325; % DEFAULT
800, 800, 825, 850, 875, 875, 900, 900, 925, 950, 975,1000,1025,1050,1075,1100,1125,1160,1200,1250,1290; % Butterlicious, Margarine 2013-04-24
750, 750, 775, 800, 825, 825, 850, 850, 875, 900, 925, 950, 975,1000,1025,1050,1075,1110,1150,1200,1240; % Crème de la crème 2013-04-24
785, 785, 785, 785, 785, 790, 795, 815, 835, 865, 890, 915, 955, 985,1015,1055,1095,1125,1165,1205,1325; % PINGGUO
% 760, 760, 760, 760, 760, 765, 770, 790, 810, 840, 865, 890, 930, 960, 990,1030,1070,1125,1165,1205,1325; % PINGGUO-AGGRESSIVE
];
ref = ones(length(guo(:,1)),1)*guo(1,:);
pingg= ones(length(guo(:,1)),1)*ping;
hvhf = ones(1,length(ping)) *1700*1225^2; % max. f*V^2 with default settings
subplot(2,1,1);
plot(ping,[pingg.*guo.^2;hvhf]);
axis([ping(1),ping(length(ping)),0,4E9]); % set Y limit so that it looks nice
xlabel('Frequency / MHz');
ylabel('f * V^2 ~ Power Consumption (Arbitrary Units)');
title('Total Power Consumption; Horizontal Line = Maximum with DEFAULTS');

subplot(2,2,3);
plot(ping,guo-ref);
axis([ping(1),ping(length(ping)),-200,20]); % adjust Y range if necessary
xlabel('Frequency / MHz');
ylabel('Voltage Offset (V - V_{DEFAULT}) / mV');
title('Nexus 10 CPU Undervolting: Voltages');
grid;
subplot(2,2,4);
plot(ping,(guo./ref).^2*100);
axis([ping(1),ping(length(ping)),0,110]);
legend('DEFAULTS (KTManta-04-19-2013)','PRESETS Butterlicious, Margarine (EniGmA1987)','PRESET Crème de la crème (EniGmA1987)','pingguo@KTManta-04-19-2013 (Hotplugging OFF)','Location','SouthEast');
xlabel('Frequency / MHz');
ylabel('(V / V_{DEFAULT}) ^2 ~ Power Consumption (Percentage)');
title('Relative Power Consumption');
grid;

Most of this ugly piece of code works automatically for everything, just write into the matrices and check the lines with commentaries. :silly:

Cheers,

苹果