I just put CM6 RC3 on my N1 last night and i seems to be working fine.
I was looking over the features list here: http://www.cyanogenmod.com/about
and noticed "Kernel 2.6.34 with Pershoot’s tweaks". I checked out the link to see what pershoots tweaks were. Looking at the first post there I see some things I know.. "OC-UV-BTN-AUD-RAM-NEON_FP"
OC = Overclock
UV = Undervolt
But that's it. I don't know what the others are. But mainly, I want to know which of those tweaks are in CM6-RC3? Is my phone OC'd right now? Is it UV'd? How can I tell?
In "OC-UV-BTN-AUD-RAM-NEON_FP," the letters mean the following:
-OC = 1.113 GHz Overclock (Use SetCPU to enable this)
-UV = Undervolt on all but the 1.113 GHz speed. If you stay at 1.075 GHz, you will actually be at a lower voltage, increasing your battery life.
-BTN = Capacitive Button Fix
-AUD = Audio Boost (for calls, I think)
-RAM = Some RAM Freed
-NEON_FP = ARM Neon extensions
Pershoot (the maker of the kernel), also has an XTRA version. His newest XTRA version also contains:
*userspace governor default; only interactive,ondemand and userspace governors
*BFQ I/O Scheduler
*some more cgroup options
*namespaces support (excluding network)
*v4 block device and data integrity support
*3d register driver
*erratas 430973, 458693 and 460075 applied
Go HERE to download his latest kernels.
wow nice. So all those are already included when I install CM6-RC3? Nice work.
When I get a chance, they are getting a donation.
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
This is a noob-friendly configuration for setting up custom kernel.
Device- Z00L sd410
Kernel- Poison kernel (v4) Thanks to @Riad khan
ROM- CosmicOS Nougat Thanks to @prakharluv
Kernel manager used- Kernel Adiutor
External memory- 16GB uhs1 microSD card.
Configurations are balanced between performance and battery with slightly upper edge for battery savings
Settings-
1. CPU-
Set minimum frequency to 200MHz.
Set maximum frequency to 1152MHz (optional and battery friendly).
Choose "Impulse" as cpu governor.
(I chosen impulse because its amongst the best for balanced battery and performance)
(optional- In cpu governor tunables, choose hispeed_freq to 400MHz)
2. Thermal- enable core control
3. GPU-
(Not for gaming)
GPU maximum frequency- 310MHz
GPU minimum frequency- 200MHz
GPU Governor- msm-adreno-tz
Adreno idler- switched on
Down differential- 40
Idle wait- 15
Workload- 5
4. Screen-
I prefer 'Perfection' color profile. The settings for this profile-
Red - 237
Green - 235
Blue - 255
min RGB value - 35
Saturation intensity - 40
Screen hue - 1515
Screen value - 125
Screen contrast - 127
5. Sound control-
(choose your preferred values)
my configuration-
Headphone and speaker gain - 5
Lock microphone gain- on
6. I/O scheduler-
(both for internal and external storage)
scheduler- fiops
read ahead values- 2048
7. Virtual memory-
zRAM- 510MB
8. Misc-
TCP congestion algorithm- cubic
leave rest of the settings unchanged.
You will easily get 5:30Hrs to 6:00Hrs SOT with moderate usage.
Lastly,
I am not a pro. These settings are just to help those who are new to custom kernels.
If you have better configurations, feel free to share, as good things are always welcomed.
SS attached for my battery consumption with mild to moderate usage
Thanks​
What about snapdragon 615 variant ?
suhailmalik said:
What about snapdragon 615 variant ?
Click to expand...
Click to collapse
I don't own that device so, unable to provide any suitable configuration for it.
Did u enable hotplug autosmp? If yes, what's your config for the hotplug?
No. I guess autoSMP isn't implemented in the kernel properly. It isn't working.
And in future updates, if it gets corrected, the most suitable configuration would be, those given by @pokipokipxorn in his own kernel thread.