Is there any way to change cpu frequency on an exynos Galaxy S5?

zaza

Member
Feb 11, 2015
130
1
0
I have the Octacore version of the galaxy S5 (which is actually just 2 quad cores glued together that don't work simultaneously).

They are called the big.LITLLE, they are divided into 2 clusters, one is made up of 4 low performance cores clocked at max 1.3 GHz, the other made up of 4 high performance cores clocked at max 1.9 GHz.

Now here is the problem, all CPU freq. control apps can only detect the low performance cores, i.e. they allow me to change the frequency up to 1.3 GHz. They do not detect the high performance cores since they're not designed with the big.LITTLE stuff in mind.
How do I change the CPU frequency of the high performance cores, I want them to run at 1.9 GHz all the time cause I've discovered most of lag/freeze problems where due to Samsung's inefficient CPU scaling.
 

Platypus

Lifer
Apr 26, 2001
31,046
321
136
You'd likely have to compile a custom kernel for it with the options you want changed in the native code for cpu freq to be honest. Not impossible by any means but will take a bit of work.
 

zaza

Member
Feb 11, 2015
130
1
0
Edit: spoke too soon.

You just need to go into your system files, in sys/devices/system/cpu/cpu4/cpufreq and open the file scaling_governer. Whatever is written in that file just erase and write performance.
Voila! Now according to CPU-z all cores are running at 1.9 GHz all the time. My crapsung phone has never been this responsive and lag free before!
It turns out all those cpu overclocking apps do nothing more than change a single decimal number in a file (or a string). But I have to do all this everytime I reboot the phone.

Now the only thing left is how do you save these changes permanently?
 
Last edited:

Platypus

Lifer
Apr 26, 2001
31,046
321
136
Edit: spoke too soon.

You just need to go into your system files, in sys/devices/system/cpu/cpu4/cpufreq and open the file scaling_governer. Whatever is written in that file just erase and write performance.
Voila! Now according to CPU-z all cores are running at 1.9 GHz all the time. My crapsung phone has never been this responsive and lag free before!
It turns out all those cpu overclocking apps do nothing more than change a single decimal number in a file (or a string). But I have to do all this everytime I reboot the phone.

Now the only thing left is how do you save these changes permanently?

Ah nice, well you can get a program to set this for you at boot time. I believe SetCPU was popular for this years ago but it might not do this specific thing so, you can just write a script to do it for you at boot time, but if you don't want to modify your boot image you might have to get creative in order to run this reliably after reboot. Custom software supports a user-init kind of setup but Samsung's ROM wont. You could also just write a really crappy android app to do this and just press the icon for it every time you boot. There are likely a few ways to do this easily, I guarantee there's software out that that will run xyz for you at boottime that should be easy to find on the play store. I'd just throw together a shell script to run during init and figure out a simple way to execute it.

Keep in mind, running in this fashion will likely make your device take a battery life hit as well as potentially shorten the lifespan of it (unlikely but worth mentioning). The scaling is there for a reason, to put CPU cores at rest when not in use. I'd be curious how much of a battery hit you take for doing this but I can say it will likely be noticeable.
 

dawheat

Diamond Member
Sep 14, 2000
3,132
93
91
Have you tried the multitude of DVFS disabling options for rooted Samsung phones? It's an option in several Xposed mods - including Wanam as well as some dedicated DVFS Disabler apps.