yashsingh1/xdaforums huggingface dataset:
[Nexus 9 Original Android Development] Philaphlous:
Ok! Here's how you change your voltage:

I use terminal enumerator

Make sure you have root access "#"

navigate to /sys/kernel/debug/clock/

within the clock you can enter "cat dvfs" and this will give you voltage and clock values

now the voltage offsets for the CPU and GPU are under the following:

/sys/kernel/debug/clock/vdd_cpu_offs

/sys/kernel/debug/clock/vdd_core_offs

/sys/kernel/debug/clock/vdd_gpu_offs

To simply drop 10mV for the CPU all you have to do is enter this:

echo -10 > /sys/kernel/debug/clock/vdd_cpu_offs

echo -10 > /sys/kernel/debug/clock/vdd_core_offs

This will set a -10 mV difference. I'm stable upto -90 reduction in voltage.

This means that I can run 2.499Ghz at the same voltage as if I were at 2.14Ghz

Likewise, enter the same value for the GPU just change the target location

echo -10 > /sys/kernel/debug/clock/vdd_gpu_offs

Hope that helps. I haven't really noticed much of a difference but it should help power consumption and heat.

Stock Vcore for the CPU @ 2.499Ghz is 1.100v, I can get it down to 1.010v

Stock Vcore for the GPU @ 980Mhz is 1.130v, I can get it down to 1.090v

Pretty cool stuff! Careful going too low, you'll lock up your tablet. lol

Edit:

Ran benchmark Geekbench 3 to compare power usage between stock volts and -90 undervolt. Ran 5 tests each time and looked at each benchmarks max power draw.

Using the standard elementalx governor I found the undervolting resulted in an 8% savings in power @ 2.499GHz

That means:

3538mA @ stock

3262mA @ -90 undervolt

Second run used a locked multiplier in at 2.499GHz throughout the entire benchmark. This resulted in a 7% power reduction:

3689mA @ stock

3449mA @ -90 undervolt

I know it doesn't seem like much but I think it's pretty significant. Any bit helps
[Nexus 9 Original Android Development] i9100g user:
Nice information!

BTW -145mv on both (vdd_core and vdd_cpu) stable for me @2499mhz

(It throttles but it is stable)

However -150mv [MENTION=4135248]142[/MENTION]8mhz crashes !

Looking up GPU part now

Running a stress bench with -145mv and -0mv

And there was a clear difference in power consumption according to cool tool

(Both at 1224mhz as it gets insanely hot at 2499 MHz) [MENTION=828718]1224[/MENTION]mhz @-145mv power consumption varies between 965-981mv [MENTION=828718]1224[/MENTION] @-0mv power consumption was 1115mv

(1115-981 = 150 and 1115-965=134)

So the difference in consumption according to cool tool is between 150 to 134 mv which is quite near of -145mv so it is indeed working!

(Closed all the applications running in the background to eliminate any other variables in power consumption)
[Nexus 9 Original Android Development] Freak07:
Nice! I'm currently at -50 for cpu but will try to get lower.

Anyway, could you do this command

su -c cp /sys/fs/pstore/console-ramoops /sdcard

And post the outcome for your speedo id and values?

As example here are mine:

[ 0.000000] Tegra13: CPU Speedo ID 1, Soc Speedo ID 0, Gpu Speedo ID 1

[ 0.000000] Tegra13: CPU Process ID 0,Soc Process ID 1,Gpu Process ID 0

[ 0.000000] Tegra13: CPU Speedo value 2500, Soc Speedo value 2180, Gpu Speedo value 2047

Maybe we can put up a rough guideline how low one can uv dependant on these values. Thanks in advance guys.
[Nexus 9 Original Android Development] i9100g user:
^It shows no such directory exists ?
[Nexus 9 Original Android Development] Freak07:
Did you do it on terminal emulator directly on the tablet?
[Nexus 9 Original Android Development] Freak07:
So for me -130 on cpu and -70 on gpu seem stable.
[Nexus 9 Original Android Development] Br0kI:
Can you do that also in ESDatei explorer?
[Nexus 9 Original Android Development] Freak07:
What exactly do you mean?

You have to download terminal emulator.

Open the app, type: "su" and grant root access. Now you can copy and past the echo commands in terminal emulator. -10 is for 10mv uv, -20 for 20mv uv.

You can however take a look at the dvfs file with esdatei explorer and check whether the command did get applied.
[Nexus 9 Original Android Development] Br0kI:
Yes in ES you can only check the value..

Your way works for me, thx.
[Nexus 9 Original Android Development] Philaphlous:
Oh and just so everyone knows...if you reboot, the offset reverts to the original value... 0
[Nexus 9 Original Android Development] i9100g user:
Getting rusty these days lol

Anyways from kernel log:
[Nexus 9 Original Android Development] Freak07:
Yeah if I have time I will post an init.d script :)

Okay I think soc and gpu speedo value are important here. I'm stable at -130 mv and my soc value is slightly lower than yours.

Did you test your gpu uv capability yet?
[Nexus 9 Original Android Development] i9100g user:
-95 mv stable on GPU here.

We can open a poll for this
[Nexus 9 Original Android Development] Freak07:
Could you test if you have init.d support? It seems that it's not included in latest elementalx version.

Did you get an immediate reboot if you crossed -95mv for gpu or how did you test it?
[Nexus 9 Original Android Development] i9100g user:
no have init.d support here( on ex 3.01)

Actually there are small artifacts upto -80mv for me and complete screen freeze on anything greater than -100mv (I mean less )
[Nexus 9 Original Android Development] flar2:
I will and this stuff to EX Kernel Manager soon.

In the meantime, someone could add these with the new user settings feature and share with others.

I'm camping this weekend, so no development
[Nexus 9 Original Android Development] Freak07:
are user setting automatically applied on reboot? if so i will upload a profile yes :)

in the meantime here is a script that applies -130 mv on cpu and -50 mv on gpu. you can edit the values to your liking.

https://drive.google.com/file/d/0BxbxiBXaZVu-WGZxWUg4Z1hkd0E/view?usp=sharing

just download the script and place it in system/etc/init.d folder.

now install the app universal init.d and open it.

toggle the switch for init.d support on any rom and any kernel to on.

select the 99uv file. tap edit and change the values to your liking.

to start apply -10mv for cpu ( first two lines). now click again on 99uv and execute the script.

to check if the script set the value correctly open the file "dvfs" with a root explorer in /sys/kernel/debug/clock.

if you did undervolt your cpu by 10mv the offset for both vdd_cpu and vdd_core should be -10mv.

here is a screenshot of the dvfs file. as you can see i did uv the cpu by 130 mv and the gpu by 50mv.

https://drive.google.com/file/d/0BxbxiBXaZVu-RkdkckdGM0ZJUVE/view?usp=sharing

now do a stress test. this is a good app: https://play.google.com/store/apps/details?id=com.into.stability&hl=de . do a scaling and stability test. let it run a few times and if it´s stable do -20mv for the cpu and repeat the stress test until you reach the limit of your soc ( -> system freeze, artifacts, lagging etc.)

for the gpu the same procedure is required. just run 3d bench or gfx bench.

but i have myself a question either to [MENTION=4684315]flar2[/MENTION] or [MENTION=5380733]Philaphlous[/MENTION]

in the dvfs file there is a line cpu_g. i think it means that 2,49 ghz are running on 1100mv? however this value does not get lower that 1100mv regardless of the amount of uv that is applied. then there is a line under vdd_core that reads "override 0 mV [1100....1150]"

i tried to change the value of the file vdd_core_override in sys_kernel/debug /clock to "1" but it fails every time. so is the offset really applied for all cpu and gpu steps? because on -150 for cpu my tablet shuts down.

and [MENTION=5380733]Philaphlous[/MENTION] how did you determine your stock and uv values for example 2,499 ghz exactly? with the cpu_g line in the dvfs or elsewhere?
[Nexus 9 Original Android Development] Freak07:
A little Update.

So I think I have the perfect values for my tablet. I managed to get to -130mv for cpu and -60 for gpu. At first even -90 gpu seemed stable but if running 3d mark ice storm benchmark a few times proved me wrong :D this seems to be a good method to test stability of gpu.

The uv did make a noticeably difference when gaming for me! The tablet gets now warm but never hot.

When I uc the cpu and gpu a little the tablet doesn't even get really warm! That's really great news for me :)
[Nexus 9 Original Android Development] Philaphlous:
Quick update here.

Cpu offset doesn't really seem to do anything. I've even gone as low as - 1000 offset and nothing happens. Seems that only the vdd_core_offs does anything for the cpu... Just an FYI.

Gpu offset definitely works and so does the core offset. Strange. It has something to do with this "dfll" voltage table I have yet to understand.
[Nexus 9 Original Android Development] Freak07:
Did you make any progress? Did you see the folder dfll_cpu in sys/kernel/debug/clock? I think we have to edit the dfll values either in the dvfs_table file directly or find the place where to edit them.
[Nexus 9 Original Android Development] Philaphlous:
Yes, there is a dvfs_table in the clock folder and also a dfll_cpu folder also, however, the values within the folder don't give me any indication of how to change them. My programming knowledge is quite limited, I just know some lunix, SQL, VB, MS DOS and that's about it.. From all I can tell thought, changing the values that I previously mentioned, except for vdd_cpu_offs does it in-fact change the voltage.

I assume there is a default mV value for each step in processor MHz, which is contained within the dfll table, however, the "offset" allows you to change which dfll is selected for each frequency set. So take 2.499Ghz for instance, would be 1100 mV dfll with a 0 offset. If you select -10 offset it will change the dfll value to 1090 mV even though the frequency is still set to 2.499GHz. Make sense? It would seem the "vdd_cpu_mV" has no bearing on the actual core voltage, since 2.499GHz frequency would be 1260 mV according to the CPU table, which seems crazy high for any CPU at that frequency...
[Nexus 9 Original Android Development] i9100g user:
CPU temperature displayed by elementalx application is not that of CPU but of tegra board sensor :

for temperature of Tboard_tegra(temperature of board) :

/sys/devices/virtual/thermal/thermal_zone0/temp

for temperature of Tdiode_tegra (temperature detected by corner sensor)

/sys/devices/virtual/thermal/thermal_zone1/temp

for temperature of battery

/sys/devices/virtual/thermal/thermal_zone2/temp

for temperature of CPU-therm (Cpu temperature):

/sys/devices/virtual/thermal/thermal_zone3/temp

for temperature of GPU-therm (Gpu temperature)

/sys/devices/virtual/thermal/thermal_zone4/temp

for temperature of MEM-therm

/sys/devices/virtual/thermal/thermal_zone5/temp

for temperature of PLL-therm (no idea what this is)

/sys/devices/virtual/thermal/thermal_zone6/temp

also there is 7th folder which shows temp for therm-est (again no information what this is)

/sys/devices/virtual/thermal/thermal_zone7/temp

file 'type' in each of these thermal_zone* folders tell what they measure

[MENTION=4684315]flar2[/MENTION] is it possible that you can add some of these (like GPU ) temperatures for monitoring in the elementalx application ? Just a suggestion :)

read here
[Nexus 9 Original Android Development] mikebeatrice:
Is there any reason why the ElemX app doesn't have the "max screen off cpu" setting on the N9?
[Nexus 9 Original Android Development] i9100g user:
Overvolting CPU at 225mv is stable (echo 225 > /sys/kernel/debug/clock/vdd_core_offs)

Also geek bench score is a bit higher.

Now that we can overvolt I was wondering if we can push beyond 2.5 GHz on CPU?
[Nexus 9 Original Android Development] Philaphlous:
Considering that when you run benchmarks... The core temp jumps into the upper 70s and 80s quite quickly... I'd imagine any more volts and MHz will really have the potential to fry the chip. 2.499GHz is pretty beasty for a chip that doesn't even have a passive heatsink on it. Go for it if you want but just beware... Your in the chip frying territory...
[Nexus 9 Original Android Development] i9100g user:
And even then the higher MHz would just be useful for boasting benchmark scores inside a freezer of course....

So I agree with that , however for the sake of testing I think I can give it a go.
[Nexus 9 Original Android Development] joeyddr:
Seems the battery bug issue is present in the latest 3.01...after 5 minutes of use of goes to 96%...if I boot to twrp it says 99%. I had this on my n6 till they reverted a commit from m2
[Nexus 9 Original Android Development] flar2:
It's not a bug, it's in the official sources. They are just measuring battery differently and things will even out after a charge cycle or two.
[Nexus 9 Original Android Development] joeyddr:
Yeah I'm not buying that since I have been through 3-4 cycles and it still drops 3% in 5 minutes of use and when it happened on my n6 with benzocore kernel the patch fixed it... Also if I boot into twrp it shows a higher % than in rom...

For reference. http://xdaforums.com/showthread.php?p=61918183
[Nexus 9 Original Android Development] flar2:
Please try out this new free app I'm working on:

DevCheck

Any feedback should go in this thread:

http://xdaforums.com/android/apps-games/app-devcheck-1-4-beta-information-t3171427
[Nexus 9 Original Android Development] Philaphlous:
Works great! Only thing I see is it doesn't include the name/description of the gpu...
[Nexus 9 Original Android Development] flar2:
Close and open it again ( or rotate the screen to refresh), sometimes it's not picked upon first opening
[Nexus 9 Original Android Development] FlickFlack:
Today the ElementalX app shows a CPU temperature of 173 degrees:confused: I recognized before that the Nexus 9 does not response as normal and in the app I see that the CPU does not go above 775MHz.

The back of the tablet was not warm. Is this a known bug? Never have had this before. I am running Stock 5.1.1 rooted with Xposed and a few modules to decrease battery consumption(amplify, power nap).

After a reboot temperature was 40 degree and all is fine again.
[Nexus 9 Original Android Development] cobyman7035:
under clocking and under volt will squeeze out more battery life right? i might be on this elementalX soon with my new LTE n9..just got it the other day :) ...long time user of eX on my nexus 7 FHD , Still running 4.4 KK lol with eX kernel
[Nexus 9 Original Android Development] cobyman7035:
after installing and flashing kernel, it says please wait..... loading page..is that normal???? kinda stuck there 1 min now....im getting nervous
[Nexus 9 Original Android Development] workdowg:
Are we flashing this kernel on the 5.1.1 (LMY48I) latest image? Was there a kernel update on it?

Thank you.
[Nexus 9 Original Android Development] flar2:
Never seen that message before...

I don't think there were any kernel changes, the latest should work fine.
[Nexus 9 Original Android Development] cobyman7035:
it was a like a never ending page loading screen, i hit the power button and it seem to go away i think..anyways i booted up to android o/s...then i installed faux123 app from google play store and it LAGGED my nexus 9 so badly...wow, is that a bug with that app and eX kernel? i rebooted and my speed is back normal now

i overclock the cpu and gpu but when i ran androbench, i got worse results? kinda confused on that

i was running that decrypted boot img
[Nexus 9 Original Android Development] flar2:
I don't know why the faux app causes problems, but it does. EX Kernel Manager is recommended if you want to change settings, or DevCheck if you just want to check or monitor settings.
[Nexus 9 Original Android Development] cobyman7035:
does ex kern app allow voltage underclocking.thx
[Nexus 9 Original Android Development] flar2:
Not officially until the next version. But exkm has a feature where you can add any custom setting you want.

That said, I don't recommend undervolting because this device automatically selects the lowest voltage it can.
[Nexus 9 Original Android Development] Freak07:
hey [MENTION=4684315]flar2[/MENTION]

you asked for some feedback on your n9 kernel in the htc mega thread. so here it is.

i´m using the latest 5.1.1 version on dirty unicorns. it´s really snappy now but i changed the values of elementalx governor a little bit to more aggressive ones. here are the values:

https://drive.google.com/file/d/0BxbxiBXaZVu-ZFBBYXY1bFhXNGs/view?usp=sharing

one downside of this is that it uses the highest frequency when streaming from amazon instant video a lot but the drain is not so bad as i expected.

the only problem i have with this device is that chrome opening does require more time than on my n6 or m8. maybe that´s due to the ram managment. also when just doing light or medium tasks the tablet flies. but when opening chrome or other ram hungry apps there is a little bit of a slowdown :(

are there any updates or progress regarding undervolting the cpu from your side?
[Nexus 9 Original Android Development] Freak07:
Yep I thought it was something with (z)ram but well it's rather inconvenient sadly because this tablet flies in general use.
[Nexus 9 Original Android Development] flar2:
I already added lz4 compression for zram. I didn't backport the whole thing on the latest versions, but I did on earlier versions.

The lag is totally due to the undersized memory on this device, they should have went with 3GB. I think the zram is relatively snappy, when it lags it's because it's totally out of memory and has to load from disk when you launch it. If you have a few tabs open on Chrome, you'll also notice they refresh most of the time when you switch between them.
[Nexus 9 Original Android Development] Freak07:
Yeah I noticed that too. But on m8 it's better and it also has "only" 2gb ram...
[Nexus 9 Original Android Development] flar2:
m8 is 32-bit, this one is 64-bit so uses more memory
[Nexus 9 Original Android Development] Freak07:
Oh right this explains it. Nothing much we can do then right? :(
[Nexus 9 Original Android Development] cobyman7035:
My nexus9 randomly rebooted and I lost all recent apps I installed... What setting do I use to keep data intact when it suddenly decides to reboot ??? thx

Via my NeXus™ 9 LTE on Tapatalk 5.1.1

---------- Post added at 07:20 AM ---------- Previous post was at 07:17 AM ----------

I'd like custom voltage tables cuz man this tablet gets hot just browsing sites... I never play games either

Via my NeXus™ 9 LTE on Tapatalk 5.1.1
[Nexus 9 Original Android Development] beats4x:
Did you have fsync disabled? The only time I experienced what you described was when I disabled that. Never did it again lol
[Nexus 9 Original Android Development] metaphz:
Installing Dev Preview 3. Anyone flashed ElementalX yet? If not I am going to give it a shot.
[Nexus 9 Original Android Development] MotoFlasher:
Everything great here...
[Nexus 9 Original Android Development] flar2:
No kernel changes in M preview 3, continue using version 3.01
[Nexus 9 Original Android Development] .MoHaMaD:
I found a funny bug

With every reboot the wifi mac adress will change

Build number MPA44G and root
[Nexus 9 Original Android Development] flar2:
Are you guys sure the vdd_core_offset setting is really undervolting?

Back when I made voltage interface (if you remember, a long time ago, one of the earliest builds had voltage control), I decided to revert it because the automatic voltage (dfll mode) was much more efficient. dfll mode adjusts the voltage according to the needs of your specific chip, and it's enabled by default. If you look at the dvfs_table, you can see that it basically undervolts quite a bit compared to the "stock" voltages you get without dfll mode (like when I made the voltage control, which required disabling dfll mode). Here is mine:

vdd_cpu 980 980 980 980 1020 1060 1100 1150 1190 1230 1260 1260 1260 1260 1260 1260 1260 1260 1260 1260 1260 1260 1260 1260
vdd_cpu (dfll) 800 800 800 800 800 800 800 800 800 800 810 820 840 860 880 900 930 950 970 990 1010 1040 1070 1100
[Nexus 9 Original Android Development] Freak07:
Nope only the vdd_gpu_offs is really working I think.

For cpu we need to somehow overwrite the values the dfll mode chooses because with offset we are not able to do this.
[Nexus 9 Original Android Development] cobyman7035:
Ok found a bug that keeps rebooting my n9...ex kernel v2.0 and latest next browser... Beeg dot com *cough* adult site... I'm research ing that site as I'm watching the videos.. Go through a few.. Fast forward play ect. My nexus9 will just reboot... Happened 3 times I've tested

The I will test out other browsers too if it also reboots me

Is there a log file I can post? Thx

Via my NeXus™ 9 LTE on Tapatalk 5.1.1
[Nexus 9 Original Android Development] flar2:
Now we know what you do with your spare time, lol

The log is /sys/fs/pstore/console-ramoops

You must grab it immediately after the crash

You can easily save the log from the Tools page of EX Kernel Manager
[Nexus 9 Original Android Development] cobyman7035:
so after the reboot...i must enter exKernel app...goto tools, , save logs > logcat ?

then it saves the log file in /sys/fs/pstore/console-ramoops ?

is it safe to delete console-ramoops? i got one but its huge file lol 1000K , i gotta wait till a crash to save a smaller one
[Nexus 9 Original Android Development] flar2:
Select "Previous kernel log"

Don't worry about the size, it's generated by the system, it's not a regular file.
[Nexus 9 Original Android Development] Matthileo:
Hey flar2, I've got a couple questions. I wasn't aware that the n9 had an auto-downvolting thing. Is there any easy way for me to disable that, or could you add an option in the next update?

Some users, myself included, have an issue where the n9 will randomly lock up, glitch out, and require a manual restart. Most people with the problem only seem to run into it when the battery is lower, and I've *never* had it happen when my device is plugged in. It only happens when the device is running on battery. I've thought for a while it could be a problem with the CPU voltage, but don't know **** about dev stuff, so I had no way to check. You think the dfll thing could be the culprit?

Problem in question:

http://xdaforums.com/nexus-9/help/nexus-9-freeze-image-blurry-t3155031
[Nexus 9 Original Android Development] cmh714:
any way to fix the mac from changing on every reboot? worked fine till i flashed 3.01 on Preview 3. so worked fine before flashing 3.01, and was also completely working with 3.01 on Preview 2

thanks!!
[Nexus 9 Original Android Development] cobyman7035:
is it normal to have so low free ram on this n9? i only see 600megs RAM free when i use speed boost app? my nexus 7 has like 1.2gb free ram
[Nexus 9 Original Android Development] octagonPerfectionist:
yeah, it's normal. it basically doesn't have enough RAM to run anything but the stock apps (and not actually enough even for that) and anything extra running in the background will basically cause everything to stop working properly. this tablet really needed at least 3GB of RAM to be usable but alas, it is what it is. i'd recommend uninstalling or disabling any apps that run in the background that aren't absolutely essential to save as much RAM as you can for things that are actually important.
[Nexus 9 Original Android Development] arunkr:
Hi guys, is the sweep to sleep working?..In mine its not..:(
[Nexus 9 Original Android Development] flar2:
UPDATE!!!!

Small update for Android M preview 3. Turns out there were new commits

I did not test it, because I don't have it installed. But it should be good. Let me know please.

Download:

ElementalX-N9-3.02

Changes:

-update for M preview 3
[Nexus 9 Original Android Development] cmh714:
thanks that seems to have fixed the random changing mac address

still have some minor issues with root...for example i cant edit build.prop since the system folder wont go into rw mode. the root folder goes rw, but not system.

thanks!
[Nexus 9 Original Android Development] flar2:
I haven't looked into the issue of system rw. I don't want to expend any time and energy on this until M is official and we see exactly what the rooting situation will be.
[Nexus 9 Original Android Development] cmh714:
all good flar2! thanks again.