UvKernel - Undervolted kernel - LG G Watch R

Hello! (Sorry I could not create DevDB entry)
Its time for my first kernel.
I currently own the old but gold LG G Watch R.
It is so slow - taking out your phone is 5 times faster than using this thing.
With this kernel the experience is improved by changing the voltage, count and frequency of the CPU-Cores. (At least factor 4 in cpu performance?)
You need to have ext4 on your system partition to get this thing booting!
Ramdisk-Changes:
Enable all four cores
Change ondemand up_threshold from 90% to 85%
Set cpu core frequency for core0 and core1 to 1,4Ghz (Next version i will try even more)
Set cpu core frequency for core0 and core1 to 0,9Ghz
fstab: Change /system to ext4
Kernel modifications
Disable legacy components like squashfs and ext2, ext3..
Enable basic f2fs (sadly not booting - i will try to upstream it someday)
Customize PVS Voltage table: 20+ PVS will use voltage 900mV, 890mV and 980mV instead of 1050mV, 1050mV, 1140mV
Customize PVS Floor voltage to 900mV, 890mV, 970mV
Is my watch using the new voltage levels?
Execute (adb)
Code:
dmesg | grep voltage
And look if the values match with the values posted above
Is my watch clocking higher now?
Execute (adb)
Code:
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq
The correct output should be four times 1401600, the current init.rc sets the scaling limit to 2x1305600 and 2x900000 though
This kernel was only tested by me for about 30minutes now. It can crash at any time. Do not blame me - i just want to share something with this awesome community.
This kernel is based on android-msm-bass-3.10-nougat-mr1-wear-release
I will try to overclock and undervolt even more.
And find the next bottleneck (For sure its slow storage, so we need f2fs)
I do not recommend flashing this kernel, better just use fastboot boot.img since we can not be sure that it is stable yet

Hi can you share the source code with us please?

Nice Kernel.
Gonna try this as my new daily driver.
Set up a fresh System on my G Watch R with 512MB System and 125MB Cache.
It's working pretty fine for now, just gotta check for stability and battery life

petya230 said:
Hi can you share the source code with us please?
Click to expand...
Click to collapse
Sorry for the late answer
Yes i will soon release it (I can not tell a exact date yet)
Infact the current changes are just changing the voltage table and the fstab
Darthsternie said:
Nice Kernel.
Gonna try this as my new daily driver.
Set up a fresh System on my G Watch R with 512MB System and 125MB Cache.
It's working pretty fine for now, just gotta check for stability and battery life
Click to expand...
Click to collapse
Thats great
I'm having some booting issues and I'm not currently using or developing for this watch.
But i will try to get some information about which features could be useful for our device.
Maybe its worth the afford because the current new smartwatches around are not really better compared to our watch
I'm currently thinking about zstd compression for the system partition or for everything. But porting will be a massive afford and i can not tell for sure if i wanna do this

_Beni_ said:
Sorry for the late answer
Yes i will soon release it (I can not tell a exact date yet)
Infact the current changes are just changing the voltage table and the fstab
Thats great
I'm having some booting issues and I'm not currently using or developing for this watch.
But i will try to get some information about which features could be useful for our device.
Maybe its worth the afford because the current new smartwatches around are not really better compared to our watch
I'm currently thinking about zstd compression for the system partition or for everything. But porting will be a massive afford and i can not tell for sure if i wanna do this
Click to expand...
Click to collapse
The Kernel seems to be pretty stable. Since flashing I didn't have a single system crash or reboot.
It's a lso a lot snappier. Normally when I took it of the charging Pad in the morning and enter the Pin-Code it would lag quite a lot.
Switching between Apps also feels snappier
What kind of boot problems do you have? If it's the "Watch only boots while in the charging cradle" then it's a dead battery

Darthsternie said:
The Kernel seems to be pretty stable. Since flashing I didn't have a single system crash or reboot.
It's a lso a lot snappier. Normally when I took it of the charging Pad in the morning and enter the Pin-Code it would lag quite a lot.
Switching between Apps also feels snappier
What kind of boot problems do you have? If it's the "Watch only boots while in the charging cradle" then it's a dead battery
Click to expand...
Click to collapse
It just does not boot from the kernel - Its probably because i flashed the wrong kernel or a not working one.
I already fixed the dead battery problem with some little solder bridge
I'm sure we could gain some more performance by using f2fs - but I'm not that good at upstreaming (But someday i will )

_Beni_ said:
It just does not boot from the kernel - Its probably because i flashed the wrong kernel or a not working one.
I already fixed the dead battery problem with some little solder bridge
I'm sure we could gain some more performance by using f2fs - but I'm not that good at upstreaming (But someday i will )
Click to expand...
Click to collapse
Do you have a current EXT4 rom? All of the old roms no longer exist for download.

_Beni_ said:
Ramdisk-Changes:
Enable all four cores
Change ondemand up_threshold from 90% to 85%
Set cpu core frequency for core0 and core1 to 1,4Ghz (Next version i will try even more)
Set cpu core frequency for core0 and core1 to 0,9Ghz
fstab: Change /system to ext4
Kernel modifications
Disable legacy components like squashfs and ext2, ext3..
Enable basic f2fs (sadly not booting - i will try to upstream it someday)
Customize PVS Voltage table: 20+ PVS will use voltage 900mV, 890mV and 980mV instead of 1050mV, 1050mV, 1140mV
Customize PVS Floor voltage to 900mV, 890mV, 970mV
Is my watch clocking higher now?
Execute (adb)
Code:
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq
The correct output should be four times 1401600, the current init.rc sets the scaling limit to 2x1305600 and 2x900000 though
Click to expand...
Click to collapse
can you explain more and show me all how to do this. especial is modify ramdisk to apply new frequency on qualcomm device?

Is it possible to use this kernel based on NWS2.170620.003?

Related

[APP][MAY 22] Myrt Torture Tester 0.5.6 Beta

Welcome to Myrt Torture Tester.
As always, this app is BETA, expect bugs. Tested on Stock GB/HP Extreme & guestekrnL, CM7/Etana, CM9/HP ICS & Harsh.
Will only work on OC/UV-kernels.
It's primarily intended as a tester to find your stable frequencies and voltages, but can also be used as a battery-life tester and a rough benchmark.
This app comes with no more support than the 2nd post. If you don't know how to use it after reading that you don't need it.
Using this app, you will be capable of causing actual damage to your device. I take no responsibility for any consequences.
This app shall under NO CIRCUMSTANCES be included in any ROM, or uploaded any other place than this post.
Changelog
0.5.6 - Fixes crash when system is unresponsive for long periods.
0.5.5 - Keeps reading the current cpu-frequency throughout the test. (Some beta kernels unexpectedly change frequencies during the test, this allows you to see it.)
0.5.4 - CM7-compatability-fix.
0.5.3 - Fixes frequency not being set on guestekrnL.
0.5.2 - Fixed links on about page.
0.5.1 - Plays nice on non-oc kernels.
0.5.0 - First BETA-release
HOW TO USE:
In its simplest form, the app is a benchmark. You start a CPU-test at a specific frequency for a specific time-period and get the average Mflops-result. If you are going to compare different kernels, it will give you a normalized to 1Ghz result as well. Different kernels usually have different frequency-tables, so test them at the closest steps you can find, then compare the normalized result.
The more useful aspect of it is to test if a specific frequency is stable at a specific voltage. The app only allows to test the frequencies in the voltage table - because if it is stable at those frequencies it will be stable at all other frequencies which fall within those voltage-steps. If you have undervolted too much, the phone will usually reboot pretty quickly. If you have undervolted "on-the-edge", the phone will likely freeze. If you have undervolted so that it is basically stable, but sometimes fails, you'll either get a crash to the desktop or MTT will inform you of a calculation error. If you are testing for stability you need to test for at least 60 minutes to have any confidence in the result, I've had several tests fail after 45-50 minutes.
It can also be used to see what impact, if any, undervolting has on the processors' power-consumption. After you have made sure a frequency/voltage-pair is stable, you can run a battery-test and compare it to an identical test at stock voltage. This will simply run from a full(ish) battery to a certain battery percentage, and give you how long it was able to run. Since the battery-percentage is pretty loosely coupled to the actual battery-charge, it will also give figures for consumption per minute or second. This kind of test should also be run over a long a period as possible to get accurate results. Measuring from 100% to 90% will only give you an indication, prone to error. You can not compare a test between, say 100->50 and 100->20, because the discharge rate varies with the charge-level.
For most accurate testing and benchmarking: enable flightmode, unplug the device, freeze any apps which may run in the background, uninstall everything you don't need, wait 3 minutes after booting before testing, do not touch the screen or move the device while a test is running. Even then there are Android quirks which will cause some variation in the results. Therefore the same test should be repeated as many times as you can afford.
The major enemy of stability, assuming you have enough voltage, is heat. Make sure to test the device under the same conditions as it will be used. If you're going to overclock on a hot summer's day, test it on a hot summer's day. MTT dims the screen to minimize the impact it has on the battery and heat-generation, be aware that your device will be hotter when the screen is at normal brightness.
Stability tests should also be performed at different battery-levels. If your device is stable when the battery is fully charged, it does not automatically mean it will be stable when it is almost discharged.
MTT logs all succesfull tests (max 200 lines.) If you enable "Store log on sdcard" in preferences the log will be saved to /sdcard/MTT_Log.txt.
Known issues:
o Sometimes the device will give you half the score you should get. I do not know if this is a kernel or android-bug, but it seems that both test threads get scheduled to run on the same core, and the second core goes unused, even when it is active. Exiting the app and starting it again does not help usually, but killing it sometimes does. Rebooting is always an option.
o Not a "known issue", but this app lets you under- and overvolt in 5mV steps. Different kernels may handle this differently, either not undervolting at all, or adjusting it to the nearest 25mV step. It has worked on the kernels I have tried, but there are too many kernels out there to be sure.
TrymHansen said:
HOW TO USE:
In its simplest form, the app is a benchmark. You start a CPU-test at a specific frequency for a specific time-period and get the average Mflops-result. If you are going to compare different kernels, it will give you a normalized to 1Ghz result as well. Different kernels usually have different frequency-tables, so test them at the closest steps you can find, then compare the normalized result.
The more useful aspect of it is to test if a specific frequency is stable at a specific voltage. The app only allows to test the frequencies in the voltage table - because if it is stable at those frequencies it will be stable at all other frequencies which fall within those voltage-steps. If you have undervolted too much, the phone will usually reboot pretty quickly. If you have undervolted "on-the-edge", the phone will likely freeze. If you have undervolted so that it is basically stable, but sometimes fails, you'll either get a crash to the desktop or MTT will inform you of a calculation error. If you are testing for stability you need to test for at least 60 minutes to have any confidence in the result, I've had several tests fail after 45-50 minutes.
It can also be used to see what impact, if any, undervolting has on the processors' power-consumption. After you have made sure a frequency/voltage-pair is stable, you can run a battery-test. This will simply run from a full(ish) battery to a certain battery percentage, and give you how long it was able to run. Since the battery-percentage is pretty loosely coupled to the actual battery-charge, it will also give figures for consumption per minute or second. This kind of test should also be run over a long a period as possible to get accurate results. Measuring from 100% to 90% will only give you an indication, prone to error. You can not compare a test between, say 100->50 and 100->20, because the discharge rate varies with the charge-level.
For most accurate testing and benchmarking: enable flightmode, freeze any apps which may run in the background, uninstall everything you don't need. Even then there are Android quirks which will cause some variation in the results. Therefore the same test should be repeated as many times as you can afford.
The major enemy of stability, assuming you have enough voltage, is heat. Make sure to test the device under the same conditions as it will be used. If you're going to overclock on a hot summer's day, test it on a hot summer's day. MTT dims the screen to minimize the impact it has on the battery and heat-generation, be aware that your device will be hotter when the screen is at normal brightness.
Stability tests should also be performed at different battery-levels. If your device is stable when the battery is fully charged, it does not automatically mean it will be stable when it is almost discharged.
MTT logs all succesfull tests. If you enable "Store log on sdcard" in preferences the log will be saved to /sdcard/MTT_Log.txt.
Click to expand...
Click to collapse
Really interesting! Big thanks
Sent by LG Optimus 2x
Doesn't seem to work for me, always goes to my max set freq of 1.1ghz, no matter if i set it higher or lower in the program. Same mflops result too. Changing the max freq in guesteoc results in that new max freq being used all the time in the program.
kfallz said:
Doesn't seem to work for me, always goes to my max set freq of 1.1ghz, no matter if i set it higher or lower in the program. Same mflops result too. Changing the max freq in guesteoc also results in that new max freq being used all the time in the program.
Click to expand...
Click to collapse
Ok, thanks for the feedback. Which version of guestekrnL? I'm mainly using that myself, works here on 1.7.
EDIT: Ok, I've found the reason. I had disabled the 00cpufreqenabler script (to simulate other kernels), but it didn't work after I enabled it. Will release a fix as soon as I can override the permission properly.
kfallz said:
Doesn't seem to work for me, always goes to my max set freq of 1.1ghz, no matter if i set it higher or lower in the program. Same mflops result too. Changing the max freq in guesteoc results in that new max freq being used all the time in the program.
Click to expand...
Click to collapse
App updated to 0.5.3 - fixes the issue where frequency is not set on guestekrnL.
TrymHansen said:
App updated to 0.5.3 - fixes the issue where frequency is not set on guestekrnL.
Click to expand...
Click to collapse
Giving the new version a try, and not that it matters now but I'm using 1.7.0t2
Yea working fine now
Updated to 0.5.4 - Now the sliders behave properly on CM7.
Myrt, do you think that we have more than one different hardware inside our phones? Because the results are way to different from one ppl to another, for example, Temasek can't OC even to 1.1GHz, and Vadonka puts at 1.4GHz without the burn, with the tests, I get to 70ºC in 2min with 1.1GHz, but the strange thing, is that the phone doesn't lags or anything to show that it haves an high-temp. Did you have some screen of the test in your own phone? I have exchanged my first phone because it always get too hot for me, my second gets hot always when I try to play any game.
chaozbr said:
Myrt, do you think that we have more than one different hardware inside our phones? Because the results are way to different from one ppl to another, for example, Temasek can't OC even to 1.1GHz, and Vadonka puts at 1.4GHz without the burn
Click to expand...
Click to collapse
No, we have pretty much the same hardware, specification-wise. It is very common to have different tolerances for speeds and voltages. I'm pretty sure that the moment Vadonka tries my app at 1.4Ghz, he too will get a hot CPU.
, with the tests, I get to 70ºC in 2min with 1.1GHz, but the strange thing, is that the phone doesn't lags or anything to show that it haves an high-temp.
Did you have some screen of the test in your own phone? I have exchanged my first phone because it always get too hot for me, my second gets hot always when I try to play any game.
Click to expand...
Click to collapse
I didn't take a screenshot, if that is what you ask, I have the app abort the test at 72C, and the temp falls quickly back to normal. I don't even have vadonkas kernel installed anymore, I'm a stock man, installed CM7 just to make the app compatible.
However, I guess we can encourage people to post their temps and frequencies here, in this thread. If anyone manages to run 1.4Ghz for more than 5 minutes and not reach 70C I'll be impressed. (I do all my temp-testing when plugged in though, probably easier when unplugged.)
TrymHansen said:
No, we have pretty much the same hardware, specification-wise. It is very common to have different tolerances for speeds and voltages. I'm pretty sure that the moment Vadonka tries my app at 1.4Ghz, he too will get a hot CPU.
I didn't take a screenshot, if that is what you ask, I have the app abort the test at 72C, and the temp falls quickly back to normal. I don't even have vadonkas kernel installed anymore, I'm a stock man, installed CM7 just to make the app compatible.
I had these temps in Spica HP kernel, so stock rom, CM7 with Vadonka, I saw an 84ºC (leave my brother playing in the phone, and he said to me that the phone was hot haha)
Click to expand...
Click to collapse
TrymHansen said:
However, I guess we can encourage people to post their temps and frequencies here, in this thread. If anyone manages to run 1.4Ghz for more than 5 minutes and not reach 70C I'll be impressed. (I do all my temp-testing when plugged in though, probably easier when unplugged.)
Click to expand...
Click to collapse
If we can't run 1.4GHz for me than 5min without reaching 70ºC, and 70ºC is the maximum temp, we can't play or let the phone in the frequency for daily use?
chaozbr said:
If we can't run 1.4GHz for me than 5min without reaching 70ºC, and 70ºC is the maximum temp, we can't play or let the phone in the frequency for daily use?
Click to expand...
Click to collapse
Well, no, I'm not saying that, there are too many unknowns.
1) We don't know if the reported temp is correct.
2) We dont' really know the max temp for tegra2. (The 70C figure is not from an official source.)
3) This app is meant to test stability, so temps will get as hot as possible. A game will most likely not stress the CPUs quite as much.
But, all that taken into consideration, 1.4Ghz is probably too high for sustained operation. It will probably be fine for normal use, where the CPUs get to rest once in a while, but not for prolonged CPU-heavy tasks (which this app demonstrates.) That being said, this app is designed to produce as much heat as possible to test stability.
It took me 41sec till the CPU reached 70°C from 40°C on 1408MHz using latest beta 3.0.y etana.
Tapatalk 2-vel küldve az én Optimus 2X-ről
Thanks for this, this app looks great!
I usually don't UV as it introduces some instability to my device even at low -UV values which isn't worth the rather small gain in battery life - but it's still good to know that this app existis if I'll change my mind someday
tonyp said:
Thanks for this, this app looks great!
I usually don't UV as it introduces some instability to my device even at low -UV values which isn't worth the rather small gain in battery life - but it's still good to know that this app existis if I'll change my mind someday
Click to expand...
Click to collapse
Yeah, I don't usually undervolt either, I carry spare batteries, and the fear of unstability was always lurking when I did. (I did make an undervolt app afterall, had to test it.)
So with this app my hope is that many myths will be dispelled - using this people should be able to find out what they need.
(A few weeks ago I had forgotten the batteries in a bag in a hotellroom, far away. I really, really, really needed 20 extra minutes of battery-life then. So now I will probably undervolt to voltages I know are safe, just in case something similar should happen. Sometimes 5 minutes make all the difference in the world.)
I cannot set any other V (no UV or OV) using Temasek 99 with latest Vadonka Beta 11.05. Kernel. The program always crash after the 2sec warmup.
Gesendet von meinem Optimus 2X mit Tapatalk 2
kennbo82 said:
I cannot set any other V (no UV or OV) using Temasek 99 with latest Vadonka Beta 11.05. Kernel. The program always crash after the 2sec warmup.
Gesendet von meinem Optimus 2X mit Tapatalk 2
Click to expand...
Click to collapse
Ok, I need some more info I think. First of all, is the app the latest version? If yes, do you get a superuser message the first time you start the app after a reboot? Which values do the bottom sliders show right after starting the app for the first time?
Tried it myself today on temasek 100 with both 3.0.31 OC and the latest beta (OC-only of course), worked on both for me. One installation however failed, and I had to repair the system-partition before the app would work again. (Superuser pretended to give access, but /system wasn't really writable, so it failed.) Check which apps are listed in superuser, if you see the same app listed a lot of times, that's your problem.
TrymHansen said:
Ok, I need some more info I think. First of all, is the app the latest version? If yes, do you get a superuser message the first time you start the app after a reboot? Which values do the bottom sliders show right after starting the app for the first time?
Tried it myself today on temasek 100 with both 3.0.31 OC and the latest beta (OC-only of course), worked on both for me. One installation however failed, and I had to repair the system-partition before the app would work again. (Superuser pretended to give access, but /system wasn't really writable, so it failed.) Check which apps are listed in superuser, if you see the same app listed a lot of times, that's your problem.
Click to expand...
Click to collapse
Sooorry I'm too stupid, tried the 216 Mhz only which is too slow for the total phone use and test. Program works fine!
Again sorry and thanks for the tool
kennbo82 said:
Sooorry I'm too stupid, tried the 216 Mhz only which is too slow for the total phone use and test. Program works fine!
Again sorry and thanks for the tool
Click to expand...
Click to collapse
Ok, good to know, thanks. I will have to look into it anyway, it shouldn't crash even at 216Mhz, but I'll take that as low-priority, in other words tomorrow ;-)

[Q&A] [KERNEL][D5803&D5833] AndroPlusKernel

Q&A for [KERNEL][D5803&D5833] AndroPlusKernel
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [KERNEL][D5803&D5833] AndroPlusKernel. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
Thanks
Very nice kernel, fast and smooth - great work and port.
Anyone knows if it's possible to use any third party kernel app to boost the headset volume?
Working
Hi this is my first post, infact I joined so I could report my findings.
I would just like to confirm so far that V5 working on my Z3C using the .93 firmware. I didn't need to wipe cache/dalvik/data partitions either.
For purposes of settings configuration, I'll be using TricksterMod
For stress testing purposes I'll be using Stability Test 2.7
Overclocking
Overclocking seems to work, I'll stress test and report back with the results.
I was wrong, it is unstable when overclocking and stress testing, with the phone force rebooting 1-5 seconds in to the stability test which loaded all 4 cores. Tried 2899Mhz and 2880Mhz (were both unstable and didn't try 2.72, 2.75, 2.57 either - I might try stability testing them.) Was completely stable at 2.47GHz, and it actually stuck there, no throttling in place! I stopped the stress test when the CPU temp was around 77-80C as my hand was getting burnt! The battery temp reached about 46C. It took 10 mins of stress testing for this to be reached. When the stock kernel was in place it would begin throttling after about 1-20 seconds under full load. First 2.2GHz, then 2 then 1.7 then 1.5 and eventually 1.25 after about 2-4mins.
I couldn't do a single core test though. I suspect as most games use single core or dual cores it wouldn't get overly hot.
My opinion is that fast clocked phones should be marketed with 2 speeds. The highest it'll reach under a boost mode (turbo for Intel's i5 and i7 series), and a slower speed that it'll average out at under thermal pressure. The Z3Cs would be turbo: 2.5GHz and normal: 1.5GHz.
Governors
These are quick tests I'm performing here to provide a quick look at responsiveness and potential unnecessary CPU jump ups.
Wheatley - most of the time it's hovering at top speed when approx CPU usage is 9%, it'll occasionally hunt down to 300Mhz but then right back up to 2899MHz. This one is speedy though. Governor tunables available.
Lagfree - idles at 300MHz - 960MHz then hunts up to 2.2-2.9Ghz when needed and turns on the second core. It seems to slow back down to idle. This one seems to have fast scrolling, sliding notifications pane quickly). No governor tunables.
SmartassV2 - idles at 300Mhz, speeds up to 422-960 on core 0, and turns on core 1 at 1.2-1.5GHz for a few seconds under fast scrolling and notification pane opening. Seems quite responsive. Probably good for battery life hopefully with the responsiveness of Interactive. No governor tunables.
Lionheart - Idles at 960 MHz for a few seconds then slows down to 300MHz with the odd increase to 729MHz. Core 0 and Core 1 reaches 1.26GHz under scrolling, notification pane opening. As fast as the others. Governor tunables available.
Hotplugging
Intelliplug appears to work better than MP-Decision - now only one core is on during idle, instead of 2.
MP-Decision was disabled to avoid conflicts.
Undervolting
I've only undervolted 300MHz to 675MHz from 775MHz as of writing this post.
Tried quickly undervolting in trickstermod by setting them all about -75mV, stability tested it, appears stable. I'll tweak the voltages a bit better when I do a scaling stability test.
Issues I've experienced
Sound Control is the only thing so far that causes a reboot. However music still plays over the speakers and headphones. Equaliser works too.
Upon rebooting, the CPU top speed will set itself to 2.2GHz, despite being set higher and saved at a higher speed in Trickstermod. Certainly trivial though.
Strange thing I've noticed: On the undervolt part I've noticed that there is a freq called 3033MHz, but no 2899MHz freq. Just an observation.
Misc
Force Fast Charge confirmed working! Before flashing new kernel charge went up 5% in about half an hour. It's now up another 5% in a matter of 5-10mins. This is when plugged to my PC.
Vibrator strength - set to 20 from 31, much quieter on table and can still feel it.
I'd like to say a huge thank you to DooMLoRD and AndroPlus for developing this stable kernel. Now my Z3C is worth the £28 a month I'm paying for again. Since this silly lad decided to bork the camera, Bravia functionality etc by rooting it on the first day. I'll report back and edit the post with my findings.
Max won't go beyond 2.266 GHz, Min won't change.
Hi All,
Firstly, great job with the kernel. Our Z3C is such a capable piece of kit and this just makes it that much better.
I'm running stock, 23.0.A.2.93, unlocked, rooted.
Problem:
I've tried using both SetCPU and No-Frills and while both show frequencies that are supposedly selectable above 2.266 GHz, neither app would actually respond. Meaning the max frequency will still only be 2.266 GHz even if I tried selecting something like 2.458 GHz (which should be selectable given that stock is 2.458 GHz.) See caps.
In addition, the Min value just won't change at all from 300 MHz. The frequencies scale up and down as the load changes but I can't raise the Min (again using both SetCPU and No-Frills) from 300 MHz.
Tried: I've tried turning off stamina mode and frozen apps that could control CPU activity (e.g. I use DS Battery Saver). I changed up Governors and Schedulers. I've tried re-flashing the kernel and it still doesn't change these behaviors.
Question/Need help: Just wanted to ask if anybody else have any problems setting the max frequency beyond 2.266 GHz and/or changing the minimum frequency from 300 MHz? Would appreciate any help resolving this behavior.
Thanks in advance!
pjmanalo said:
Hi All,
Firstly, great job with the kernel. Our Z3C is such a capable piece of kit and this just makes it that much better.
I'm running stock, 23.0.A.2.93, unlocked, rooted.
Problem:
I've tried using both SetCPU and No-Frills and while both show frequencies that are supposedly selectable above 2.266 GHz, neither app would actually respond. Meaning the max frequency will still only be 2.266 GHz even if I tried selecting something like 2.458 GHz (which should be selectable given that stock is 2.458 GHz.) See caps.
In addition, the Min value just won't change at all from 300 MHz. The frequencies scale up and down as the load changes but I can't raise the Min (again using both SetCPU and No-Frills) from 300 MHz.
Tried: I've tried turning off stamina mode and frozen apps that could control CPU activity (e.g. I use DS Battery Saver). I changed up Governors and Schedulers. I've tried re-flashing the kernel and it still doesn't change these behaviors.
Question/Need help: Just wanted to ask if anybody else have any problems setting the max frequency beyond 2.266 GHz and/or changing the minimum frequency from 300 MHz? Would appreciate any help resolving this behavior.
Thanks in advance!
Click to expand...
Click to collapse
Try installing TricksterMod (from Google Play store, trust me, you'll love it!) Then go to General and set the max speed to 2.46GHz or higher, and try using the Ondemand Governor too. I noticed that it wouldn't stick properly sometimes when using Interactive governor. If it doesn't stick for you then turn Frequency Lock on. Then check in the info tab that it's hitting the higher speed. Personally I'd recommend leaving the min speed on 300MHz. If you need constant high speeds, select the performance governor.
DBCJoey said:
Try installing TricksterMod (from Google Play store, trust me, you'll love it!) Then go to General and set the max speed to 2.46GHz or higher, and try using the Ondemand Governor too. I noticed that it wouldn't stick properly sometimes when using Interactive governor. If it doesn't stick for you then turn Frequency Lock on. Then check in the info tab that it's hitting the higher speed. Personally I'd recommend leaving the min speed on 300MHz. If you need constant high speeds, select the performance governor.
Click to expand...
Click to collapse
Thanks! That did the trick!
Odd that my usual app for the job across 4 other phones - SetCPU - doesn't work on what should essentially be the same job. [emoji55]
Please make sound_control drivers work so its possible to boost headphone volume on the Xperia Z3 Compact... Thanks
Nice work, a lot of updates I like it!
Is it possible to add a change log?
Thanks!
kernel for d5803 with the .93 but not .105
i search a kernel for the d5803 with the last .93 french version of phone
.5.77
Works great! Thanks a lot
Link for Z3C_D5803_AndroPlusKernel_v10.zip is dead
Pls upload in another location.
Yay sound control is working, thank you so much you're the best!
How to make this?
Hi AndroPlus,
I'm trying to figure out how one would go about building this boot.img that you've created.
What platform and compiler are you using?
Where are you getting sources the for the kernel? This file?
c9af6fc647060fb85dd646798453ec8f 23.0.A.2.105.tar.bz2
How do you construct boot.img from zImage + recovery?
Sorry if these are dumb questions.
Edit: never mind, I figured this out.
http://developer.sonymobile.com/kno...evices/how-to-build-and-flash-a-linux-kernel/ contains most of the information I needed.
The arm version of gcc that ships with Ubuntu 14.04 worked fine - arm-none-eabi-gcc (4.8.2-14ubuntu1+6) - no need to track down any mystery binaries. I did have to make several modifications to the kernel source to get it to build. Interestingly, some of the cpufreq stuff contained code that was incorrect. Someone at Samsung needs to go look up what "sequence point" means.
The hardest part was figuring out how to turn the zImage + ramdisk into something I could boot.
This: https://github.com/sonyxperiadev/mkqcdtbootimg was the correct tool to use - again, no need to track down any mystery mkbootimg or dtbTool binaries.
Hope this is helpful to someone. As someone new to Xperia dev, I found most of the information out there worse than useless.

Overclock CM11

Hi there,
really sorry if this has already been around, but i've been searching this forum up and down and didn't find a thing.
Anyways, i was wondering how i could enable overclocking under cm11 nightly? Could anyone point me towards a solution? Thanks
Well ...
http://forum.xda-developers.com/droid-4/development/5-0-custom-oc-kernel-t3041512
It should work (in the past it works)
Install it on your Cyanogenmod Rom
Fervi
ferviverus said:
Well ...
http://forum.xda-developers.com/droid-4/development/5-0-custom-oc-kernel-t3041512
It should work (in the past it works)
Install it on your Cyanogenmod Rom
Fervi
Click to expand...
Click to collapse
There's a guy who said that that kernel doesnt work on cm11...it work's for you in the past?
For CM11 and other AOSP 4.4 ROMS, the most fully-featured and overclockable kernel is JBX. You can use the one intended for the RAZR.
Joojoobee's is good, and certainly the best for Lollipop, but due to its extra voltage management stuff the JBX kernel has a higher overclock ceiling.
Use the newest kernel from here.
Boot into Safestrap, make a backup in case something goes horribly wrong, then flash the package to start up the installer. In the installer, don't install any of the tweaks, at least a couple of them cause instability for our phone, and don't bother with the init.d stuff. Just install the kernel itself and Trickster Mod. Trickster, FYI, is probably the best app for managing JBX, but other apps can as well.
Done. Reboot phone, hopefully it won't bootloop, once back up increase speed until it starts freezing when you try to use it, bump voltage 10-20mv, find ceiling again. I think the JBX thread has better/more detailed instructions, but that's about the gist of it.
Maximum advised voltage is 1490mv iirc, don't try to even approach that unless you want to cook eggs on the back of your phone.
Thanks a bunch!
After messing around with both solutions, Jojobee's solution gave me a bootloop but the other one worked.
However i can't seem to get past 1300mhz when overclocking, that seems to be the limit. I was aiming to try to reach 1400, any idea how i could go about that? I can't seem to find an option to set the max frequency higher than 1300.
Well i was playing a little with JBX kernel..these are my conclusions:
- Kernel install/works fine if you don't install 10% battery mode..otherwise you are goingo to have android crashes
- Kernel performance it's below than current cm11 m13 stock kernel...i believe is due to full scale freq that it has...cpu spend a lot time switching from one freq to another...if you overclocked you will have almost the same performance than NON-OC stock kernel..that's why stargo applied and later reverted full scale on stock months ago...meaby if JBX kernell would have support to boost driver (like cm12 OC kernel) it would be better...but it hasnt...
So my conclusions...dont waste time on JBX kernel...sorry my 4 my english
Enviado desde mi XT894 mediante Tapatalk
Milp said:
However i can't seem to get past 1300mhz when overclocking, that seems to be the limit. I was aiming to try to reach 1400, any idea how i could go about that? I can't seem to find an option to set the max frequency higher than 1300.
Click to expand...
Click to collapse
I don't think you can set the CPU higher than 1.3ghz, at least not in the way you're thinking.
In the case of the JBX kernel, you overclock the Main Processor Unit (MPU) speed. I don't remember what tab it's under in Trickster, but it should be the same one as the voltage settings. I couldn't even begin to guess where it'd be as far as other apps.
The default is 100mhz. This is multiplied by each frequency step; e.g. 1.3ghz is actually a 13x multiplier of the base 100mhz.
So to obtain 1.4ghz(ish), simply increase the MPU clock from 100mhz to 108mhz, since 108*13=1404.
If you're lucky, you'll be be able to do this without needing to touch the voltage, if not...read the FAQ in the JBX post, because I don't remember offhand exactly how to set voltages :v
Once you know how, I would think a 5-10mv bump would be all that'd be needed to stabilize most CPUs for 1.4ghz.
fyi, ignore if you already have stuff for these:
Antutu is a decent app for both testing stability and checking to make sure you're not hitting the heat throttle.
Cooltool isn't a bad thing to use either, if configured to show CPU speeds, since it'll show you if the CPU has been forcefully throttled back (if the CPU gets too hot, it'll forcefully change the maximum multiplier to 10x/11x to protect itself from baking; if it does, back your voltage off and be happy with whatever speed you've attained).

Nexus 4 Fixes: Custom kernel installer mods & more

Intro
Over the past while I've finally decided to fix all minor annoyances on my Nexus 4. Here is a guide where I'll share all my modifications to make Mashmallow on the Mako as good as can be.
Kernel
Kernel Proper
The actual kernel included in this guide is HellSpawn kernel by @spezi77 which is based on hells-Core for Marshmallow, with all up-to-date Linux patches (3.4.112) and Google security patches (June 1). (Although I use, advocate, and absolutely recommend HellSpawn, feel free to use another custom kernel in the installer. You'll have to replace zImage and make your own changes to kernel/sema-boot.sh if your kernel doesn't include the same governors, hotplugs, etc.)
Here are a few highlights of HellSpawn itself:
- Includes the elementalx governor from @flar2 and lightweight mako_hotplug driver from @franciscofranco, which are much better than the stock ondemand governor and mpdecision hotplugs.
- Includes franciscofranco's gamma control, which is a much better default gamma for your screen and can be changed with franco's Nexus Display Control app or other Kernel Tweaker Apps.
- Includes a GPU overclock (400 -> 487 MHz) for when really demanding graphics operations require it.
- Includes BFQ, an optimized version of the default kernel's CFQ i/o scheduler. It helps when Play Store updates occur or when apps perform a lot of disk activity.
- Includes double tap to wake feature, which uses minimal extra battery and is much more convenient than the power key.
- When the screen is off, and not sleeping, only one CPU is active and it's limited to 1 GHz, which helps standby battery life with running background services.
Custom Kernel Installer
(original post with r1 was made on reddit)
I've adjusted many default kernel settings, based on a few years experience of running custom kernels. It uses the optimized elementalx governor from ElementalX kernel and lightweight mako_hotplug from franco kernel, with some of flar2's N5 settings, some of @hellsgod's N6 settings, and some of mine. There are other governors and hotplugs available, but from my experience, these offer the best balance of speed and battery life.
It includes a small, safe, -50 mV undervolt for a bit less heat from the CPU. - a user on reddit reported a reboot with r1, so I've removed voltage settings. It's probably useless to include such a small undervolt anyway. Change voltage settings in an init.d script or Kernel Tweaker app if you wish.
It activates double tap to wake by default, and also turns on power key suspend. If you press the power key with the screen on, double tap to wake will be turned off. Those on custom ROMs or Xposed's GravityBox can activate features to turn the screen off (double tap status bar, lock screen, nav bar, etc.) and keep double tap to wake on. Those without custom ROMs can perhaps use something like Greenify which can remap the home button long-press to turn the screen off.
It includes a patch to sepolicy which allows Viper4Android to work in selinux enforcing mode. You need to have SuperSU installed to have this work.
I've adjusted the io scheduler and page cache for better performance, tuned towards random reads.
It includes stock thermald and a tweaked thermald configuration that scales CPU frequencies up and down a little smoother when your temps get high. It should be noted that most custom kernels disable thermald for their own in-kernel thermal driver. I never liked doing this, as thermald does more than just adjust CPU frequencies - it also throttles GPU, screen brightness, and most importantly, battery charging. When your device gets too hot while charging, the worst thing to do is keep up the current and let the battery go over 45 degrees.
It includes a service to do 'Shared Cpufreq Policy', which lets thermald throttle all cores properly, and also lets the Battery Saver feature work correctly, by limiting all cores. This hasn't worked since KitKat and was one of my biggest annoyances. Many, if not all custom kernels just deleted the Power HAL libraries so battery saver feature doesn't work at all!
Includes Semaphore's 'mpdfake', a service to eat the touch boost spam that the Power HAL generates when not using mpdecision. If a custom kernel does not delete the Power HAL libraries, then your logcat is being spammed and logd process uses a lot of background CPU!
Includes a service to attempt to fix once and for all the location/GPS issues. I'm not going to state it works 100% yet, as I've only had max 24 hr uptime while making changes from the r1 release, but so far so good. Fingers crossed...
Includes a service to give SystemUI and Phone/Dialer higher priority. I haven't had a chance to really test it, as my device is sans-SIM at the moment, but it hopefully will lead to better responsiveness when you receive a call. (Under testing: giving some background processes lower priority, so they don't interrupt app usage.)
Move dalvik-cache to /cache partition and free 300-500 MB:
On each boot, it will check to see if you have a /cache/dalvik-cache folder, and will use it as the dalvik-cache if so.
If you are clean flashing a ROM and want to use /cache for dalvik-cache, create an empty dir in TWRP: /cache/dalvik-cache
If you just want to switch from /data to /cache, copy the /data/dalvik-cache to /cache/dalvik-cache and reboot.
Remember to be careful not to wipe /cache when 'dirty' flashing if you do this!
How to reset the mediaserver process quickly to get videos playing:
While your screen has been on for a few seconds or longer, double press the power key. You'll have to try it a few times to get the timing right, because a quick double press activates the camera in some ROMs. Also you're waiting for the screen to go off, not just dark. Practice a few times in low light, and you'll get the hang of the timing: each press should be followed by about half a second. You'll feel a short vibration when the service resets mediaserver to give some feedback that it's working. If it doesn't run the first time, keep cycling the screen off and on again until you get that vibration.
Remember: you have to start with the screen on, this allows you to quickly check on notifications from screen off without resetting mediaserver.
How to reset the sensors if ambient brightness, auto rotation, GPS, or any other sensors stop working:
Same as above, but this time you do the action twice. That is, screen on - double press power - vibrate once - double press power. You must do the two double presses within a second or two, so a little more practice may be needed. You'll feel two short vibrations when the service resets the sensors.
*** As of mod-r4, the new method to reset both mediaserver and sensors is Hold Volume Up and Power.
How to reset the touch screen if it becomes unresponsive:
If you happen to double tap to wake, the screen comes up, but no touches are being registered, tap on the screen with five fingers. If this doesn't reset it, turn the screen off and on again with the power key, and tap on the screen with both hands, all ten fingers. This will reset the driver and get it going again without a reboot.
Download & Installation
The installer is attached to this post. It's for AOSP ROMs, and uses the UberTC 5.4 toolchain. I'll post up CM versions on request.
Flash the zip with TWRP 3.0.2. If you have made any changes to your Marshmallow ROM (other custom kernels, etc.) you must remember to always flash custom kernels after (dirty) flashing custom ROMs! This is especially important, as if you are missing thermald you're going to have a bad time. FLASH YOUR ROM BEFORE THIS KERNEL INSTALLER UNLESS YOU HAVEN'T MADE ANY CHANGES. You can kill your device without thermal throttling!
Wiping dalvik-cache, and /cache is never necessary when flashing a custom kernel only.
ROM
Graphics Drivers
Audio
SuperSU - System or systemless?
Changelog: r14-mod-r3 - r13-mod4 - r16-mod-r5 - r04-mod-r6 - r05-mod-r7
Sorry, ran out of time for now but I'll continue the post soon...
If I want to customise the features, do I only comment out the features which I don't need in sema-boot.sh? Thx!
Hi @xenyz,
Thank you for your new kernel, I have to say that I missed using your projects.
Until now I'm testing it and the only cons I found is that with mako_hotplug when (temp increases) 1026 frequency makes mako very unresponsive.
Is there a way to change this frequency through a init.t script?
Thanks for keeping mako alive!
jer_ying_fd said:
If I want to customise the features, do I only comment out the features which I don't need in sema-boot.sh? Thx!
Click to expand...
Click to collapse
Sure, or another option is to put your overrides in /system/etc/init.d
jolas said:
Until now I'm testing it and the only cons I found is that with mako_hotplug when (temp increases) 1026 frequency makes mako very unresponsive.
Is there a way to change this frequency through a init.t script?
Click to expand...
Click to collapse
Carefully edit /system/etc/thermald.conf either in the installer before flashing, or on your device after flashing, and make your changes near the end of the file.
Can anyone comment on whether their location services are working better? I'm still undecided.
Sent from my Nexus 4 using Tapatalk
With the introduction of the new features of hellspawn r14, will it still work as it is?
jer_ying_fd said:
With the introduction of the new features of hellspawn r14, will it still work as it is?
Click to expand...
Click to collapse
I'm testing it out to make sure it's stable first. At least one change has to be made, turning off the new msm_hotplug which is enabled by default in r14.
Sent from my Nexus 4 using Tapatalk
xenyz said:
I'm testing it out to make sure it's stable first. At least one change has to be made, turning off the new msm_hotplug which is enabled by default in r14.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
Ahh of course, I forgot to edit that out....
I've gotten strange behavior after installing the kernel on my Chroma ROM Nexus 4.
The touchscreen began to have bouts of unresponsiveness, when it never had it prior to installation
Extremely slow on wakeup after a long time in sleep mode. Once again, never had that issue before
Overall lag and slowdown that wasn't present on the stock kernel
I've enabled only D2TW, the new I/O scheduler, 1 core active on sleep, Schedule workqueues on awake cores, and ThermalId
Just now, it did a random reboot. Any idea on what the issue could be?
ArtOfSnaila said:
I've enabled only D2TW, the new I/O scheduler, 1 core active on sleep, Schedule workqueues on awake cores, and ThermalId
Just now, it did a random reboot. Any idea on what the issue could be?
Click to expand...
Click to collapse
Could you try it without changing any settings? Force stop the kernel app and reboot.
Do you use any Doze modification apps? Greenify aggressive doze?
Was it a reboot or a SystemUI restart? Did you see the Google bootloader logo? If so, send me last_kmsg
Sent from my Nexus 4 using Tapatalk
xenyz said:
Could you try it without changing any settings? Force stop the kernel app and reboot.
Do you use any Doze modification apps? Greenify aggressive doze?
Was it a reboot or a SystemUI restart? Did you see the Google bootloader logo? If so, send me last_kmsg
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
Alright, I'll try it without any settings modified.
I do use Aggressive Doze, could that be conflicting with the kernel? It never seemed to affect the stock kernel besides making the wake take a bit longer, but no lag afterwards.
It was a complete reboot, with the Google logo and everything. Here's the last_kmsg.
ArtOfSnaila said:
I do use Aggressive Doze, could that be conflicting with the kernel? It never seemed to affect the stock kernel besides making the wake take a bit longer, but no lag afterwards.
Click to expand...
Click to collapse
I have noticed some erratic behaviour when modifying doze settings. My best guess is that there are certain assumptions made in Marshmallow as to when the device will be in Doze mode, and changing them can have unintended consequences.
ArtOfSnaila said:
It was a complete reboot, with the Google logo and everything. Here's the last_kmsg.
Click to expand...
Click to collapse
That is strange, the reboot was caused by a restart to recovery request. If it happens again, grab another last_kmsg?
Sent from my Nexus 4 using Tapatalk
xenyz said:
I have noticed some erratic behaviour when modifying doze settings. My best guess is that there are certain assumptions made in Marshmallow as to when the device will be in Doze mode, and changing them can have unintended consequences.
That is strange, the reboot was caused by a restart to recovery request. If it happens again, grab another last_kmsg?
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
Ah crap, about the last.kmsg, I think I know what happened. To pull the .txt file I had to reboot into recovery and use terminal to mount /system and then pull it. It might've pulled data off of that restart.
Currently using the phone with no kernel app active, and it's doing fine. I'll keep you posted if weird stuff happens.
Another thing I noticed is that when I plugged in the charger, the phone would slow down a lot.
ArtOfSnaila said:
...
Another thing I noticed is that when I plugged in the charger, the phone would slow down a lot.
Click to expand...
Click to collapse
Maybe it had to do with hotplug settings (I used to have similar problems until I modified thermald.conf settings)
Sent from my Nexus 4 using Tapatalk
ArtOfSnaila said:
Another thing I noticed is that when I plugged in the charger, the phone would slow down a lot.
Click to expand...
Click to collapse
That's likely because of the thermal throttle when the battery gets warm. Keep in mind this is actually good for your battery, although annoying when it slows down.
I'm thinking about raising the threshold just a bit in the next release.
Sent from my Nexus 4 using Tapatalk
xenyz said:
That's likely because of the thermal throttle when the battery gets warm. Keep in mind this is actually good for your battery, although annoying when it slows down.
I'm thinking about raising the threshold just a bit in the next release.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I found the following changes to accomplish best my needs (snappier phone with average temp)
jolas said:
I found the following changes to accomplish best my needs (snappier phone with average temp)
Click to expand...
Click to collapse
Cool. Er, warm. Eh, whatever.
What's your battery temps whilst charging? This is my main concern and where throttle is necessary.
All batteries achieve optimum service life if used at 20°C (68°F) or slightly below. If, for example, a battery operates at 30°C (86°F) instead of a more moderate lower room temperature, the cycle life is reduced by 20 percent. At 40°C (104°F), the loss jumps to a whopping 40 percent, and if charged and discharged at 45°C (113°F), the cycle life is only half of what can be expected if used at 20°C (68°F).
Click to expand...
Click to collapse
source
I know it's likely not that useful for those of us with original batteries on older devices, but I try to treat it as best I can.
Sent from my Nexus 4 using Tapatalk
xenyz said:
Cool. Er, warm. Eh, whatever.
What's your battery temps whilst charging? This is my main concern and where throttle is necessary.
source
I know it's likely not that useful for those of us with original batteries on older devices, but I try to treat it as best I can.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
Charging with screen on, battery temp around 40°C
Sent from my Nexus 4 using Tapatalk
After more than 24 hours of usage without kernel manager, it ran fine, until it started throttling for some reason. Turns out somehow, the max clock speed was locked to 1000 or so Mhz. I don't know if that was the kernel or the app misbehaving, but I ended up having to reactivate the kernel app to set the clock speed back to normal
There was another spontaneous reboot, here's the last.kmsg.
ArtOfSnaila said:
There was another spontaneous reboot, here's the last.kmsg.
Click to expand...
Click to collapse
Thanks for the log. I had a similar reboot but with r14, something in the wakeup_reasons code. I'll have a look through spezi77s commits in kernel/power and see if I can spot something.
I haven't had one reboot in a month or so of using r13, so it's quite strange that you had one so soon, after 24h.
As for the throttle, keep an eye on your battery temperature in Kernel Auditor or whatever and see if it's higher than 40 degrees when you get the 1 GHz max freq.
Edit: I discovered at least one bug in r2 wrt the PowerHal touch boost spam. I'm thinking of posting r14mod3 but I'm not certain r14 is stable yet (see main kernel thread)...
Sent from my Nexus 4 using Tapatalk

[GUIDE] ...fast, Faster... FASTEST? (Overclock / underclock guide)

Moto Z2 Force is a blazing fast smartphone. This out of any doubt.
Fore sure it is the fastest phone I've ever worked on.
On the shelf a lot of phones seem to be fast, BUT when you install over 200 apps on them and you are using 7 home screens full of widgets (ehm...) things become "a bit" different...
Not this time: over 200 apps installed didn't change it's fantastic speed. It's like working on an iPhone.. BUT this *is* doing something too! :laugh:
What's more interesting is that... it can be even faster too!!!
Many smartphones can be sligtly overclocked because of heating and battery life needs that lead manufacturer to lock frequencies to lower values respect of SoC capabilities. BUT usually root isn't enough to have overclock access, since higher frequencies need a modified kernel to be unlocked..
But Moto Z2 Force is not "one of many" smartphones...
Motorola confirmed my first impression I had on my old Griffin (Moto Z): they are making smartphone for "geeks"!
Moto Z2 force is using an 8 core Snapdragon 835 using "big-LITTLE" architecture:
- 4 high performance Kyro 280 cores clocked between 345 and 2361 MHz (big)
- 4 low power Kyro (???) cores clocked between 672 and 1900 MHz (LITTLE)
(frequencies adopted on EU unbranded XT1789-06... on different markets/versions they could differ...)
Obviously, low power cores work most on screen off conditions and during light tasks, while high performance ones enter the game when more performances are required as we have already seen on many similar architectures...
What's particularly interesting is that 2361 MHz is NOT the higher frequency of Kyro 280 and 672 MHz is NOT the lower frequency low power Kyro can work before going to deep sleep condition...
In fact big cores can work up to 2457 MHz (in a single step) and LITTLE ones down to 300 MHz (with 300, 364, 441, 518, 595 MHz intermediate steps available!)
What's is even more interesting is that simply by having root and a (great!) app called Kernel Adiutor - available on Play Store too - we can go to change (temporary or permanently) these values to overclock and/or underclock our system, eventually having better performances and/or better battery lifes...
I'm testing this and results are confirmed (by Kernel Adiutor statistics too...) and interesting: Z2 Force is not a device prone to overheat (like was my old Griffin instead... ) and so it seems to work with no issues at all @2457 MHz with interesting Geekbench 4 results as attached (please note that results are taken with all my 200 apps still installed & working... on lighter conditions they could be quite better too...).
In any case they are better than any Android Device recorded to date in Geekbench 4 charts... expecially for Multi-Core results...!! :highfive:
Underclock LITTLE cores from 672 MHz to lower values could (and I underline could...) improve battery life expecially during screen off conditions, BUT there are considerations to be taken:
- lower frequencies involves more time out of "deep sleep" condition too...
- on many devices adopting very low frequencies often lead to slow (or difficulties in...) "screen back on" operations
BUT there are MANY frequencies to eventually test so... games are open!!!
In any case, Motorola again! :good:
Feedbacks and eventual Geekbench4 / Antutu results on different clock settings are the welcome...
This is with the pantheon Kernel, prior to poking it.
https://browser.geekbench.com/v4/cpu/4880631
I'm doing some little tune up experiments with frequencies and these are some first results:
- lowering lower working frequency of LITTLE cores up to 345 MHz (from 672 MHz) seems to create no issues or delays on powering on screen even using fingerprint sensor...
On the other hand I'm still not so sure of eventual power saving benefits (my Z2 setup is already very good during screen off time with an average consumption of about 1,5%/hr... so eventual differences are minimal)
- I've to doublecheck it (more confirms needed...) but I'm quite sure big cores are clocked at faster frequency (2.45 GHz) during boot up, then (when exactly?) lowered to a max frequency of 2.36 GHz... this seems to me simptom of a very well tuned up system...
Does somebody have voltages/frequencies tables for our phone?
enetec said:
I'm doing some little tune up experiments with frequencies and these are some first results:
- lowering lower working frequency of LITTLE cores up to 345 MHz (from 672 MHz) seems to create no issues or delays on powering on screen even using fingerprint sensor...
On the other hand I'm still not so sure of eventual power saving benefits (my Z2 setup is already very good during screen off time with an average consumption of about 1,5%/hr... so eventual differences are minimal)
- I've to doublecheck it (more confirms needed...) but I'm quite sure big cores are clocked at faster frequency (2.45 GHz) during boot up, then (when exactly?) lowered to a max frequency of 2.36 GHz... this seems to me simptom of a very well tuned up system...
Does somebody have voltages/frequencies tables for our phone?
Click to expand...
Click to collapse
They're in the kernel. I tried to do normal edits to lower and increase, but it did something weird and just parked them at 30mhz after compile...
Edit: https://github.com/Uzephi/kernel_nash/blob/upstream/arch/arm/boot/dts/qcom/msm8998-v2.dtsi
There is the link to the file that controls the frequencies for each bin of our phone
Uzephi said:
They're in the kernel. I tried to do normal edits to lower and increase, but it did something weird and just parked them at 30mhz after compile...
Edit: https://github.com/Uzephi/kernel_nash/blob/upstream/arch/arm/boot/dts/qcom/msm8998-v2.dtsi
There is the link to the file that controls the frequencies for each bin of our phone
Click to expand...
Click to collapse
Very complex!
I will take a deep look at this as soon as I would have a bit of time...
enetec said:
Very complex!
I will take a deep look at this as soon as I would have a bit of time...
Click to expand...
Click to collapse
Essentially, little CPU has one speed bin and frequencies available from 300-1900 and big CPU has 4 speed bins with frequencies from 300-2592. Top end changes depending on your bin. I.E. silicon lottery. Speed bin 0 can step higher than bin 3
Edit: to find speed bin, it's usually in proc/kmesg or proc/last_kmesg. Needs root to read
Uzephi said:
Essentially, little CPU has one speed bin and frequencies available from 300-1900 and big CPU has 4 speed bins with frequencies from 300-2592. Top end changes depending on your bin. I.E. silicon lottery. Speed bin 0 can step higher than bin 3
Click to expand...
Click to collapse
Yes, on my own device max available speed is 2457 MHz... but my doubt is, how a single device (using same software) would choose between different bins?
Anyway is voltage the complexity I was referring to... at first look It seems not using a fixed one for a single frequency as on my old LG G2 but a range... I've to look better at it...
Some first interesting results from tests have been achieved...
I will post a more detailed report in one day or two...
enetec said:
Yes, on my own device max available speed is 2457 MHz... but my doubt is, how a single device (using same software) would choose between different bins?
Anyway is voltage the complexity I was referring to... at first look It seems not using a fixed one for a single frequency as on my old LG G2 but a range... I've to look better at it...
Click to expand...
Click to collapse
It's quite simple. At boot the kernel reads all "devices" on the computer (our case, the phone) and runs checks at low level on the hardware for software revisions, serial numbers, Mac addresses and guess what? The speed bin embedded in the chip. It then runs a cmdline for the system to read the results to access the devices and use the kernel correctly. This is how I manipulated the system to read the bootloader as locked. On my kernel, go to developer options and you will see you can toggle bootloader unlocking. This is because the cmdline tells the system we are still locked.
Uzephi said:
It's quite simple. At boot the kernel reads all "devices" on the computer (our case, the phone) and runs checks at low level on the hardware for software revisions, serial numbers, Mac addresses and guess what? The speed bin embedded in the chip. It then runs a cmdline for the system to read the results to access the devices and use the kernel correctly. This is how I manipulated the system to read the bootloader as locked. On my kernel, go to developer options and you will see you can toggle bootloader unlocking. This is because the cmdline tells the system we are still locked.
Click to expand...
Click to collapse
Nice!
Anyway I saw official documentation of SD835 speaks about 2.45 GHz as max frequency... so other speed bins are for special/overclocked lots probably...
enetec said:
Nice!
Anyway I saw official documentation of SD835 speaks about 2.45 GHz as max frequency... so other speed bins are for special/overclocked lots probably...
Click to expand...
Click to collapse
Cherry-picking a commit by Flar2 on his Pixel 2 kernel that enables the 2.5Ghz on all bins. Hopefully it works.
Uzephi said:
Cherry-picking a commit by Flar2 on his Pixel 2 kernel that enables the 2.5Ghz on all bins. Hopefully it works.
Click to expand...
Click to collapse
Have you found (during you searches...) where is the routine which changes max frequency from 2.45 GHz to 2.36 GHz after boot?
enetec said:
Have you found (during you searches...) where is the routine which changes max frequency from 2.45 GHz to 2.36 GHz after boot?
Click to expand...
Click to collapse
Those are both different bins. Maybe it loads one then the other? In any event all bins will be 2.5 if this works. Building now
Edit: checking my device, I don't go down to 2.36, max on mine is 2.45
Uzephi said:
Those are both different bins. Maybe it loads one then the other? In any event all bins will be 2.5 if this works. Building now
Click to expand...
Click to collapse
Uhm... I'm not so sure this is bin related, since max frequency (2.45 GHz) still remains usable, but no more used after boot (it can be re-enabled by Kernel Adiutor anyway)... this is more a simple setting IMHO...
enetec said:
Uhm... I'm not so sure this is bin related, since max frequency (2.45 GHz) still remains usable, but no more used after boot (it can be re-enabled by Kernel Adiutor anyway)... this is more a simple setting IMHO...
Click to expand...
Click to collapse
That's your bin which is set at boot... My bin gives me 2.45 by default... I am not rooted and haven't made changes. See attached screenshot
Built and works... See screenshot. All I did was change kernel. No other settings done. Next it to try UV
Uzephi said:
That's your bin which is set at boot... My bin gives me 2.45 by default... I am not rooted and haven't made changes. See attached screenshot
Click to expand...
Click to collapse
Nope. Your app reports only min & max available frequencies but not the used ones... In fact, if you look at your screenshot, min frequency is reported to be 300 MHz for all CPUs, BUT if you look at your frequencies at the screenshot moment, they are respectively 672 MHz for LITTLE & 345 MHz for big cores, that are the really used as min frequencies as stock.
If you install Kernel Adiutor all will be clearer for you... it reports all this in better way...
Uzephi said:
Built and works... See screenshot. All I did was change kernel. No other settings done. Next it to try UV
Click to expand...
Click to collapse
It works for sure... because probably new frequencies are still not used... see my previous post.
Try it out then ?
Edit: be sure to flash twrp boot image, then kernel then root. SU and Magisk lose root when flashing our kernels right now and will pull backup kernel from backup boot image
Edit 2: if you also look at my "after" screen, the CPU was pegged at 2.0 and 2.5 respectively due to just booting up and loading assets.

Categories

Resources