I have created this thread to focus on overclocking of the gpu, this is still very experimental and it would be great if you all can help test this feature.
There are allot of different settings that can be pushed to the gpu clock, I do not have access to the MSM7200 chip development guide and have no detailed information.
Non camera kernel with keyboard included:
http://tingstenen.dk/data/X1-kernel-modules-2011-03-18-1300457455.zip
How to activate overclocking
Code:
$ su
# cd /sys/module/clock_wince/parameters/
# echo 0xa99 > grp
The number 0xa99 can be replaced with other values to archive different results. See the following gpu overclocking discussion for more details, 0xa99 is the valued I have had positive results with on our x1 of the few options I have tried.
http://forum.xda-developers.com/showthread.php?t=697673
Our MSM7200A chip is default running with CPU 528Mhz and 256Mhz GPU.
I look forward to hear your feedback on this option and hopefully some of you manage to archive even bette results with other settings. It would alse be great if someone found out how to make an widget or app to easily change gpu clock settings.
Will add a non camera kernel with keyboard as modules later.
great job.
X1-kernel-modules-2011-03-18-1300457455 gives me 21.9 fps.
and just tried newest X1-kernel-modules-2011-03-19-1300544600 and its works, GPU overclock is applied automatically, gives me same result.
preston74 said:
great job.
X1-kernel-modules-2011-03-18-1300457455 gives me 21.9 fps.
and just tried newest X1-kernel-modules-2011-03-19-1300544600 and its works, GPU overclock is applied automatically, gives me same result.
Click to expand...
Click to collapse
Hi Preston, thanks for your feedback, I am glad to hear the auto gpu overclock is working. 0xa99 has been hardcoded in the last two kernels. 21.9 is more than I have been able to get, 21.5 with cpu at 614Mhz and 0xa99 applied
im reach 21.9 fps with cpu ovecloched to 672Mhz.
I reached 20.5 fps on Neocore (Sound off) with CPU overclocked to 672MHz and GPU overclocked using 0xa9a - using PureFroyo by Needo, an older build of his. Anything beyond 0xa9a for me, crashes my Xperia once I load apps which required 3D.
n00b3r said:
I reached 20.5 fps on Neocore (Sound off) with CPU overclocked to 672MHz and GPU overclocked using 0xa9a - using PureFroyo by Needo, an older build of his. Anything beyond 0xa9a for me, crashes my Xperia once I load apps which required 3D.
Click to expand...
Click to collapse
Could you try with 0xa99 once more with a slightly lower CPU clock? I have a theory that 0xa99 give us GPU clock half of our CPU clock. It could be the limit of the 3D chip are around 330-340.
duckly said:
Could you try with 0xa99 once more with a slightly lower CPU clock? I have a theory that 0xa99 give us GPU clock half of our CPU clock. It could be the limit of the 3D chip are around 330-340.
Click to expand...
Click to collapse
Sure. Should I try it with 633 MHz? I tried 0xa99 with 672MHz and I get 19.5 instead of 20.5 FPS.
more tests
build: a new F1 Froyo 2.2.2 V3
cpu oc: 692MHz
kernel: X1-kernel-modules-2011-03-19-1300544600
Neocore with sound off: 22.2fps
Can you try with 0xa92 and compare this with your results from 0xa99? It seems to be slightly faster on my 614MHz clocked cpu.
duckly said:
Can you try with 0xa92 and compare this with your results from 0xa99? It seems to be slightly faster on my 614MHz clocked cpu.
Click to expand...
Click to collapse
I just tried 0xa92 with 672 MHz and i got 21.4fps. Got an extra FPS with 0xa92 compared to 0xa9a.
I have done some testing with different values and here is my results so far. The clock calculations is obviously wrong but it is the best I can come up with.
10101 0010 001 0xa91 (614*2)/3 = ~409 neocore not starting
10101 0011 001 0xa99 (614*2)/4 = ~307 21.5 21.2 176(quadrant)
10101 0100 001 0xaa1 (614*2)/5 = ~245 19.5
10101 0001 010 0xa8a (614) /1 = ~614 neocore not starting
10101 0010 010 0xa92 (614) /2 = ~307 21.1 21.0 176(quadrant)
10101 0011 010 0xa9a (614) /3 = ~205 20.1
10101 0100 010 0xaa2 (614) /4 = ~154 17.9
10101 0010 011 0xa93 (614?)/2 = reboot
10101 0011 011 0xa9b (614?)/3 = reboot
10101 0000 100 0xa84 (614/2)/0 = neocore not starting
10101 0001 100 0xa8c (614/2)/1 = ~307 18.1 169(quadrant)
10101 0010 100 0xa94 (614/2)/2 = ~154 14.8 164(quadrant)
10101 0011 100 0xa9c (614/2)/3 =
The best options I have found so far is 0xa99 and 0xa92 being equal. There are still allot of other bits to play around with.
my cpu and gpu are not so lucky
i can daily use cpu at 614Mhz
tryed gpu oc with faryab V3 + 18 march kernel
0xa9b - restart
0xa99 - artifacts, neocore starts but artifacts and it stops
0xa92 - always artifacts and bad graphics
0xa9a - always artifacts but neocore bench finished ok, about 21 fps
without oc neocore is 17fps, quadrant about 270, linpack 2.8
just a curiosity, i remember in older kernels that quadrant much faster (4/500) and linpack was about 4/5, why newer kernels are slower at the same cpu speed?
pirlano said:
my cpu and gpu are not so lucky
i can daily use cpu at 614Mhz
tryed gpu oc with faryab V3 + 18 march kernel
0xa9b - restart
0xa99 - artifacts, neocore starts but artifacts and it stops
0xa92 - always artifacts and bad graphics
0xa9a - always artifacts but neocore bench finished ok, about 21 fps
without oc neocore is 17fps, quadrant about 270, linpack 2.8
just a curiosity, i remember in older kernels that quadrant much faster (4/500) and linpack was about 4/5, why newer kernels are slower at the same cpu speed?
Click to expand...
Click to collapse
The optimal clock for my CPU is also 614Mhz, it can run at 633 but will eventually crash.
Can you try to downclock you cpu one or two steps further and try with 0xa99? I am curious to know if the GPU overclock values are connected to the CPU overclocking, could be that you successfully could use 0xa99 with one CPU step lower and end up with better neocore results.
faryab V3 + 18 march kernel + custom startup.txt
(to change grp frequency i use clock_wince.grp=2713 on startup.txt (2713 = 0xa99 for example, to no OC just left blank, i think it's better manual setting than auto-OC))
tryed one time, and seems to be working with startup setting
neocore - always sound off
cpu: 633600 - reboot
cpu: 614400 - ok
gpu:
-no OC: 18,9
-0xa9a: 20,2
-0xa99: reboot
cpu: 595200
-no OC: 18,7
-0xa9a: 19,8
-0xa99: 21,4
EDIT: i can confirme that startup.txt setting works with gpu freq too with 18 march kernel
i tryed acpuclock.oc_freq_khz=614400 clock_wince.grp=2713 on startup.txt and this time phone doesn't reboot, and i got 21,4 too
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
I'm just a newbie, so I want to know how to open Internal? I try to get it on Market, installed but not working? Could anyone show me the way?
Pardon my bad eng
sp3dev said:
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
Click to expand...
Click to collapse
Thanks for the thorough explanation alex.I was confused at first about this when I saw the topic
luv116 said:
I'm just a newbie, so I want to know how to open Internal? I try to get it on Market, installed but not working? Could anyone show me the way?
Pardon my bad eng
Click to expand...
Click to collapse
Terminal Emulator works very bad with non-US keyboard layout (you have to use virtual keyboard for _ and > char, and it's very annoying).
It's faster (and works much better because of the fresh boot) to change settings from startup.txt, read my post
sp3dev said:
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
Click to expand...
Click to collapse
Hi Alex, thanks allot for your description. It is nice to know what the different options means instead of blindly changing the values
Are the pll clock speeds different when you overclock the cpu?
yes, they are.
btw, i've played with overclocking a bit. changing gpu to 1056 mhz pll doesn't seem to do anything, but overclocking the 768 mhz pll to 960 mhz or more seems to increase performance linearly - my neocore went from 16.5 to 21.5.. but i needed to set mdp (panel) to another pll..
as for the panel, some tweaks allowed to raise score in fps2d from 27 to 34 fps. i hope we can get to somewhere 45 with a bit of overclocking.
all in all, i think we need to rewrite some clock code to allow to change pll speed at runtime and recalculate clocks on the fly
Unfortunately I can not post to dev section, so hopefully stratos will see my post here:
I had stock JVR with semaphore 1.5 (not v) on ext4 and everything was excellent with this brilliant kernel apart from the well known phone fc.
OC/UV was ok: quadrant scores were approx 1900-2400 on conservative cpu gov and 2500-3000 on ondemand gov.
Now, I flashed the 1.6 beta and my system is noticeably slower on *conservative* cpu gov and quadrant scores dropped clearly below 1500. Ondemand cpu gov seems to work ok but as I was alwaus on conservative I can not be abs.sure
I don't know if it is important but using voltage control app to check cpu function I see that:
a) cpu freq is wildly/unpredictably fluctuating with 1.6beta while this was not happening in 1.5 under conservative cpu gov,
and
1b) reported default voltage is different: for example with sema1.5 1200mhz had default 1275, now in 1.6beta without oc module 1000mhz is 1275 but with oc module 1200mhz have 1300mv by default.
Stratos,
could it be that a) something is broken in the new conservative cpu gov? , b) have you changed the default cpu voltage between v1.5 and v1.6beta?
GrNick said:
Unfortunately I can not post to dev section, so hopefully stratos will see my post here:
I had stock JVR with semaphore 1.5 (not v) on ext4 and everything was excellent with this brilliant kernel apart from the well known phone fc.
OC/UV was ok: quadrant scores were approx 1900-2400 on conservative cpu gov and 2500-3000 on ondemand gov.
Now, I flashed the 1.6 beta and my system is noticeably slower on *conservative* cpu gov and quadrant scores dropped clearly below 1500. Ondemand cpu gov seems to work ok but as I was alwaus on conservative I can not be abs.sure
I don't know if it is important but using voltage control app to check cpu function I see that:
a) cpu freq is wildly/unpredictably fluctuating with 1.6beta while this was not happening in 1.5 under conservative cpu gov,
and
1b) reported default voltage is different: for example with sema1.5 1200mhz had default 1275, now in 1.6beta without oc module 1000mhz is 1275 but with oc module 1200mhz have 1300mv by default.
Stratos,
could it be that a) something is broken in the new conservative cpu gov? , b) have you changed the default cpu voltage between v1.5 and v1.6beta?
Click to expand...
Click to collapse
Unfortunately I can not confirm your results. I just load the conservative governor and tested with and without overclocking. No problems here.
During benchmarking due to high load the frequency it's difficult to drop below the max. So, governor should not make the difference.
The uv value was the same in 1.5.0 (1300mv) for 1.2Ghz but it was wrongly displayed as 1275.
Thanks for you feedback. I will let you know if someone else report problems about the conservative governor.
Hey stratos, thanks for the clarification about cpu voltage.
Re cpu gov, I just did a nandroid restore and confirmed that conservative cpu gov works much better in 1.5
Any ideas on how to explore it further? There is definetely something different here.
I mean, its not just quadrant scores, its memento database loading instantly vs seconds of delay under cons cpu gov in 1.5 vs 1.6beta.
I will reflash again l8r tonight.
Anyhow, this kernel rocks! And I love the tun/netfilter module design.
Sent from my GT-I9000 using Tapatalk
Hi all, this kernel is only for sammy 4.3 roms!
This is my first public release of a kernel that I have been compiling and mod for some time
So, my goal is to have all boeffla kernel features with some settings that I want to be modded like CPU OC up to 2GHz (mine fully stable at 1.8GHz).
Changes done to official Boeffla 5.0b5:
Higher ANTUTU score: 23541 (my system with 1.8GHz @ 1425mV CPU and 700MHz GPU)
Compiled with Linaro GCC 4.9-2014.05 (4.9.1) / Linaro GDB 7.7-2014.05
Hard-float and neon compiler flags
Compatibility to boeffla config app (some internal mod into version.c file)
CPU OC up to 2GHz
100 MHz CPU frequency step (more power savings: stable to me @ 775mV <-- undervolted!!!)
Mach-midas: raise cpu freq throttle from 800 to 1500MHz and 200 to 800MHz
Permanent file-system trim
Allow manual brightness to 300 candela
GPU bottom lock fix
Manage only online cpus (cpufreq fix)
Allow cpu-based alignment fixup instead fixup in software (best performance)
VERY IMPORTANT (read here): Fix n_tty_write crash when echoing in raw mode (2009 bug)
Ethernet USB dm9601.ko module support: loading ASIX usb ethernet module under boeffla config also load this module (usefull for ebay cheap adapters like mine)
To do list:
Configure 40 Hz LCD refresh frequency below 1000 MHz CPU freq, like Sammy 4.1.2 AndreiLux Perseus kernel (more power savings) <-- I have ported it from Perseus kernel and tested it, however I don't like my screen like that (very low lcd freq update rate)
Add Wireless drivers for supporting Ralink rt2870usb and Realtek RTL8187 devices by OTG USB adapter
Add support for f2fs file-system
Implement ZRAM with the latest LZ4 compression/decompression algorithm
Flash procedure:
It is recommended to set a lower CPU freq limit like 1000MHz before flash
If the phone freeze, please reset boeffla profile settings: under boeffla kernel folder (in internal phone storage) there are a cwm zip to reset profile settings or download it below under tools section
Voltage table under config app must be reseted to avoid problems (set to none and press reset!)
Latest Changelog (Version 4):
Mach-midas: raise cpu freq throttle from 800 to 1500MHz and 200 to 800MHz
Some temperatures throttle setpoints increased by ~10 celcius degree (at 90 celcius degree CPU is limited to 1500)
I have done some tests, it's colder than other phones even with 1500MHz full cores loaded (throttle on), for gaming reduce max cpu freq...
Allow manual brightness to 300 candela: our displays can handle 300 candela in automatic mode, manual slide was limited to 250 by default
GPU bottom lock fix
Manage only online cpus (cpufreq fix)
Allow cpu-based alignment fixup instead fixup in software (best performance)
Overvolt by +25mV default 1.8-2.0GHz cpu steps voltage (more stability for 1.8GHz step @ 1425mV, before it was @ 1400mV)
Changelog Version 3:
Mach-midas: raise cpu freq from 800 to 1000MHz when reaching thermal limit
Permanent file-system trim
Changelog Version 2:
Implemented 100 MHz CPU step, now it could be configured from 100 - 2000 MHz
DOWNLOADS:
Help me by register on kickbit
Based on official 5.3 Beta5 - Version 4
Based on official 5.3 Beta3 - Version 3
Based on official 5.3 Beta3 - Version 2
Based on official 5.3 Beta3
TOOLS:
Boeffla Config App Settings Reset CWM zip
Boeffla Config APK download (google play alternative)
Source Code <-- Click here to access ftp server
Credits:
@Lord Boeffla -> for all amazing work and for make his kernel modifications open source
@Christopher83 -> for providing the pre-compiled linaro toolchain
@AndreiLux -> for help me understand how middle cpu frequencies like 1750 are generated
@googy_anas -> for some commits in github
Help me by register on kickbit
VERY IMPORTANT: if you like my work press thanks, BUT, if you consider donate me, also consider donate him: Lord Boeffla
Does you're phone run at 2Ghz? Stable?
andrewwright said:
Does you're phone run at 2Ghz? Stable?
Click to expand...
Click to collapse
Runs fully stable at 1.8GHz for some days without reboots
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
EP21 said:
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
Click to expand...
Click to collapse
Not really, for example my chip is stable at 1.7ghz with deafult voltage, depend of the luck of your chip :good:
Will you do this on CM/Omnirom kernel?
EP21 said:
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
Click to expand...
Click to collapse
It depends in your cpu scaling options, like governor... And when phone gets hot, cpu freq is limited to 800 MHz, if you stress test it, you could see that sometimes it goes down to 800 MHz during some time (could be changed before compilation).
And I run cpu @ 1800 MHz with 1.425 V stable, I tried 1850 and it can't be handled, so my phone stable limit is 1.8 GHz )
Assa551N said:
Will you do this on CM/Omnirom kernel?
Click to expand...
Click to collapse
I am a little busy right now with exams at university. Maybe in the next month
Allow me to revive this topic by saying that my i9300 is stable using this kernel at 1.92GHz with +0mV and -25mV (didn't try -50mV or less)
At 2GHz it reboots after 2 minutes of Antutu.
Its obvious that no one should ever use this for daily use. I used it for Antutu Benchmark and I got a score of 24070.
htc m8 great
xKyrex said:
Allow me to revive this topic by saying that my i9300 is stable using this kernel at 1.92GHz with +0mV and -25mV (didn't try -50mV or less)
At 2GHz it reboots after 2 minutes of Antutu.
Its obvious that no one should ever use this for daily use. I used it for Antutu Benchmark and I got a score of 24070.
Click to expand...
Click to collapse
htc m8 great