yashsingh1/xdaforums huggingface dataset:
[Galaxy Ace II Android Development] ChronoMonochrome:
Well, lets return to this discussion about CPU/GPU undervoltage. Today I've done some tests with this and it showed some difference between uVed, and non-Uved preferences. First test was done by using programm stability test(CPU 400 MHz static, DDR 695 MHz, minimal display brightness):

(first current value is instant current, second - average)

1) varm=0x1a, vbbx=0xdb, == -111 - -110 mA
2) varm=0x10, vbbx=0xdb, == -106 - -103 mA
3) varm=0x10, vbbx=0x11, == -101 - -98 mA

Not that difference between 1) and 2) is very noticeable, moreover, latest case with vbbx=0x11 usually would be unstable, but as you know, the phone can handle even more undervoltage with static CPU freq.

Second test with GPU gave more interesting results(Nenamark - GPU 300 MHz, CPU 1200 MHz static @ varm=0x37, vbbx=0x8f, DDR 695 MHz, minimal display brightness and disabled sounds):

1) vape=0x26 - -290 - -287 mA
2) vape=0x1c - -255 - -250 mA

How values above were obtained? I've used my script for that(attached below):

from terminal(files curr and current should be placed in /system/xbin):

current > /sdcard/test_gpu300mhz_uv.txt

After running Nenamark in few times(three times in my case), you can stop output by pressing vol.down + C. Then look for values in output file - small difference between instant and average current confirms better accuracy.

Note that for using this script interfaces /sys/kernel/abb-fg/instant_current and /sys/kernel/abb-fg/average_current are needed, but you can use generic interfaces /sys/devices/platform/ab8500-i2c.0/ab8500-fg,0/power_supply/ab8500_fg/current_now and ~/current_avg can be used instead.

Now we can see that the more load on CPU/GPU == different power consumtion; low load == almost same power consumption with different voltage. GPU test has showed dramatical difference because of fully loaded GPU.

Third step is unneeded if we are talking about CWM/PhilZ. Once this conversion is done, the kernel needs to be reinstalled (to generate new fstab file, otherwise it won't boot).
[Galaxy Ace II Android Development] ace2nutzer:
Yes! This is what i've tried to explain for months.... but most of users don't believe me...

Min CPU / GPU Freq on IDLE is NEVER more loaded that 5% (interactive gov) ... that's why it makes no sense to use lower cpu freqs of 400Mhz and use very low Voltages with the risk of instability.

0x18 for 400Mhz and vbbx=0xdb is enough.. for powersaving (of course on IDLE) ;)

EDIT: don't forget this is a Phone ... imagining u need to do a emergency call and u need first to wait a reboot caused by UV ! Dammit !!!
[Galaxy Ace II Android Development] ChronoMonochrome:
It makes sense to undervolt exactly that frequency that is used more less often. In usual cases it's input boost freq (or hispeed freq). In this case load can be high enough to make difference between uVed and non-uVed preset. Why you are talking about this like IDLE is only possible state for CPU/GPU?

Btw, not every governors goes to higher frequencies so fast as Interactive; contrary that, Dynamic can stay on lower freqs as long as its workload supports selected frequency.

Well, I only can say that everyone should test it more less thoroughly before to use it daily. Note that nobody is insured from some other cases when reboot can happen - software errors (null pointer exceptions), OOM condition etc.
[Galaxy Ace II Android Development] miryn:
I ask about it for the second time.. Is WiFi works on latest kernel? Can somebody give me the fu*king answer?
[Galaxy Ace II Android Development] bebolint98:
Yes, for me it works on latest kernel.
[Galaxy Ace II Android Development] shaqman89:
Chill dude. Usually the lack of complaints means everything is working well or we might have not tried it yet.

I am on the latest (2.22) and everything is working perfectly for me. WiFi included.
[Galaxy Ace II Android Development] ace2nutzer:
U're missing the point again xD I mean all the time the IDLE freq, not the go_hispeed_freq ;)

Here an example in my case with my kernel:

According to the CPU Times the most used freq is just IDLE (400Mhz), then the max CPU freq (1150Mhz) and then go_high_speed freq (600Mhz) and all the other freqs very small usage ...

Well, let us think again the sense of UV according to the CPU Steps usages:

Min CPU 400Mhz ---> IDLE ----> according to our tests almost same current drawn. = no sense.

Scrolling freq --> 600Mhz ------> not really used often and with vbbx=0xdb and with 1,07V varm already low voltage enough ;)

Max CPU Freq 1150Mhz ------> here is no UV needed, because we want to use max stable. freq, UV will cause here random reboots. = no sense / not possible.

Other Steps: they are NEVER in full load = Almost no difference = no sense.

As u can see, that UV Things is maybe really only useful on the scrolling Freq: (for me: 600Mhz) ....

That was about CPU ....

About GPU same thing, for default min freq 400Mhz = 1,06...V and for max freq 450Mhz = 1,12V and for all the other steps i'm using just the max. Voltage because if anyone like to have more speed as 450Mhz then he will use the highest stable freq..

In my case 1,06 V for min GPU freq is optimum .. for LPA i'm using 1.00V, less voltages will cause probs with Sound during screen on/off for most of users.. also maybe blackscreen issue when LCD Freq is OC'ed and the User have s6d Driver ...:highfive:
[Galaxy Ace II Android Development] miryn:
So i'm the unlucky one, but thankss!

I had a really bad day sry.

peace.
[Galaxy Ace II Android Development] ChronoMonochrome:
Nope, ain't :) that's why I asked why do you count idle as only point to not uV.

Okay, but I think it's very dependent on phone usage. Again, example above cannot explain why some lower frequency can't be used instead of max CPU freq. It's more govenor-dependent. In cpufreq stats those I have seen after using Dynamic, it scales at all freqs (but, the higher freq - than lesser its usage). But okay, in your case probably no need to care about uV, because with that usage of CPU it makes no sense.

That's just matter of user preferences. I don't talking about using uV as by default - according to avs data that we have collected in past, this wouldn't make sense. On the other hand, user can decide it by himself.

Btw, I'm really don't know what's cause of eternal blackscreen bug. We have removed all possible reasons for that, exactly: no UV CPU/GPU by default, APE50 with screen ON, default LCDCLK freq, but the bug anyway persist.
[Galaxy Ace II Android Development] ace2nutzer:
But i do that for months and it's working stable for all :o - Take a look at my CPU Table .. that's the default stable UV for every Ace2 ... u're using for some Steps too high Voltages.. even i i'm using that Voltages and i'm satisfied.. even that i know that my Phone can handle much more lower voltages.. but i don't care about more 1 - 3% less power consumption.

Off course it's different for every Phone, and every User can do her own UV Script, but i must mention that's not done in 24h .. i takes very long time till all steps are max. undervolted and the Phone can run for 1 week without FC or Reboot ! I've do that already many times.. and i came to the result that one default UV is enough for everybody when it's stable. (till now, ok) i don't want to make users creazy to say UV will save some power but u need to do spend much time .. and from beginning of UV till stable UV, i swear to u guys your Phone will freeze/reboot like 50 - 100 times, then u've of 99% Filesystem or data Corruption and u need to do wipe data for that small changes in power consumption :highfive:

EDIT:

Since i've changed LCD Freq to the Default 50Mhz.. i've till now no one report about blackscreens :)

EDIT2:

Change this out in board-codina-mcde.c:

.power_on_delay = 5,
.reset_delay	= 5,

I've checked on your Repo CPU/GPU Voltages.. they are okk... but just too high.. (not the problem for bs)

btw: What are'u using for LPA ---> VAPE.SEL2 ?! I remember u did a new SYSFS to change that voltage ... If somebody like to test real Voltage during playing music @ screen off:

Play an mp3 and turn the screen off, now check with ADB: cat /sys/kernel/mali/mali_gpu_vape_50_opp and hope it's not lower than 1V to avoid bs bug.

After that u can make new release and let the user with that bs issue test if the issue persist... if yes just ask me...
[Galaxy Ace II Android Development] ayas02:
Thanks your explanation , for zram and 100 swappines im so stupidly but about low memory do you know how calculate minfree and adj ? thanks
[Galaxy Ace II Android Development] ChronoMonochrome:
Well, I use stock voltages. My assumption that is better to not uV at all by default. From a few hundred phones you can always find 2-3 those barely handle even relatively small uV.

With screen OFF it can be bit more - with 50 mA current even 5 mA is about 10% powersaving.

IMO, it's way painless than you talking about. Some voltages can be easily obtained by method https://github.com/mkaluza/i9070_kernel_CoCore-E/wiki/Undervolting-janice , although, you've to use higher voltages. Take it as a tool. If you hurt it, it does not mean that the tool is bad.

I use default voltage for APE50. I've removed that interface cause it didn't work properly.
[Galaxy Ace II Android Development] Ave_Hornet:
[MENTION=5695278]ChronoMonochrome[/MENTION]

I can confirm in my example UV Saves battery

For me it looks like this : (i've test this several times and no reboot etc)

CPU

(daily)400 = -37

(daily)600 = -25

(daily)800 = -25

(daily)1000 = -12

(daily)1100 = -12

(daily)1,150 = -12

(gaming etc) 1200 = 12

(gaming etc) 1220 = 12

GPU 320-700 = -25

and I can say only that I save about 15-17 % (tested several times and same time of using etc .without/and with UV)
[Galaxy Ace II Android Development] xo.en:
...unfortunately, it is not working - first - i cannot format /cache to f2fs(if it is mounted i can format it to ext4, but not to f2fs, weird), then there is an issue with android.secure.vfat, should i rename that one(s) too? For some reason backup cries about this one NOT being renamed to f2fs and i have md5 error then.

Of course i renamed names in nandroid.md5 accordingly.
[Galaxy Ace II Android Development] ChronoMonochrome:
/cache should be at least ~140 MB of size. You don't need to rename any files if you use CWM/Philz.
[Galaxy Ace II Android Development] xo.en:
Aww, gawd, i have too small partition then :E

I have rather unusual setup..made for card swap(vold), but now after migrating to 4.4 rom i am not using that swap.

Case(probably) solved, thanks, man.

Time for repart...

One question: am i right that only partitions that i can make as f2fs are system, data, and cache?

upd: any tries for restoring backup after f2fs conversion were not successful in my case..more...conversion(manual and automated - both methods gave me same updater-script, then cwm refuses to flash it) of rom i am using failed. It is ok, maybe i just need to face simple truth, that i am moron.

btw, 2.22 feels faster, than 2.21 with same settings. One thing troubles me, though: i/o chronokernel apk crashes, still.

I evaporated zram init, does this apk checks that init file? It could explain that crash, you know...

---------------

Chrono, and ace2nutzer - guys - you made 2d absolutely insane, i never seen anything like this before, 3/4 of emulators are using 2d only, and now 2d is totally insane - 500mhz is enough for totally unique experience.

Machine works like a rocket.
[Galaxy Ace II Android Development] ChronoMonochrome:
Nope, theoretically any ext4 partition can be converted to f2fs. But IMO it would be really crazy and useless to convert e.g. modemfs or efs. At least it wouldn't give any improvement, unless you don't build kernel without ext4 support to free up some RAM that ext4 occupies.

Manual method may fail if you have no enough space for f2fs - it requires at least 25% of free space. This is due to how f2fs stores the data on a partition. Btw, it's mentioned in OP as well.

I don't know why automated method doesn't work - I've tried once on CM12 and it worked properly. Probably better to convert to f2fs using nandroid backup.

Easiest method to find out, why it crashes is to look into logcat.

This is due to recent changes in LiveOPP - I never liked its original kind of setting APE/DDR OPPs, because of its painful tuning. Before you had APE50/DDR50 maximum with max CPUfreq 500 MHz - now it uses APE100/DDR100 with no matter of what frequency is maximum. The same is for minimum CPUfreq - it uses APE25/DDR25 unless something else doesn't require higher OPP state.

UPD.

But I have doubts whether using 500 MHz as max freq will have positive effect on battery life - APE100/DDR100 are very costly in terms of powersaving, and since it used now more often than usually, it's even more worse. This behaviour can be avoided by using new settings of interface prcmu_qos_performance:

echo ape100_mali_threshold=128 > /sys/kernel/liveopp/prcmu_qos_performance
echo ddr100_mali_threshold=192 > /sys/kernel/liveopp/prcmu_qos_performance

these values determines what load of GPU should cause switching to APE100/DDR100 - on the other hand, this also disables LiveOPP to set it when max CPU freq is reached.

This is only for such low settings as 200-500 MHz. And just in case: enabling options above will slow down I/O and RAM performance, the same like before with settings CPU 200-500 MHZ APE50/DDR50.
[Galaxy Ace II Android Development] xo.en:
So, you made idle state more idle, and max state more..maxxed, then, i think.

That may have interesting effect on battery, regarding style of machine usage(idlers will like this, gamers, maybe not).

But, i need to ask - how outdated chronokernel app became with 2.22?

Thing seems to work, but...
[Galaxy Ace II Android Development] ayas02:
How Calculate adj parameters ???

thanks
[Galaxy Ace II Android Development] ChronoMonochrome:
Nope, both of idlers and gamers will have same APE/DDR states with settings such as CPU 200-800, 200-..., 200-1200 MHz. Only difference is when another settings used, smth like min freq is above 200 MHz, or max freq is below 800 MHz.

Actually its development won't be continued until sources are unreleased.
[Galaxy Ace II Android Development] xo.en:
Sir, i never had default...and i consider using 200-600mhz setup now, since 600 mhz as max gives more juice now, than 800 earlier.

Simpliest test: 420 mb map tiles load time in locus, i.e.

Difference from typical kernels is clearly visible for me, trust me..this is my main reason for trying f2fs which i failed...i wanted to speed it up dammit..

btw..i lost...3% of battery today

Undervolt definitely has a sense...when applied for EACH step logically.

Sorry mate for no response, i am..drunk all the time, since i lost a job.

Simpliest way is to use performance control apk, and ONLY its memory settings tab + init.d enabled for finding adequate values(make init, check per each LMK, save it for further use, REMOVE that init then, etc..).

This software will make both of lines you can use in your scripts per setting.

Do NOT use this program for pernament(permanent) setup as it messes with chronokernel app + chrono..kernel KERNEL settings(init.d scripts).

It is definitely useful for making proper inits, settings, but it is better to NOT use it for ANYTHING with Chrono kernel...to much had changed since default kernels, you know..
[Galaxy Ace II Android Development] ChronoMonochrome:
Here was a bug, min freq CPU sometimes goes to 1Ghz that cause battery drain. Only thing I've found is to change the frequency table :eek:

Btw, can you check CPU OC is working on this build?
[Galaxy Ace II Android Development] pedroleon99:
Yes it is working I set it to 998 mhz and it works fine my phone is super smooth :D
[Galaxy Ace II Android Development] manthes:
I don't know if it is kernel or rom problem but it is the second time that mobile Internet stop working and i have to flash modemfs zip file to work again. The problem happened without doing anything. It just stopped working.

I am using version with TWRP for kitkat
[Galaxy Ace II Android Development] ChronoMonochrome:
Hi guys, i've made two builds for codina p. Can someone check if here NFC is working?

deleted
[Galaxy Ace II Android Development] fluffi444:
You'll have an report in 30mins... And: Thx for the codinap work :)

Report1:

Assert line is not correct... Its still on codina/8160 and not codinap/8160P - Will change it manually for the test.

Report2:

Tested ext4 - But the Phone does not boot - Stuck at SGA2 Logo... sorry

Installing stock Kernel gave me again assert error. Works only with modified Kernel installer were the assert line was deleted.
[Galaxy Ace II Android Development] ChronoMonochrome:
okay its my mad, wait for new release.

Btw can you post here valid assert line for codina p? Thanks in advance :)
[Galaxy Ace II Android Development] fluffi444:
Sure - it's from Rox's codinap CM11 (with an additional message if Phone is not correct)

assert(getprop("ro.product.device") == "codinap" || getprop("ro.build.product") == "codinap" ||
getprop("ro.product.device") == "i8160P" || getprop("ro.build.product") == "i8160P" ||
getprop("ro.product.device") == "GT-I8160P" || getprop("ro.build.product") == "GT-I8160P" || abort("This package is for \"codinap,i8160P,GT-I8160P\" devices; this is a \"" + getprop("ro.product.device") + "\"."););
[Galaxy Ace II Android Development] farru1981:
Screen Mirroring

Hi ChronoMonochrome, thank you for your great work, your kernel es awesome; it have fixed the a2dp stuttering I was suffering and it also have support for UHID devices !!! :victory:

I was wondering if there could be a possibility to add support for Wifi Display or Miracast (or something similar) for allowing to do screen mirroring to a Smart TV (Sony Bravia, Samsung...)

Thank you.
[Galaxy Ace II Android Development] ChronoMonochrome:
Glad to hear that UHID is working. :) Because I never tested it.
[Galaxy Ace II Android Development] xo.en:
WHAT? We do have working usbhost????

OMFG...
[Galaxy Ace II Android Development] ChronoMonochrome:
No, it supports only bluetooth UHID devices, not usbhost.
[Galaxy Ace II Android Development] farru1981:
I haven't said that, I said that UHID devices (Human Interface Device) are supported, i.e. bluetooth gamepads... ;)
[Galaxy Ace II Android Development] xo.en:
please, someone inform this man, he needs it:

http://xdaforums.com/galaxy-ace/ace-2-help/uhid-support-4-4-x-roms-t2827582
[Galaxy Ace II Android Development] biggstreet:
Can anyone tell me how does work on stock Rom 4.1.2 ? and wish release is stable ?

---------- Post added at 03:01 AM ---------- Previous post was at 02:54 AM ----------

what firmware did you use ?
[Galaxy Ace II Android Development] ChronoMonochrome:
Hello, guys!

A few days ago I started to upgrade the kernel to version 3.1, and finally I finished! Thanks to KINGbabasula for update some drivers.

I do not know, does that make sensation, or not, but I found that the kernel 3.1 is fully compatible (except only patches USB) with our device.

The new release is available for download on dev-host http://d-h.st/users/ChronoMonochrome

There's github link https://github.com/ChronoMonochrome/Chrono_Kernel , branch rebase-3.1.x. If you are going to cherry pick commits, please don't forget to mention me in credits ;)
[Galaxy Ace II Android Development] teogepe:
Dont know if its placebo, but on stock rom it feels a lot better...

Thanks man!:D
[Galaxy Ace II Android Development] forbidden8:
It is not placebo, atleast to me too. I'm with 4th august build, solid job. Work like it should, without freezing, restarts or other bugs. NB1 + this kernel, enabled 16bit transparency, 998 max-200 min, interactive+cfq from 5th august till now, all good. Great work again. Thx dev.
[Galaxy Ace II Android Development] xo.en:
4.3.x, liquid, as usual, weird, unusual tearing..

i wonder, if it's related to:

http://xdaforums.com/showpost.php?p=51294416&postcount=47
[Galaxy Ace II Android Development] manthes:
Can we expect a new build with TWRP?
[Galaxy Ace II Android Development] monstro78:
anyone tested 3.1.1 kernel??
[Galaxy Ace II Android Development] heldix:
Thanks man. I take those settings now, too. No reboots / crashes until now. Is there a possibility to check whether the voltages are really used the way u entered them in chronokernel? Like sys/live.opp ?

heldiX
[Galaxy Ace II Android Development] fluffi444:
Yes - Check sys/kernel/liveopp/arm_summary with and without the settings in chronokernel app (and see the difference or not in VDD)

BUT: In never newer Kernels, Chrono introduced an script (99liveopp) that set chmod 444 (not writeable) to arm_steps*, wait for 180 and open them again with chmod 644 after it... So it possible that all uV attempts with ChronoKernel app at booting are not working because of this...
[Galaxy Ace II Android Development] Ave_Hornet:
[MENTION=5695278]ChronoMonochrome[/MENTION] Changes for r2.22.1 /// r2.22.2? :D
[Galaxy Ace II Android Development] ChronoMonochrome:
There are only relatively small changes. If I'm not writing changelog, check my github.

But, well, gonna to update changelog.

* if anybody using it, add following lines to /ramdisk/00userinit in order to re-enable it :

echo 1 > /sys/module/g_android/parameters/hid_mouse_enable
echo 1 > /sys/module/g_android/parameters/hid_keyboard_enable

Then reboot device.
[Galaxy Ace II Android Development] ayas02:
wow so if i enabled HID again i must type this code in terminal emulator and [MENTION=235339]chrono[/MENTION]o mcde: decreased power_on_delay and reset_delay to 5ms in order to fix blackscreen and make them tunable its really fix with blackscreen
[Galaxy Ace II Android Development] xo.en:
..hmm, over 2 days with ondemandplus and zero blackscreens - then i changed to dynamic and blackscreen at first call occured after few minutes since gov switch. Isn't it funny?

Btw, what is this about HID? Do we have working usbhost now??? Don't tell me if i can plug in kbd now..
[Galaxy Ace II Android Development] ChronoMonochrome:
Nope, it has nothing to do with USB OTG. It's just to use the phone as mouse/keyboard https://github.com/ChronoMonochrome/Chrono_Kernel/commit/1b3fdd82f527dd41ea09d3fc3162b55b9344f02b .
[Galaxy Ace II Android Development] xo.en:
So, if you are SO happy that someone found these values, you could make them in your kernel WITHOUT some ****ing .sh scripts then? It is becoming boring, you know?

I hope i explained now why i never use your kernels, i prefer logical Chornos' ones.

Anyway, if there is anyone that can explain dependancy of GOVERNOR vs blackscreen without some bs, i would be glad to hear it.

for me it is definited already - some governors are responsible for blackscreen mainly, not some bs.

----

Anyway, thanks, Chrono, you made great thing, Sir.
[Galaxy Ace II Android Development] ChronoMonochrome:
The only thing I can guess, OndemandPlus does not have input APE boost, so maybe changing APE OPP is responsible for BS bug?

Btw, if you want to check it -

echo 0 > /sys/module/cpufreq_dynamic/parameters/ape_boost

It's to disable APE boost on Dynamic.
[Galaxy Ace II Android Development] ayas02:
Owh yeah thanks i will trying :D
[Galaxy Ace II Android Development] bebolint98:
[MENTION=5695278]ChronoMonochrome[/MENTION]

Today, out of curiosity I ran a few Antutu tests and I usually only get between 4500-6000 points.I think it is a very low point , why is this? Another things is before I ran antutu test I set interactive governor in chrono stettings app and after the test is change itself to dynamic gov.Why?Otherwise the phone is fast and smooth.Here is one result with r2.22.2 cpu:200/1200 mhz interactive gov., gpu:680 mhz and fiops i/o schedulers: