Related
Introduction:
This module implements undervolting for the stock SE kernel of X10 based on the latest baseband/kernel.
From Wiki: Undervolting is the term used when the voltage of a component, usually the processor, is lowered in order to increase stability and/or reduce temperature.
Undervolting can also result in better battery performance, which is actually the reason to use this module.
Notes:
This module is based on doixanh's ingenious hijacking of kernel calls which has proven precious for X8/X10mini owners by helping us enhance our devices (e.g. undervolting, overclocking, dual touch), see: X8uv.
My friend, My_Immortal, is supporting with testing/debugging this module.
She asked me to work on that and without her help and patience it wouldn't have been possible. Thank you very much My_Immortal
Sources: https://github.com/nobodyAtall/XperiaFeatures
Yes, we do have custom kernels for X10 - this has nothing to do with those and it won't work on those.
If one of the posted version works for you, keep it, no need to try the others! Basically try them in this order: v.001 -> v.002 -> v.003
In case you want to uninstall this mod, go to xrecovery -> partition tools -> mount /system -> flash the attached uninstall_uv.zip and you are back to normal!
Requirements:
- Rooted
- xRecovery preinstalled
- Baseband > 52. (If you are using an incompatible BB, you will get battery drainage issues. You can see this via 'lsmod' from adb shell with the module reported as 'loading')
Installation:
Automatic:
- Flash the attached zip via xrecovery. (Note that you need to have a ROM with a /system/etc/hw_config.sh script, I think every stock/custom ROM has this)
- Enjoy better battery life
Manual (via root explorer):
My_Immortal said:
From the zip take the x10uv.ko and copy it on /system/lib/modules.
Then, go to /system/etc/hw_config.sh, long-press on it, and select Open in text editor.
Add the following line:
insmod /system/lib/modules/x10uv.ko
Save & Exit
Delete the .bak file that Root Explorer created.
Exit, reboot the phone
Click to expand...
Click to collapse
Checking if the module is loaded:
run lsmod from adb shell or terminal emulator and check for x10uv.ko
Disclaimer:
I can't be held responsible if this mod bricks your device or makes it explode in your hands! Use it at your own risk!
v.003
Voltage assignments per Frequency (cooked/tested for stability):
Freq Vbefore Vafter
245760 1000 -> 950
384000 1000 -> 950
576000 1050 -> 1000
768000 1150 -> 1100
998400 1300 -> 1300
v.002
Voltage assignments per Frequency (cooked/tested for battery savings):
Freq Vbefore Vafter
245760 1000 -> 900
384000 1000 -> 900
576000 1050 -> 950
768000 1150 -> 1050
998400 1300 -> 1300
v.001
Voltage assignments per Frequency (cooked/tested for battery savings):
Freq Vbefore Vafter
245760 1000 -> 900
384000 1000 -> 900
576000 1050 -> 950
768000 1150 -> 1050
998400 1300 -> 1200
Sorry, but what exactly do you mean by "latest baseband"? Version .58?
Undervolt for Stock? I thought Bootloader crack/bypass is required for Undervolt?
@OP: Could you elaborate how it works? Thanks!
@ Devs: This could be an addition for every rom out there?
Think ill backup and give this a test!
@[email protected]:
Do you plan to port X8Overclock for X10? It may prove useful until custom kernels will become stable.
Im on baseband 52. Can i use it?
Sent from my X10i using XDA App
great to see devs from other Xperia devices helping out here...
Nice work.
sephirothusi said:
Sorry, but what exactly do you mean by "latest baseband"? Version .58?
Click to expand...
Click to collapse
I'm not quite sure which basebands are compatible, sorry
I built this module using the 2.1.A.0.435 kernel sources by SE.
So then it will probably work on BB 54,55 and 58 so the latest should work all.
nobodyAtall said:
I'm not quite sure which basebands are compatible, sorry
I built this module using the 2.1.A.0.435 kernel sources by SE.
Click to expand...
Click to collapse
OK, that's good enough. Any sources/git repo available?
This is for undervolting the stock kernel, yes. We are hacking our way for this to work
Basically we reduce the voltage levels for each available frequency. I'll post the moded voltage levels vs original ones shortly.
I know for sure that it works on Trip's CM6 rom (which My_Immortal uses). To be honest, I don't have an X10 device
Neo said:
Undervolt for Stock? I thought Bootloader crack/bypass is required for Undervolt?
@OP: Could you elaborate how it works? Thanks!
@ Devs: This could be an addition for every rom out there?
Click to expand...
Click to collapse
nobodyAtall said:
I'm not quite sure which basebands are compatible, sorry
I built this module using the 2.1.A.0.435 kernel sources by SE.
Click to expand...
Click to collapse
this should work on basebands 2.1.5x...
@OP
i humbly request u to port netfilter module for x10!!!
nobodyAtall said:
This is for undervolting the stock kernel, yes. We are hacking our way for this to work
Basically we reduce the voltage levels for each available frequency. I'll post the moded voltage levels vs original ones shortly.
I know for sure that it works on Trip's CM6 rom (which My_Immortal uses). To be honest, I don't have an X10 device
Click to expand...
Click to collapse
then it will work on most Froyo ROMs...
there a lot of ppl willing to test... u can happily release test modules...
@My_Immortal
THANK YOU!!!
This module will work on any _STOCK_ 2.1 / kernel baseband
Cheers,
z
sephirothusi said:
@[email protected]:
Do you plan to port X8Overclock for X10? It may prove useful until custom kernels will become stable.
Click to expand...
Click to collapse
I will look into overclocking too in the next days if it's useful for you guys.
We, the mini users, do have overclocking (600Mhz -> 768Mhz working without a glitch), and fake dual touch thanks to this hack
nobodyAtall said:
I will look into overclocking too in the next days if it's useful for you guys.
We, the mini users, do have overclocking (600Mhz -> 768Mhz working without a glitch), and fake dual touch thanks to this hack
Click to expand...
Click to collapse
So it seems to be really useful and quite powerful. Well, at least it's more stable than current custom kernels.
Will this work on Wolfbreak's CM6.1.3 (Android 2.2.1)? I don't dare to try yet. Need my phone and don't want to reflash in case something goes wrong.
OR
Does this works only for 2.1?
DooMLoRD said:
this should work on basebands 2.1.5x...
@OP
i humbly request u to port netfilter module for x10!!!
Click to expand...
Click to collapse
I've been working with doixanh on netfilter but we got stuck.
Basically we hijacked all needed calls but we got lots of panics at many occasions (e.g. when x_tables.ko was loaded, unloading the wifi driver would cause a panic).
This belongs to another thread though
nobodyAtall said:
I will look into overclocking too in the next days if it's useful for you guys.
We, the mini users, do have overclocking (600Mhz -> 768Mhz working without a glitch), and fake dual touch thanks to this hack
Click to expand...
Click to collapse
@nobodyAtall
dude u can even tell ppl to jsut add it as a line in /system/bin/chargemon file:
Code:
insmod /system/lib/modules/x10uv.ko
thats how some devs are currently loading custom modules for their roms
Here we can share our prefered ROM SETUPs that includes
When i mean prefered i mean it's each one's personal opinion and everyone's views should be respected..
1)rom
2)kernel
3)memory scripts
4)battery scripts
5)other tweaks(Audio)
6)SD partition and file system
7)min max frequency and governor
8)battery life you get with usage statistics
please share relevant link to threads if you can.
let me start with mine
ROM: VO1'S 13/11 deodexed http://forum.xda-developers.com/showthread.php?t=1837056
KERNEL: swap all 3.0 fire kernel http://forum.xda-developers.com/showthread.php?t=1960652
Partition: 1.5gb ext4 sd-ext + 150 mb linux swap
SCRIPT: Adrenaline engine 4.4 (modded for psn swap kernel)
CPU min:320 max:825 governor:Smartassv2
Tweaks: Hardware rendering http://forum.xda-developers.com/showthread.php?t=1877183
GPS ntp servers from http://www.pool.ntp.org/zone/in
Battery life: 13-14hrs
USAGE STATS:
display on:4.5hrs
music:1hr
wifi:7hrs
2g packet data:15mins
browsing:45mins
gps:10mins
games:1hr
share yours also
Guys none interested??!!
Sent from my GT-S5830 using xda app-developers app
I'M IN NO WAY RESPONSIBLE OF ANY DAMAGE CAUSED BY USING THIS CUSTOM KERNEL.
PLEASE NOTE THAT SOME FEATURES CAN DAMAGE YOUR PHONE AND YOUR EAR.
PLEASE READ ALL BEFORE FLASHING CUSTOM KERNEL.
PLEASE GIVE ME FEEDBACK!!
I NEED SUGEST NOT REQUEST!!
DONT ASK ETA!! (if you can give me coffe on sunday i'll tell you ETA )
Dont worry about donate to me. I dont have paypal
Just press thanks button
What is needed
Samsung GT-I8160 (Jellybean)
Some Android experience
Know how to use Terminal
More patience
Features
fs: ZRAM & Swap Support
fs: CIFS module
fs: Fsync control [Cocafe]
fs/aio: Asynchronous io performance improved
mm: SLUB memory allocator
arm: ThumbEE
arm/vfp: Build with neon
lib: Optimzed CRC32 algorithm [ezekeel]
lib: GNU C version memcpy & string
mali: Utilization control
mali: MALI TWEAK[Cocafe]
mali: PM sampling rate tweakable [Cocafe]
debug: Remove Samsung debug code [Adi_Pat]
debug: Disable KGDB [Adi_Pat]
debug: Remove frame pointer [Adi_Pat]
debug: Android logger as module (free 4mb RAM)
bcmdhd: PM_FAST by default
kernel:Lzop compression
ramdisk: Lzop compression
ramdisk: Init.d scripts
ramdisk: ClockworkMod Recovery 6.0.2.8 [diego-ch]
cpufreq: OndemandQ [Cocafe]
Installation
FlashableZip:
1. Download Kernel
2. Goto Recovery
3. Flash it
DD method:
You need to root your phone first.
What is ROOT? HOW TO?
Please ASK Google!!!
1. Download kernel
2. Extract kernel.bin.md5 from *.tar.md5
3. Copy kernel.bin.md5 to somewhere you like (e.g. /sdcard)
4. Open Terminal app,use these commands
Now lets go to superuser mode
Code:
su
Now lets flash(dd) kernel to kernel partition
Code:
dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15
5. Reboot to take effects
Code:
reboot
* If you type a wrong dd command,it might hard birck your phone
So please think twice before hit enter
* It is recommended that check the md5 of kernel.bin.md5
If it doesnt match 'md5.txt' in zips,dont flash to phone.
Please re-download kernel
How to check md5 on phone?
Open Terminal app (Please install busybox first )
'cd' to the folder(e.g. /sdcard) where has the file
Code:
cd /sdcard
Now get the md5
Code:
busybox md5sum -t kernel.bin.md5 >> out.txt
Now check the md5 manually
Download :
09/09/2013
CM-DK3J9Mt.zip - 8.18 MB (CyanogenMod 10)
18/08/2013
CM-DK3G8M.zip - 7.66 MB (CyanogenMod)
DK3G8M.zip - 8.33 MB (Stock ROM)
NOTE :
sorry I could not test stock rom because I was in cm
wipe cache before flash
Changelog :
09/09/2013
disable ARM: spinlock: use ticket algorithm for ARMv6+ locking implementation
arm/crypto: add aes and sha1 implementaions
use LZ4 Compression (kernel,ramdisk,zram)
add smartassH3 Gov
add exfat modules
power: stop printing noise
ntfs build in kernel now
disable BLN
set swappiness 20
bcmdhd: Reenable IPv6, disable multicast in suspend
toolchain: Linaro GCC 4.7
enable ksm (cyanogen only)
up to linux 3.0.41 kernel
disable ext3 support
18/08/2013
bluetooth fix. thanks samsung
disable arch power
add sec_param_debug
ARM: spinlock: use ticket algorithm for ARMv6+ locking implementation
Proportional Rate Reduction for TCP.
Credits :
@Adi_Pat
@cocafe
@diego-ch
@dh.harald
@lupohirp
source :
https://github.com/hafidzduddin/codina
NOTE :
CM version must flash through recovery. because modules locate in "/system/lib/modules"
to fix bt bug in cm. try to replace original "system/lib/bluez-plugin/audio.so" from cm10 zip.
@hafidzduddin
Just Waiting and be patient to 100% complete upload....
Re: [Kernel][3.0.31 D- Kernel v1 #RC15
Where reference from which to download the kernel?
Sent from my GT-I8160 using xda premium
Great Work:good: what about custom boot animation?
Messi10 said:
Great Work:good: what about custom boot animation?
Click to expand...
Click to collapse
try it idk it work or not
Thank you!
Thank you for all your work hafidzduddin!!
So I found a bug:
Brightness slider is not working properly, displays completely different brightness than the one set to (when I slide it to 70% it displays as in 30% etc.)
When I do the
Q: Why brightness cant setting after booting?!
A: Turn Off manual (press button power) after booting!
Click to expand...
Click to collapse
it doesn't set to the right value and this is kind of annoying for me.
How can I flash the original kernel please? (I couldn't find a specific answer)
Copy both from stock rom kernel.bin.md5 and kernel2.bin.md5 in sdcard and then do "dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15" once or do also "dd if=/sdcard/kernel2.bin.md5 of=/dev/block/mmcblk0p15" for the second one?
takthetank said:
Thank you for all your work hafidzduddin!!
So I found a bug:
Brightness slider is not working properly, displays completely different brightness than the one set to (when I slide it to 70% it displays as in 30% etc.)
When I do the
it doesn't set to the right value and this is kind of annoying for me.
How can I flash the original kernel please?
Click to expand...
Click to collapse
i had that problem with the test kernel, with this kernel i dont have that problem
takthetank said:
Thank you for all your work hafidzduddin!!
So I found a bug:
Brightness slider is not working properly, displays completely different brightness than the one set to (when I slide it to 70% it displays as in 30% etc.)
When I do the
it doesn't set to the right value and this is kind of annoying for me.
How can I flash the original kernel please? (I couldn't find a specific answer)
Copy both from stock rom kernel.bin.md5 and kernel2.bin.md5 in sdcard and then do "dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15" once or do also "dd if=/sdcard/kernel2.bin.md5 of=/dev/block/mmcblk0p15" for the second one?
Click to expand...
Click to collapse
you use 3rd application?
i dont have this issue. just for first boot.
idk its rom or kernel issue
i use kernel2.bin.md5 because on my sdcard kernel.bin.md5 is my custom kernel :angel::angel:
hafidzduddin said:
you use 3rd application?
i dont have this issue. just for first boot.
idk its rom or kernel issue
i use kernel2.bin.md5 because on my sdcard kernel.bin.md5 is my custom kernel :angel::angel:
Click to expand...
Click to collapse
No, I tried both from the slider in dropdown menu and in settings->display->brightness. It's the same problem in both!
So by flashing ONLY kernel2.bin.md5 is enough?
Re: [Kernel][3.0.31] D- Kernel v1 #RC
I agree. The slider's 0 percent is about 60 percent. So 0 percent is about 60 percent.
Edit:
After something happened, brightness suddenly changed itself and bug is fixed.
Sent from my GT-I8160 using xda app-developers app
malamharian said:
I agree. The slider's 0 percent is about 60 percent. So 0 percent is about 60 percent.
Edit:
After something happened, brightness suddenly changed itself and bug is fixed.
Sent from my GT-I8160 using xda app-developers app
Click to expand...
Click to collapse
Read all my post :3
Re: [Kernel][3.0.31] D- Kernel v1 #RC
Hello! Immediately apologize for mistakes, since English know is bad! I would like to thank you, for you made the core, very happy! And I want to ask - what some have success in overclocking kernel?
Sent from my GT-I8160 using xda premium
This kernel is awesome
Great job !
I hope we will overclock to 1 GHz soon
Re: [Kernel][3.0.31] D- Kernel v1 #RC
killov1982 said:
Hello! Immediately apologize for mistakes, since English know is bad! I would like to thank you, for you made the core, very happy! And I want to ask - what some have success in overclocking kernel?
Sent from my GT-I8160 using xda premium
Click to expand...
Click to collapse
Rooobertinhooo said:
This kernel is awesome
Great job !
I hope we will overclock to 1 GHz soon
Click to expand...
Click to collapse
No one.
St erricson not give any document!!
Do you know why s advance have 1ghz?
I think Because i9070 support maxopp.
Why i9070 cant change freq on max opp?
Because freq locked.
must edit something on prcmu.
And I dont understand. Lol!!
Sent from my GT-I8160 using xda premium
hafidzduddin said:
Read all my post :3
Click to expand...
Click to collapse
is this the same one a.k.a test kernel? or this one is 100% complete?
i mean still contain hang / looping on booting or not?
thanks man.
Hi everybody!
Today I've experimented with kernel a bit and have found a way to increase accessible RAM up to 691.1 MB, at the cost of not working(or not fully working) camera, HW decoding and inablilty boot to recovery. The way is to modify cmdline:
https://github.com/ChronoMonochrome/Chrono_Kernel/commit/17d83a66bcb07a79e4575e0da3b762acd0def203
We use CONFIG_CMDLINE_FORCE=y to ignore cmdline passed by bootloader and use instead new one which contains defconfig.
The default cmdline is(JB bootloader with 624 MB - don't remember its baseband name)
CONFIG_CMDLINE="cachepolicy=writealloc mpcore_wdt.mpcore_margin=359 root=/dev/ram0 rw rootwait crash_reboot=yes crash_dump=no init=init console='null' [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] vmalloc=264M jig_smd=0 lpm_boot=0 checksum_pass=1 checksum_done=1 sec_debug.enable=0 sec_debug.enable_user=0 androidboot.serialno=47907233a768cf60 board_id=12 startup_graphics=1 logo. lcdtype=4 sbl_copy=1"
Click to expand...
Click to collapse
and new one that's in config:
CONFIG_CMDLINE="cachepolicy=writealloc mpcore_wdt.mpcore_margin=359 root=/dev/ram0 rw rootwait crash_reboot=yes crash_dump=no init=init console='null' [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] vmalloc=264M jig_smd=0 lpm_boot=0 checksum_pass=1 checksum_done=1 sec_debug.enable=0 sec_debug.enable_user=0 androidboot.serialno=47907233a768cf60 board_id=12 startup_graphics=1 logo. lcdtype=4 sbl_copy=1"
Click to expand...
Click to collapse
Take a look at "[email protected] [email protected]". 72M means size of HWMEM, "@256M" - its physical address. The same is for "mem" - 55M is size of nearest RAM bank.
Because we forcibly passed this cmdline and bootloader can't add parameter bootmode=2, it disallows to boot into recovery. Maybe later I'll be able to fix it.
Now about other side-effects of reduction of HWMEM - I've tested few sizes of HWMEM, and results as follows:
HWMEM=16M(699M) - camera, audio and hw decoding doesn't work at all
HWMEM=24M(691M) - camera and hw decoding doesn't work at all
HWMEM=48M - video recording and hw decoding doesn't work
HWMEM=64M - video recording still doesn't work, but camera doesn't FC when enabling video mode. May be some cameras will work.
HWMEM=72M - haven't found any bugs yet.
HWMEM=84M - default HWMEM size.
UPD. also uploaded kernel with [email protected] - this decreases available RAM, but maybe for some app or game will be useful this plenty of HWMEM
http://xda.mister-freeze.eu/XDA-files/ChronoMonochrome/kernel/mem_repart/
I've also tried to decrease modem_mem and mem_trace, but unfortunately, it causes bootloop (tested 8MB of modem memory, and 10M of mem_trace, both of these settings separately)
Now few words about how to flash it when recovery is unavailable: extract boot.img to /sdcard and flash kernel via terminal. Script to flashing kernel is attached - if you not familiar with terminal commands I recommend just execute this script to automatize the process. To return to usual kernel, extract boot.img to the same place, flash it, reboot to recovery and flash installable kernel again.
Enjoy :highfive:
@ChronoMonochrome thanks for keeping alive our ace 2 , so far I test HWMEM = 72M , but I have one question , what else do you bring to our phone ? Cheers ^^ :good::good:
Now some users will know why we doesn't see a full 768MB of RAM in phone info.
But @chrono, because of "androidboot.serialno=47907233a768cf60 board_
id=12 lcdtype=4" forced cmdline will bootup every codina devices?
Ave_Hornet said:
but I have one question , what else do you bring to our phone ? Cheers ^^ :good::good:
Click to expand...
Click to collapse
haha maybe LK3.1, but it's f***n buggy, it has problems with earlysuspend - it's unable to play music when screen is off and etc. Furthermore, I'm unable so far merge all changes from chrono kernel (most of them cause bootloop).
PolishVodka said:
Now some users will know why we doesn't see a full 768MB of RAM in phone info.
But @chrono, because of "androidboot.serialno=47907233a768cf60 board_
id=12 lcdtype=4" forced cmdline will bootup every codina devices?
Click to expand...
Click to collapse
Hm, honestly I've some doubts about it - maybe anyone already tested it?
This "androidboot.serialno" probably was generated by bootloader - I haven't tested yet whether other number works or not.
UPD. checked right now - at least androidboot.serialno=ffffffffffffffff works as well as mentioned one. board_
id=12 shouldn't cause problems since it's probably number, specific for codina, but only lcdtype=4 may cause problems on s6d display.
ChronoMonochrome said:
Because we forcibly passed this cmdline and bootloader can't add parameter bootmode=2, it disallows to boot into recovery. Maybe later I'll be able to fix it.
Click to expand...
Click to collapse
Fixed! :fingers-crossed: https://github.com/ChronoMonochrome/Chrono_Kernel/commit/8dbbd48feb1c57db7a335684ff418af01de00d40
This extends bootloader cmdline with new size of HWMEM, instead of passing custom cmdline.
As it turned out, HWMEM should be minimum 68 MB to avoid having any bugs:
http://xda.mister-freeze.eu/XDA-files/ChronoMonochrome/kernel/mem_repart/codina_kernel_hwmem68M.zip
Let me know, if you need a build with even lower size of HWMEM.
As for now, I did not notice any error in HWMEM=64 , but if I think well, that if the will not be any errors ,such modification will be commonplace in Your Kernel?
:silly: Btw. You Are CRAZY @ChronoMonochrome :good: :good:
Edit1. Searches for the network, but nothing works related to the Internet ,Anyone can confirm that ?
Damn it, it was too fast. I've seen some errors in kmsg and camera randomly FCs. I'm afraid that some errors in logs also can evidence about damage FS. I had to restore CWM backup to avoid camera FC, but even on usual kernel with orig HWMEM size I still have errors in kmsg when taking a photo:
Code:
<4>[ 54.664611] CM_NO_MORE_MEMORY domainId: 22, memType 7, wordSize 61440, alignement 15
<4>[ 54.664642] ALLOCATOR Dumping allocator "scratch" [0x00058800:0x00068800]
<4>[ 54.664642] Error: CM_NO_MORE_MEMORY: CM_AllocMpcMemory() failed
<6>[ 55.954864] dma dma0chan22: allocated logical channel (phy 3)
But I should say that I've previously used more unstable HWMEM size as low as mentioned 16 MB - and I've had some crashes which probably caused memory corruption(I do not mean the RAM, as is a non-volatile memory). The problem is that I've used dynamic fsync - now I came to conclusion that we should forget about using it - even simple app FC can cause problems, which persists until you restore full CWM backup. Does anyone have camera FC or errors in kmsg like above?
ChronoMonochrome said:
...... The problem is that I've used dynamic fsync - now I came to conclusion that we should forget about using it - even simple app FC can cause problems, which persists until you restore full CWM backup. Does anyone have camera FC or errors in kmsg like above?
Click to expand...
Click to collapse
Yeah, exactly the same what i had said for some weeks.. it makes no sense.... kernel default is "0" Fsync ON and i've removed NT-APP Permission to make it fail-safe (for this tweak)..
usually it's no problem if we have a fresh cwm backup.. simply format /data and restore only /data .. in 99% of cases the system works normal again..
PolishVodka said:
Now some users will know why we doesn't see a full 768MB of RAM in phone info.
Click to expand...
Click to collapse
Why was clear since beginning, but i remember talk about HOW to change it you-know-where over year ago
Now this topic is extremly interesting.
Vodka, will you make SAME kernel that's used in slimkat with HWMEM=64?
I fell off my chair seeing how this rom with your kernel works, this is totally unreal, man(14760 pts in antutu at 1.1ghz - also - machine works now at 500mhz like at 800mhz before).
Outstanding! Simply outstanding! :good:
Sorry to be without any information in this post. But this news must be celebrated.
EDIT
Using 68M without any issues... Camera/Video are working fine... with incredible RAM of 647 MB :good:
fluffi444 said:
Using 68M without any issues... Camera/Video are working fine... with incredible RAM of 647 MB :good:
Click to expand...
Click to collapse
I could confirm this :good::good:
Edit:
Btw, would this work for any kernel @ChronoMonochrome? Or is it specific to yours?
Why not simply use dynamic memory allocation through CMA for all ION heaps to free up more RAM when not used by surfaceflinger, audio or other subsystems? Afaik legacy memory allocators like PMEM, CMEM, HWMEM were all deprecated when the unified memory manager (ION) was introduced in Android 4.0.
yowanvista said:
Why not simply use dynamic memory allocation through CMA for all ION heaps to free up more RAM when not used by surfaceflinger, audio or other subsystems?
Click to expand...
Click to collapse
Yep, I thought about dynamic memory allocation too. Unfortunately, with one thought it ended up. I do not have much experience in programming to do so. Too many things use HWMEM - if I'm not wrong, mali also use it. It doesn't seem to me a simple.
shaqman89 said:
Btw, would this work for any kernel @ChronoMonochrome? Or is it specific to yours?
Click to expand...
Click to collapse
There are nothing specific to my kernel. As I said, it just adds new parameters "hwmem" and "mem" to the end of cmdline(it's much simplier to don't override old parameters but just do as it done). Therefore, it should work with every kernel.
Should i flash the zip after chronokernel version 2.19 or no?
HI @ChronoMonochrome
Take a look at "[email protected] [email protected]". 72M means size of HWMEM, "@256M" - its physical address. The same is for "mem" - 55M is size of nearest RAM bank.
if i change hwmem from 72 to 70 or 71 and mem from 55 to 60 or 56 its good for ace 2
and how i change this hwmem and mem ?
thanks sorry if my english is bad
I want to test it on my Ace 2. What is most stable value for our phone? And can You tell me how-to-do-it with noob-friendly tut?
str3tch72 said:
I want to test it on my Ace 2. What is most stable value for our phone? And can You tell me how-to-do-it with noob-friendly tut?
Click to expand...
Click to collapse
A user with over 2000 post is not allowed to ask for an "noob-friendly how-to".
If you do so anyway you are just only to lazy to search or to lazy to switch brain to ON.
*just kidding (a bit)* :highfive:
Just flash complete Kernel - HWMEM changes are hardcoded in kernel...
http://xda.mister-freeze.eu/XDA-files/ChronoMonochrome/kernel/mem_repart/
chrono_kernel_R2.21.2_hwmem68.zip is the latest with HWMEM68 which gives you 640 of RAM.
But be warned - Sooner or later some apps starting to FC without any obvious reason.
@ChronoMonochrome
Good job , thnaks.
I remember , when we upgrade Android 2 to 4 , there was two partitions named param and normal , that shoud be replaced in order to increase memory from 500MB to 624 , so what was that?
Here is that thread
sorset said:
@ChronoMonochrome
Good job , thnaks.
I remember , when we upgrade Android 2 to 4 , there was two partitions named param and normal , that shoud be replaced in order to increase memory from 500MB to 624 , so what was that?
Here is that thread
Click to expand...
Click to collapse
624MEM_V2.tar.md5 replaces bootloader, but 624MEM_V1.tar.md5 doesn't... It should be interesting itself, but I haven't any idea how it can work without replacing bootloader and its cmdline.
UPD. Maybe cmdline isn't hardcoded in bootloader, but written somewhere in param.lfs.
fluffi444 said:
......
chrono_kernel_R2.21.2_hwmem68.zip is the latest with HWMEM68 which gives you 640 of RAM.
But be warned - Sooner or later some apps starting to FC without any obvious reason.
Click to expand...
Click to collapse
Right now flashed my Kernel with HWMEM=68 (646MB RAM) .. and now i just want to ask u how long i need to wait till some Apps starts to FC ?? - Of course just approxx. maybe after 1 day of usage ???
Introduction:
This modification / custom kernel configuration for Pixel and Pixel XL is optimized and made with the focus on bringing several, carefully tuned behind-the-scenes enhancements & adjustments that improves overall critically needed performance, system responsivness and battery life to the highest possible level. The seed to this project can by the way be found here, for anyone that is interested of its origins.
Note: This script is not recommended to be modified or customized by the user.
The latest release can be found here.
Disclaimer:
This is presented as "what if". If this modification screws up or breaks anything for you, I am not the one to be held responsible. It's a free will to try out this kind of changes/modifications/addons/tweaks, just don't blame the inventors for eventual bad results and/or screw-ups.
Features:
Reduced battery consumption
Device specific enhancements for best possible balance between battery life & performance
Enabled, and fully configured, Boeffla generic kernel wakelock blocker
[
Disabled a lot of useless stuff at kernel level (Improves battery life as well as performance)
CPUSet improvements & optimizations
Schedtune tweaks (Improves responsivness)
Power efficiency enhancements
Wide IO block tuning (Reduces the possibility of hiccups, lags and overhead)
Possibly other miscellaneous things I've forgotten to write down here, both big and small.
Requirements/what you need for getting this script fully working:
An unlocked bootloader
Your own specific choice of kernel
Latest Magisk
Busybox for Android NDK Magisk Module by @osm0sis
Patience
Installation/How-To use & abuse:
1) Download the attached ZIP
2) Extract the script
3) Move the script to the following location;
/data/adb/service.d and give the script the following permissions (0755)
4) Reboot your phone, let Android boot to the launcher and let Magisk boot service do its crucial magic (takes a few seconds before the scripts is fully up and running around behind the scenes)
5) Enjoy!
Note: If you still are unsure how to do for making my kernel configuration / modification work & be up and running behind the scenes, then please read @Phalanx7621 phenomenal guide here or check out @Phalanx7621 in-depth video here. The installation method is the same for both the first generation as well as the second generation of Pixels!
Credits:
@nathanchance for his contributions with his Flash Kernel
@franciscofranco for all the information on which kernel wakelocks that is safe to block
@Phalanx7621 for his phenomenal how-to guide
@Lord Boeffla for his awesome generic kernel wakelock blocker
@pkgnex for inspiring me walking into this partially unknown territory from the beginning
@flar2 for his excellent EXKM application and ElementalX Kernel
@osm0sis for his Magisk Busybox module
Everyone that I've forgotten to mention here
Telegram:
If you want to try out betas / previews of my script before they are officially released, or just hangout and chat a little, then join the official Telegram group here
To-Do list:
Optimize and properly tune things even further for best possible balance between battery life, system responsivness and performance
Contributors:
@xFirefly93
Created: 2018-10-08
Last updated: 2019-01-04
Been following your thread over in the Pixel 2 XL forum, nice to have you here
Edit: sorry for stealing the first post btw hehe
EDIT: My changelog dedicated post have exceeded 30000 characters, so I have decided that the changelog will only be included in the respective update posts from now on!
So you all know how the situation is.
shagbag913 said:
Been following your thread over in the Pixel 2 XL forum, nice to have you here
Click to expand...
Click to collapse
I'll do whatever I can on the first generation Pixels for giving you guys & girls the same awesome experience.
And thanks btw.
:highfive:
Update!
v1.1 (Minor release)
- Made a few more (hopefully) battery conserving adjustments to the Sched governor.
Enjoy!
There is no .core folder inside /sbin, do we have to create it ? Edit: reboot solved. Couldn't see it.
Got it installed and I'm thinking it's working. Does the script turn off Core Control ? Just noticed it's off in Ex Kernel Manager , is this by design ?
Core control screenshot
Phalanx7621 said:
There is no .core folder inside /sbin, do we have to create it ? Edit: reboot solved. Couldn't see it.
Got it installed and I'm thinking it's working. Does the script turn off Core Control ? Just noticed it's off in Ex Kernel Manager , is this by design ?
Click to expand...
Click to collapse
Hm, I have not touched the specific tunable that is controlling Core Control.. Maybe it is disabled because of my Sched CPU governor tweak.
Phalanx7621 said:
Core control screenshot
Click to expand...
Click to collapse
xFirefly93 said:
Hm, I have not touched the specific tunable that is controlling Core Control.. Maybe it is disabled because of my Sched CPU governor tweak.
Click to expand...
Click to collapse
I can confirm that the same happens to me.
Thanks for the work!
Phalanx7621 said:
Core control screenshot
Click to expand...
Click to collapse
Old Man Dave said:
I can confirm that the same happens to me.
Thanks for the work!
Click to expand...
Click to collapse
I'll take a look into it later today.
EDIT: Oh snap, I forgot that I have disabled the Core Control tunable in my script. My bad, sorry.
Do you guys want to have it enabled or disabled btw?
xFirefly93 said:
I'll take a look into it later today.
EDIT: Oh snap, I forgot that I have disabled the Core Control tunable in my script. My bad, sorry.
Do you guys want to have it enabled or disabled btw?
Click to expand...
Click to collapse
I mean I'm only concerned with battery life. If you get better battery life with it off, I'm down with that for sure.
Phalanx7621 said:
I mean I'm only concerned with battery life. If you get better battery life with it off, I'm down with that for sure.
Click to expand...
Click to collapse
I will compare how my Marlin / Pixel XL performs with it disabled respectively enabled and see which "solution" that is giving best battery life with less performance tradeoffs, and then I will include the best overall compromise in v1.2 of my kernel configuration / script.
For anyone else interested in this, this is how I went about it:
1) Downloaded Flash Kernel from his thread over here https://forum.xda-developers.com/pixel-xl/development/marlin-flash-kernel-1-00-t3788300
2) Downloaded the latest version of this mod
3) Downloaded the Magisk module required, which you can find by searching Magisk for "busybox" and choosing the "Busybox for android NDK" version
4) Flash that Magisk module, reboot into recovery, flash the Flash kernel (no need to reflash magisk, it's automatic), reboot back into system.
5) Check to make sure Magisk is functioning properly, for me I had to reboot due to an error in the application but that may have been on my end.
6) So now you have Flash kernel and the Magisk module required to be able to properly run this script. Extract the script from the .zip file you downloaded to a folder.
7) Ok so these next steps if you aren't familiar with this stuff could be tricky, but it's actually simple it just sounds tricky. I use Mixplorer for this, I highly suggest using it, it's free and it's on XDA Labs here. https://labs.xda-developers.com/store/app/com.mixplorer But any file explorer w/ root access will do. Inside the folder you extracted the script into there are two versions, choose the Public Release version and copy that file. Navigate to root ( / ) and go to /data/media/0 and paste the file there. The reason for this is you have to change the permissions to allow it to be an executable script and this folder allows that. (there are other ways to do this, FYI but this works just fine for me) You want the permissions to be 755, so it would look like this: (see attachment) To change permissions in Mixplorer, just long press the file and hit the little i (for information) in the upper right. Then click on the permissions you want to change.
8) Now all you have to do is copy that file you just changed the permissions to and paste it into: /sbin/.core/img/.core/service.d | | Now you won't be able to SEE .core unless you have hidden files on, in Magisk it's in the upper right hand corner 3 dot menu. Click Show Hidden. After you paste the file there, reboot and congratulations, you have achieved greatness.
Phalanx7621 said:
.. FYI..
Click to expand...
Click to collapse
Thanks a lot for the in-depth guide! I added your guide to the OP both in this thread and over at my Pixel 2 (XL) thread!
:highfive:
xFirefly93 said:
Thanks a lot for the in-depth guide! I added your guide to the OP both in this thread and over at my Pixel 2 (XL) thread!
:highfive:
Click to expand...
Click to collapse
Oh ok cool, just wanted anybody else to be able to use this awesome mod too, it works wonderfully!
I miss this path on my pixel: /sbin/.core/img/.core/service.d
i'm on last LOS 16.0
moyses said:
I miss this path on my pixel: /sbin/.core/img/.core/service.d
i'm on last LOS 16.0
Click to expand...
Click to collapse
It's there.... I'm on the same rom. You need to start at root and not device storage, as well as show hidden folders
moyses said:
I miss this path on my pixel: /sbin/.core/img/.core/service.d
i'm on last LOS 16.0
Click to expand...
Click to collapse
Use X-plore file manager adn give Root permissions and in settings Show hidden files or folders something.
Update!
v1.2 (Minor release)
- Optimized Sched governor for best balance between performance & battery life
- Reverted pm_freeze_timeout to stock settings
- Raised dirty_ratio to 30
- Some minor script based clean-ups here and there
Enjoy!
xFirefly93 said:
Update!
v1.2 (Minor release)
- Optimized Sched governor for best balance between performance & battery life
- Reverted pm_freeze_timeout to stock settings
- Raised dirty_ratio to 30
- Some minor script based clean-ups here and there
Enjoy!
Click to expand...
Click to collapse
Hi, which release from Public and Maintenance we have to use. Thank you for your hard work.