[KERNEL] [N7] [4.4.4][3.4.95][CC4.9][FLO/DEB][AOSP/CM] [29/06] [v.109] - AK - Nexus 7 (2013) Original Android Development

AK KERNELS
POSEIDON SERIES
[FLO/DEB] [CM/CAF] [4.4.4]
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Official SIte:
ak.hiddenbytes.org
I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience.
[4.4.4 - KERNEL v.109]
A kernel based on CAF CM branch.
aosp: AK.109.POSEIDON.FLO
cm: AK.109.POSEIDON.FLO.CM
[INSTALL STEP-BY-STEP]
- go to recovery
- flash stock kernel of your rom
- flash ak kernel
- flash last UKM
- reboot
- install synapse
- enjoy ak and synapse kernel control
- finish
Thanks a lot
to all devs on xda​

Featues
[SYNAPSE FOR AK KERNEL CONTROL]
Universal Kernel Manager (UKM) is:
Dynamic scripting and control designed and developed for Synapse app.
I have to thank you @apb_axel from the heart for the fantastic support and for the nice words expense.
Xda Link
Synapse is:
Dynamic ConfigBuilder type utility for ROMs and Kernels.
by @AndreiLux
GooglePlay Link
Thanks:
@AndreiLux
@Nephilim
@wisefreakz
@Grarak
@aosp
@osm0sis
@metalspring
@Hetalk
@apb_axel
[POSEIDON KERNEL SERIES]
Base:
compiled with Linaro/Christopher83 - 4.9.x A15 Optimized (Link)
-O3 (Link)
Krait Optimized (Link)
merged with last caf (Link)
merged with last cyanogen (Link)
merged with last common (Link)
linux 3.4.92+ (Link)
ccache support (Link)
4.4.3 android
Latest Cyanogen source
Gpu:
ondemand governor
performance governor
conservative policy
voltage control interface
gpu 487Mhz
Cpu: (Link)
neon and vfp optimized (Link)
min 81Mhz to max 1728Mhz - freqs range
voltage control interface
vdd boost disabled (-25mv by default for all frequencies)
multicore power saving support
cpu boost drivers support
Governors: (Link)
ondemand (semaphore version)
stockdemand (caf version)
interactive
performance
conservative
smartmax
Schedulers: (Link)
bfq v7r4 (Link)
cfq
noop
deadline
row
fiops
sio
tripndroid
Os Support:
ext4
f2fs
Net:
westwood (Link)
codel (Link)
Hotplug:
msm_hotplug drivers by @myfluxi
Thermal:
msm_thermal drivers by @myfluxi
2wake:
touchwake
2wake
Others:
init.d support
lmk settable with whitelist for non killable applications
quad core stats
ksm
sysfs API support for verify Wake up reason (link)
audit disabled
crc check disabled
optimized random
optimized slub allocator
aptimed arm rwsem
touchfilter sysfs
led control
cif support
zram
scheduler autogroup
gnu lib for memcpy and memmove
stock voltages
otg
kexec
gamma
sound
blx
fcharge
fsync
touch filter
voltage control
arch power enabled
debug and log super slim
sysfs for on/off gentle fair sleepers
crypto and sha optimized routine
optimized square root algo
optimized readahead code

Faq
Q: How i can set custom settings via sysfs?
thanks to
@tk-glitch
@flar2
@faux123
Code:
[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## cpu type[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] cat sys/kernel/debug/acpuclk/pvs_bin[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] cat sys/kernel/debug/acpuclk/speed_bin[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## color temperature[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo "red green blue" > /sys/devices/platform/mdp.458753/kcal[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = min[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 255 = max[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## fastcharge[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/kernel/fast_charge/force_fast_charge[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = enabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## s2w[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/sweep2wake[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = sweep2wake/sweep2sleep[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 2 = sweep2sleep only[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## short sweep[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/shortsweep[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = enabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## s2w/dt2w orientation[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/orientation[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = landscape mode[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 2 = portrait[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## dt2w[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/doubletap2wake[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = enabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## s2w/dt2w power key toggle[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/pwrkey_suspend[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = enabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## s2w/dt2w magnetic cover toggle[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/android_touch/lid_suspend[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 0 = disabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] 1 = enabled[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] [/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] ## magnetic cover[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2] echo ? > /sys/module/lid/parameters/enable_lid[/SIZE][/FONT]
[FONT=Century Gothic][SIZE=2]
​

Extras
VIDEO REVIEW AK NEXUS 4
Thanks a lot:
outofbit.it
VIDEO REVIEW AK GALAXY NEXUS
Thanks a lot:
batista70phone.it
SCREEN EDGE FIX APP
Screen edge fix with s2w/s2s/dt2w - Link
Thanks a lot:
@maxver0​

First!!!!!!!!!!!!!!!
Welcome ak, good to finally see you here I am looking forward to this
Thanks, 010 has been running all day very well

Finally, thanks for this!
Sent from my Nexus 7 using Tapatalk

poondog said:
First!!!!!!!!!!!!!!!
Welcome ak, good to finally see you here I am looking forward to this
Thanks, 010 has been running all day very well
Click to expand...
Click to collapse
Thanks .. its time for n7.

Wow, nice to see you here. I was using your kernel when I had GNex and was awesome. Hope N7 version will be awesome as GNex

Wow! Welcome!
Sent from my Nexus 5 using Tapatalk

This kernel works perfectly with CM11. Thanks again!
Sent from my Nexus 5 using Tapatalk

So you made the thread time to jump from Glitch Kernel
Sent from my Nexus 7 using Tapatalk

djdarkknight96 said:
This kernel works perfectly with CM11. Thanks again!
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Thanks a lot I'm using your theming app from old galaxy age
Sent from my Nexus 4 using Tapatalk

ak said:
Thanks a lot I'm using your theming app from old galaxy age
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
Oh sweet, I'm definitely going to spread the word about this great kernel. Exactly what I've been looking for.
Sent from my Nexus 5 using Tapatalk

N7 users. you are lucky guys, enjoy this amazing kernel from amazing dev

do i need to do anything else before flashing this on mine?
currently have CleanROM with Glitch AOSP
would like to try this out and if possible, easily go back to Glitch (just in case)...
thanks

melander said:
do i need to do anything else before flashing this on mine?
currently have CleanROM with Glitch AOSP
would like to try this out and if possible, easily go back to Glitch (just in case)...
thanks
Click to expand...
Click to collapse
Flash stock kernel before. I'm using anykernel format. You can switch without problems,
AK&4&7

Nice! Ran your kernels on gnex and they were the best. Huge treat for everyone.
Sent from my Nexus 7 using Tapatalk

This kernel rocks on mako! Is it for deb as well?
Sent from my Nexus 7 using Tapatalk

cpanos said:
This kernel rocks on mako! Is it for deb as well?
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
yes

seems to be snappier than glitch. well done

Related

[Kernel][3.0.31][JB] RoXSel Kernel v2 (Touch) [08/09/2013]

RoXSel Kernel for GT-I8160 aka Codina aka Ace 2
Team: Roxsel (Rox and jereksel)
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.​
What is needed:
Samsung GT-I8160 (Jellybean)
Custom, non stock based ROM (CM, P.A.C, Slim, RootBox, LiquidSmooth...)
Some Android experience
Features:
zram: zRAM supports for android
swap: swap supports
fs: CIFS module
fs: Fsync control [Cocafe]
fs: exfat-nofuse [Dorimanx]
fs/aio: Asynchronous io performance improved
arm: ThumbEE
arm/vfp: Build with neon
arm/crypto: ARM AES and SHA-1 crypto implementation
abb-Regulator: VOTG power supply
abb-Chargalg: Real charged notification
abb-Charger: Charger control
lib: Optimzed CRC32 algorithm [ezekeel]
lib: GNU C version memcpy & string
mmc: spi CRC configurable [Cocafe]
mali: Utilization control
mali: MALI TWEAK[Cocafe]
mali: PM sampling rate tweakable [Cocafe]
kernel: LZO compression
snvet: Reduce the waketime 6s -> 1s
sched: Disable sched debug stuff
debug: Remove Samsung debug code [Adi_Pat]
debug: Android logger as module (free 4mb RAM)
st-mmio: Highlight mode for rear LED flash [Cocafe]
bcmdhd: PM_FAST by default
bcmdhd: Reenable ipv6 and disable multicast in suspend [Andrew Dodd]
random: Entropy tweaks [dorimanx]
random: Frandom module support
staging: Add Snappy and lz4 compression
staging: Lowmemorykiller tweaked
cpufreq: 14 available CPU governors
[*]block: 8 IO schedulers
ramdisk: Init.d scripts
ramdisk: LZO compression
ramdisk: ClockworkMod Recovery 6.0.3.4 [CyanogenMod]
ramdisk: ClockworkMod Touch Recovery 6.0.3.2 [SlimBean]
toolchain: Linaro GCC 4.7
More details in changelog and Github repo
Installation:
Download RoXSel_Kernel_vX.zip
Boot into recovery
Wipe Cache ( Highly Recommended )
Flash RoXSel_Kernel_vX
Reboot
Enjoy !
Downloads:
RoXSel Kernel v2
RoXSel Kernel v2 - CWM Touch
RoXSel Kernel v2 (4.1.2 Roms)
RoXSel Kernel v2 (4.1.2 Roms) - CWM Touch
Sources:
Credits:
dh.harald for kernel source
hafidzduddin, cocafe and Adi_Pat for tweaking source
If i forgot someone contact me
How to play with kernel
Here are some intructions/tips about how to play with the kernel.
Terminal is needed.
If you want to change the values,it needs su permission.
If you get 'Permisson denied',you need su permisson.
If the devices lost responses,hold power button 8s to reboot.
Simply,You can cd to the folder first,then do echos.
Then `???` stands for the number to input
Boot time
RoXSel boots faster than stock normally.
4.2.2
Code:
Stock: 8600ms - 8800ms
RoXSel: 8400ms - 8600ms
Report other versions !!
How to check boottime?
Code:
cat /d/boottime/summary
CPU Governors
OndemandQ ( Default )
Ondemand
Performance
Hotplug
SmartAss2
Lionhearth
Lulzativeq
Powersave
Intellidemand
Lagfree
Lazy
Interactive
Conservetive
Userspace
* Personaly,I use OnDemand(Q)
* OndemandQ is a new governor. It will hotplug cpu when screen turns off only.
* If you mind the battery life time,choose HotPlug. It hotplugs cpu frequently.
* LulzactiveQ, it will hotplug cpus
CPU Freqs
On JB,we cannot tweak min/max scale freqs via apps like SetCPU.
Here is the method.
Code:
cd /sys/power
For example: set 400Mhz as max limited
Code:
echo 400000 > cpufreq_max_limit
* When you switch on/off power saving mode, this tweak will be overrided.
IO schedulers
Noop ( Default )
Deadline
Cfq
Bfq
Row
Zen
Sio
Vr
* Personally, i use Zen
Frandom Module
Use CrossBeeder to enable frandom.
Deepest sleep state
Stock: 3 Default: 3
Deepest supported is 5.
To change:
Code:
echo 5 > /d/cpuidle/deepest_state
* PegasusQ ( hotplug governors ) works badly with 5
* OnDemand works well with 5
* Please note that it wont increase the using time but standby time.
To check the cpuidle state:
Code:
cat /d/cpuidle/stats
USB VBus
( v2+ )
This can enable the internal vbus power supply for usb devices.
But the phone still cannot recognize our usb devices now.
You can use it for fun,like charging for other devices, using usb fan...
To enable :
Code:
cd /sys/kernel/abb-regu
echo 1 > VOTG
* Say 0 to VOTG to disable
* Plug yoru cable first,then enable it
zRAM
zRAM is optimized for Android.
It is not lazy anymore.
Using zRAM will take a little CPU,because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM,about 100mb
Setup disksize first: (example: 96mb= 96×1024×1024)
Code:
echo 100663296 > /sys/block/zram0/disksize
* Larger size more RAM will be compressed.
* Too large size might make phone lag
Enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
Code:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
* You can get other info in its sysfs
Swap
Format/resize your SdCard via computer first.
Enable:
Code:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Init.d script
Put some scripts (any name you like) in init.d folder with permisson 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permisson will be runned when system boots.
Charger control
Please note that this control can damage your battery/phone.
If your battery/phone damaged,read the top of #1 post.
Lower current makes the charging longer,but protects battery.
Too high current can burn your battery!
I recommend you that dont set the max limited current over 900mA.
AC Maximum current: (stock: 600 , min: 0 , max: 900) mA
Code:
echo ??? > /sys/kernel/abb-charger/max_ac_c
USB Maximum current: (stock: 600 , min: 0 , max: 900) mA
Code:
echo ??? > /sys/kernel/abb-charger/max_usb_c
* The control only accepts values like 0, 100, 200 ...
* Set usb current to 0,the phone wont charge in usb port,but transmits data.
Track driver memory [advanced] :
Code:
cat /sys/kernel/abb-charger/stats
To get the charging current:
When you plug charger:
Code:
dmesg | grep -i ab8500-charger
Real charged notification
To be honest,it needs to check manually.
Code:
cat /sys/module/abb_chargalg/parameters/eoc_status
* You can use Rootexplorer to view this file.
* When it says "First full charging reached",then the UI should show you charged 100%
But it is not the real full charged.
* When it says it is the real full charged,you can unplug the charger.
* When you are charging and do a reboot will reset the counter.
* According to my experiments,it needs 1-2 hours to charge to real full.
MMC SIP CRC
( v2+ )
Disabling SPI CRC can improve mmc performance (10% ~ 30%)
But phone may freeze randomly
Code:
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Camera LED Flash
( v2+ )
HIghlight mode for assistive light, enabling this for a long time will heat up your device, be careful!
Enable:
Code:
echo 1 > /sys/class/camera/flash/highlight
Disable:
Code:
echo 0 > /sys/class/camera/flash/highlight
Fsync Control
Get current status:
Code:
cat /sys/kernel/fsync/mode
FSYNC modes:
Code:
0: fsync on
1: fsync off
2: fsync dyn
Disable FSYNC:
Code:
echo 1 > /sys/kernel/fsync/mode
* Disabling fsync can improve io performace,
but it can make the data which hasnt been written lose when a sudden poweroff comes.
* Disabling fsync or enabling dyn_fsync will make param driver fail to store data
That means your "reboot recovery" will fail.
Enable Dynamic FSYNC:
Code:
echo 2 > /sys/kernel/fsync/mode
* Dynamic fsync will sync all buffers when screen turns off,
* If there is a heavy io load,the screen might get stuck for seconds.
* This is an experimental feature.
Mali GPU
Mali debug level
Disabling can speed up a bit
Code:
echo 0 > /sys/module/mali/parameters/mali_debug_level
* Higher level,more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_reads
* Some values will slow down graphics
* If not sure,keep default
Mali PM sampling rate: (Default: 1000ms)
Code:
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Mali PP scheduler tweaks: (Default: disable)
Code:
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
* Enabling this,Some places will over ahead,choose by your self
Mali Utilization sampling rate: (Stock:500ms,Default:1000ms)
How often report a mali utilization.
Code:
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
* Keep this default if unsure.
Mali Utilization control
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high ,driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low ,the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
To check mali utilization values:
Code:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
When it says SIGNAL_HIGH,it will request highest OPP.
When it says SIGNAL_LOW,it will request lowest OPP.
Press Ctrl+C to stop printing.
You can reduce low_to_high to trigger higher OPP requirement.
For smoothness and less powersaving:
Set low_to_high between 100-192.
Code:
echo 120 > mali_utilization_low_to_high
Mali max preemptive allocated max memory size:
Default is 16mb(16*1024*1024), bigger max size more throughput.
But when this value is too big, no more throughput.
For example: 48mb = 48*1024*1024
Code:
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Code:
0 0 android
0 1 mali
To
Code:
0 0 mali
Then remove libGLES_android.so
* Recommend to backup these files
* According to my feelings: after disabling sw egl driver,UI is faster
Logcat
Well,we have made android logger(logcat) as module to free more RAM.
Some guys request logcat.
Now we provide you a workaround:
Create a new init.d script:
Code:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
or
Flash this ZIP
Then you can use logcat command.
Almost tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts to apply them when boots.
Bugs and Changelogs
Bugs :
LPM charging (Not on stock)
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 3 (XX/XX/XXXX) :
| Stock version ( Touch ) | | 4.2.2 Version ( Touch ) | | CM 10 version ( Touch ) | | MIUI version ( Touch ) |
Kernel version updated 3.0.31 - > 3.0.96
vmscan: vm_swappiness = 60 -> 20
snd_usb: fix sysfs conflicts [Cocafe]
bcmdhd: wifi signal values patch
power: stop printing noise [Cocafe]
sched: Enable arch power
mm: VM Tweaks [Adi_Pat]
fs: Reduce vfs_cache_pressure to 20 [Adi_Pat]
debug: Disable Frame pointer [Adi_Pat]
defconfig: Enable CLEANCACHE
Added support for MIUI
Added support for STOCK ~ HOT
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 2 (08/09/2013) :
| 4.2.2 version ( Touch ) | | CM 10 version ( Touch ) |
ramdisk: LZO compression
kernel: LZO compression
mali: pre-allocated os memory size 24mb -> 16mb
st-mmio: Highlight mode for rear LED flash [Cocafe]
bcmdhd: Reenable ipv6 and disable multicast in suspend [Andrew Dodd]
sched: Disable arch power
arm/crypto: ARM AES and SHA-1 crypto implementation
fs: exfat-nofuse [Dorimanx]
drivers/mmc: spi CRC configurable [Cocafe]
abb-Regulator: VOTG power supply
toolchain: Linaro GCC 4.7
partialy fix LPM charging
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 1 (29/08/2013) :
| 4.2.2 version ( Touch ) | | CM 10 version Touch |
Initial Release
Added CWM Touch version (04/09/2013)
Added CM 10 CWM Touch version (04/09/2013)
-------------------------------------------------------------------------------------------------------------------------------
Note:
I/O schedulers cant be changed in stock performance app that comes with most ROMS.
Use 3rd party app instead ( SetCPU, No-Frills... )
What are these an do I need it I'm running rootbox
Sent from my GT-I8160 using xda app-developers app
Faster with CM10 than CM10 with his stock kernel?
EDIT:
OP: @Rox = Roberthinio??
Ok IDK nothing about kernel. I use CM10 from @dh.harald. If i use this kernel, the performance will increase? And i use mod vold.fstab from MIUI beta rom, will it causing complication when i flash this kernel? Or i should flash this kernel with fresh CM10?
Thanks in advance, congratulations for the elaboration
good job :fingers-crossed:
Thank you guys. I'll give a try on slim bean.
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
What is needed:
Samsung GT-I8160 (Jellybean)
AOSP ROM (CM, P.A.C, Slim, RootBox, LiquidSmooth...)
Some Android experience
This is confusing, does it run on stock JB roms? Or is intended olnly fir custom roms?
Sent from my Nivo using Tapatalk 4
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
Read the requirements, lucky you don't hardbrick your SGA2 :')
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
read what is needed before you flash. to boot phone flash kernel.bin.md5 from one of firmwares using odin
Not needed I had cwm backup of my rom and just restored stock kernel phone booted ok. Please modify first post and specify that this kernel is compatibile ONLY with custom roms.
This phrase at the begining can make people mistake:
``Samsung GT-I8160 (Jellybean)``
Sent from my GT-I8160 using Tapatalk 4
Any bugs?
Sent from my GT-I8160 using xda premium
myhayserano said:
Not needed I had cwm backup of my rom and just restored stock kernel phone booted ok. Please modify first post and specify that this kernel is compatibile ONLY with custom roms.
This phrase at the begining can make people mistake:
``Samsung GT-I8160 (Jellybean)``
Sent from my GT-I8160 using Tapatalk 4
Click to expand...
Click to collapse
Read all phases and everything will be cleared out...
@up no bugs except that you have to use 3rd party app to change i/o scheduler ( you cant change inside settings-performance, dont kniw why. Some app bug)
I will ad more info later on 2 nd post i am not at home
Sent from my GT-I8160
Don't mean to sound like a noob but is it safe to use on top of tweaks such as Project Injection?
Yes. Also if you use crosbreeder you can enable frandom
Sent from my GT-I8160
Rox said:
Yes. Also if you use crosbreeder you can enable frandom
Sent from my GT-I8160
Click to expand...
Click to collapse
Thanks for the quick reply. I'll be pairing up this kernel with LiquidSmooth as soon as call volume is fixed. :good:
I'm trying now. This is ****** handsome! You put hotplug governor, my battery say tahnks to you
Maybe one little bug: on powersave frequency doesnt remain at 200mhz. And if i set frequency min 200 MHz - max 400mhz the 800mhz step continue to work, eventi if i choose userspace.
I'll try with no CPU frills.
Good work mate!

[KERNEL][3.0.101] BraveKernel Refresh for KitKat

BRAVEKERNEL REFRESH​
Here we go with something (re)fresh, this is the thread of a customized kernel for KitKat ROMs (CM11, AOSX, SlimKat...) with some extra features added.
As always, feedback is welcome and highly valuable
Please if a bug is already reported do not spam the thread reporting it again, and use XDA DevDB tools for posting features requests and bug reports if it's possible :good:
Main features are these:
- Based in 6.2.A.1.100 source code
- Built with Linaro Toolchain 4.9.3 optimized for Cortex A9
- TWRP 2.8.4.0
- FRandom support
- Improvement in I/O latency
- Interactive governor updated to 3.4
- VFP optimizations
- PowerOn Key emulator
- ABBamp Sound Control v2.5.0
- Mali tweaks and controllers
- Governors and I/O schedulers parameters tweaked
- Cycle Charging control
- Real end-of-charge notification
- FSync control (combined dynamic fsync control)
- Voltage OTG control
- Added extra free kbytes tunable
- Swap and zRAM support
- Disabled dynamic debug
- Tweaked readahead size
- More choices of TCP congestions
- Proportional Rate Reduction for TCP
- Fix for scaling of minimum frequency problem
- Built with optimized -O3 & Neon flags
- SLUB memory allocator
- Ramdisk and kernel compressed with LZO
Available CPU governors:
- Powersave
- Userspace
- OnDemand
- Interactive (default)
- InteractiveQ
- Conservative
- OnDemandQ
- PegasusQ
- LulzActiveQ
- AbyssPlug
- HotPlug
- PegasusQPlus
- SmartAssv2
Available I/O schedulers:
- No-op
- Deadline
- CFQ
- ROW
- BFQ
- SIO
- ZEN
- V(R)
- SIO-Plus (default)
Kernel Downloads for KitKat:
BraveKernel Refresh KK-4.4 HubDroid Folder
- v1.3 -
for CM 11.0, AOSX, SlimKat...​
How to install the kernel:
1) Download the kernel zip file to SD card
2) Reboot to recovery
3) Flash the kernel zip file
4) Wipe cache and dalvik cache if you are coming from another kernel
5) Reboot the system
Kernel Manager APP
If you prefer to use a simpler way for installing the kernel you can use this app, it allows you to make a backup of your current kernel and it also displays OTA updates of this kernel, really recommended :good:
Kernel sources (on GitHub):
Development repository of BraveKernel 3.0.101 for KK 4.4
​
Changelog:
Code:
[B]08/02/2015 - BraveKernel Refresh v1.3 for KitKat[/B]
- Fixed random reboots
- Added minfree tweak in crontab
- Enabled JRCU
- Disabled management of not killable processes
[B]01/02/2015 - BraveKernel Refresh v1.2 for KitKat[/B]
- Tweaked adj and minfree values in init.d
- Added memory tweak in crontab
- Disabled JRCU
- Tweaked read_ahead_kb values
[B]25/01/2015 - BraveKernel Refresh v1.1 for KitKat[/B]
- Added F2FS support
- Fixed network arrows and speed information
- Fixed root and storage issues
- Added recovery in FOTA partition support
- Added kexec hardboot support
- Added 3 extra MB of usable RAM
- Added dynamic management of dirty page writebacks
- Added Ultra KSM
- Added entropy tweaks
- Updated BFQ scheduler
- Updated Linaro toolchain
- Improved LZO decompression
- Tweaked LMK
- Improved network speed
- Improved CPU performance
- Improved EXT4 speed
- Improved power management
- Tweaked memory management values
- Enabled clean cache
- Enabled JRCU
[B]21/12/2014 - BraveKernel Refresh v1.0 for KitKat[/B]
- Initial release
Credits and thanks to:
munjeni and cocafe for their awesome work and their kernel sources
AGONTUK for TWRP recovery
CyanogenMod, Kernel.org, Sony, Google, Linaro GCC developers
All my testers
​
XDA:DevDB Information
BraveKernel Refresh, Kernel for the Sony Xperia U
Contributors
Garcia98
Kernel Special Features: Customized kernel 3.0.101 for KK 4.4.x ROM
Version Information
Status: Stable
Current Stable Version: v1.3
Stable Release Date: 2015-02-08
Created 2014-12-24
Last Updated 2015-02-08
Reserved
HOW TOs
HOW TO PLAY WITH THIS KERNEL
Terminal emulator or ADB shell is needed.
If any command outputs 'Permission denied', you need su permission.
`???` stands for the number to input.
Change recovery:
To change your recovery:
1.- Open ADB shell or terminal emulator
2.- Download recovery.img
3.- Run:
Code:
su
dd if=recovery.img of=/dev/block/mmcblk0p13
4.- Reboot to recovery
F2FS:
To enable F2FS:
1) Reboot into recovery
2) Touch Wipe option > Advanced Wipe
3) Select the partition you want to convert to F2FS (Data or Cache)
4) Select Repair or Change File System option
5) Touch Change File System and then select F2FS
Boot time:
To check boot time:
Code:
cat /sys/boottime/kernel
CPU governors:
Performance, Interactive (default), Powersave, Userspace, Conservative, InteractiveQ, PegasusQ, HotPlug, OnDemandQ, OnDemand, AbyssPlug, LulzactiveQ, SmartAssv2
- OnDemand has been patched with cpu idle detection.
- Most of custom governors are based on ondemand/interactive.
- OndemandQ/InteractiveQ will hotplug cpu when screen turns off only.
- If you care about the battery life time, choose HotPlug. It hotplugs cpu frequently.
- Interactive updated to linux-android-3.4 (recommended).
- LulzactiveQ, will hotplug CPU1.
I/O schedulers:
SIO, SIO-Plus, VR, BFQ, CFQ, NO-OP, ZEN, ROW, Deadline
- Default IO scheduler: SIO-Plus
- SIO/ROW/SIO-Plus recommended!
FRandom module:
Code:
insmod /lib/modules/frandom.ko
chmod 0666 /dev/frandom
chmod 0666 /dev/erandom
mv /dev/random /dev/random.orig
mv /dev/urandom /dev/urandom.orig
ln -s /dev/frandom /dev/random
ln -s /dev/frandom /dev/urandom
Deepest sleep state:
Stock: 3 Default: 3
Deepest supported is 5.
To change deepest sleep state:
Code:
echo 5 > /d/cpuidle/deepest_state
- HotPlug governors works badly with 5.
- OnDemand works well with 5.
- Please note that it won’t increase the using time but standby time.
- You can add an init.d script to tweak it if you want.
To check the cpuidle state:
Code:
cat /d/cpuidle/stats
zRAM:
zRAM is optimized for Android. It is not lazy anymore. Recommended zRAM instead of SWAP.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100MB.
Setup disk size first: (example: 200MB)
Code:
echo $((200 * 1024 * 1024)) > /sys/block/zram0/disksize
- Larger size more RAM will be compressed.
- Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
Code:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
- We can get other info in its sysfs
Swap:
Using a file as swap RAM: (Create a continuity file first)
Code:
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Then we will have 80MB of swap RAM.
Cycle Charging Control:
Similar to BLX by Ezekeel. It can be used to limit the battery charging level.
Example: Limit the battery level at 70% ~ 75%
Enable:
Code:
echo on > /sys/kernel/abb-fg/fg_cyc
Disable:
Code:
echo off > /sys/kernel/abb-fg/fg_cyc
Discharging threshold (battery level %):
Code:
echo dischar=75 > /sys/kernel/abb-fg/fg_cyc
Recharging threshold:
Code:
echo dischar=70 > /sys/kernel/abb-fg/fg_cyc
Real charged notification:
Well, please let me call it notification.
To be honest, it needs to check manually:
Code:
cat /sys/kernel/abb-chargalg/eoc_status
- You can use Root Browser to view these files in /sys/kernel/abb-chargalg
- When it says "First eoc reached", then the UI should show you charged 100%, but it is not the real full charged.
- When it says the real EOC reached, unplug the charger.
POnKey Emulator:
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
Code:
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
Code:
echo 800 > /sys/kernel/abb-ponkey/emulator
ABBamp Audio:
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why is it called `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
/sys/kernel/abb-codec
- Use Root Browser to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View (cat) these files, most of them will give you useful information about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abb-codec first then do echos, will be more convenient.
AnaGain3 (Headset analog gain path):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/anagain3
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/anagain3
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
Code:
echo left=?? > /sys/kernel/abb-codec/anagain3
echo right=?? > /sys/kernel/abb-codec/anagain3
Write both left and right channels:
Code:
echo gain=?? > /sys/kernel/abb-codec/anagain3
HsLDigGain (Headset left digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsldiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsldiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsldiggain
HsRDigGain (Headset right digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsrdiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsrdiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsrdiggain
Headset Volume Table:
value | volume
0.......+8dB (maximum)
1.......+7dB
2.......+6dB
3.......+5dB
4.......+4dB (tweaks default)
5.......+3dB
6.......+2dB
7.......+1dB
8.......+0dB (device default)
>=9....mute
- If set up digital path +4dB, analog gain +4dB, the result will get over +8dB
HsLowPow (Headset driver low power mode):
This lowpow mode is enabled by device normally.
If you want high performance audio instead of LPA(low power audio) you can disable it.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hslowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hslowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hslowpow
HsDacLowPow (Headset DAC low power mode):
DAC is Digital-to-Analong Converter.
This lowpow mode is enabled by device normally.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsdaclowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsdaclowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hsdaclowpow
HsHpEn (Headset high pass filter):
This high pass filter is disabled by device normally.
Enable this can reduce some sub-noise of audio.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hshpen
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hshpen
To tweak the mode (0: disable highpass filter, 1: enable highpass filter)
Code:
echo mode=? > /sys/kernel/abb-codec/hshepen
Besides, the file anaconf1 will shows you the status of LPA
ClassDHPG (ClassD high-pass gain):
ClassD is a kind of amplifier.
According to the documents, our ClassD only relate to Handsfree(speaker).
This can increase the high frequencies sound of speaker
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdhpg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdhgp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdhpg
ClassDDithWGain:
Gain control for the white component of dithering filter
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdwg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdwp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
ADDigGain2:
This is the audio path of mic2(phone mic, not headset mic)
This tweak will enable automatically when mic2 is enabled by device
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/addiggain2
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/addiggain2
Gain control: (min:0 ,max: 63) lower value, higher gain (default: [+6dB], max: 00[+31dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/addiggain2
EarDigGain:
This is the digital gain of earpiece
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/eardiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/eardiggain
Gain control: (min:0 ,max: 15) lower value,higher gain (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
- It uses the same path of HsLDigGain,please check the volume table of HsLDigGain
- +8 dB might crash the sound of earpiece
ShortCirConf:
Code:
This is a misc tweak
View shortcir this file first
[7] EnShortPWD
0: Automatic switch off on short circuit detection is disabled
1: Automatic switch off on short circuit detection is enabled
[6] EarShortDis
0: Short circuit detection on Ear driver enabled
1: Short circuit detection on Ear driver disabled
[5] HsShortDis
0: Short circuit detection on HsL and HsR drivers enabled
1: Short circuit detection on HsL and HsR drivers disabled
[4] HsPullDEn
0: HsL and HsR outputs are in high impedance
1: HsL and HsR outputs are pulled down to ground
[2] HsOscEn (ABBamp enables it by default)
0: The HS drivers use the system clock
1: The HS drivers use a local oscillator (system clock absent: analog path only)
[1] HsFadDis
0: All intermediate steps are applied between two programmed gains (fading)
1: Gain on HS is applied immediately
[0] HsZcdDis
0: HS gain changes on signal zero cross (unless time-out occurs)
1: HS gain is changed without zero cross control
[CODE]echo ?? ?? > /sys/kernel/abb-codec/shortcir
- The first ?? the slot of each option,the second ?? stands for the value to write to this slot
- View shortcir this file,you will get it[/CODE]
AnaConf4:
This interface controls the enables of analog path
We can use it to disable Speaker in kernel level.
So that you don't have to use the "mute all sound" in system settings,
Because, "mute all sound" will also mute Earpiece, which is inconvenient for us in calls.
Command format: Check anaconf4 first, This interface is a bit different from others:
Code:
echo [Index] [Disable?] > anaconf4
To Disable Speaker:
Code:
echo 5 1 > anaconf4
To Enable Speaker:
Code:
echo 5 0 > anaconf4
Headset Charge Pump:
Code:
echo 0 > chargepump to use fixed 1.8V supply.
echo 1 > chargepump to use dynamic voltage supply, lower power cost.
Lower-power Audio Mode:
Code:
echo on > lpa_mode to enable LPA mode
echo vape=0x?? > lpa_mode to adjust Vape voltage used in LPA mode
Experts!:
This method can work on any ab850x codec platform!
cd /d/asoc/U8500-card/ab8500-codec.0
Play music, reduce the volume.
Now we are going to edit the codec registers.
Code:
echo REG VAL > codec_reg
E.G:
AnaGain3:
Code:
echo 0x16 0x00 > codec_reg
HsDigGain: (left/right channel)
Code:
echo 0x4F 0x00 > codec_reg
echo 0x50 0x00 > codec_reg
Disable all lowpow mode:
Code:
echo 0x04 0x00 > codec_reg
- These hacks will restore when codec power off.
Camera LED Flash:
Turn on torch with more brightness, turning this on for a long time will heat up your device, be careful!
Enable/Disable:
Code:
echo 1/0 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_enable
echo 149600 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_current
FSync control:
Get current status:
Code:
cat /sys/kernel/fsync/mode
FSYNC modes:
0: fsync on
1: fsync off
2: fsync dyn
Disable FSYNC:
Code:
echo 1 > /sys/kernel/fsync/mode
Disabling fsync can improve I/O performance, but it can make the data which hasn't been written lose when a sudden power cut occurs.
Enable Dynamic FSYNC:
Code:
echo 2 > /sys/kernel/fsync/mode
- Dynamic fsync will sync all buffers when screen turns off.
- If there is a heavy I/O load, the screen might get stuck for seconds.
Mali GPU:
Mali debug level:
Disabling can speed up a bit
Code:
echo 0 > /sys/module/mali/parameters/mali_debug_level
- Higher level, more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_read
- Some values will slow down graphics
- If not sure, keep default
Mali PM sampling rate: (Default: 1000ms)
Code:
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Mali PP scheduler tweaks: (Default: disable)
Code:
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
- Enabling this, some places will over ahead, choose by yourself
Mali Utilization sampling rate: (Stock:500ms, Default:1000ms)
How often report a mali utilization.
Code:
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
- Keep this default if unsure.
Mali utilization control:
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high, driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low, the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
To check mali utilization values:
Code:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
When it says SIGNAL_HIGH, it will request highest OPP.
When it says SIGNAL_LOW, it will request lowest OPP.
Press Ctrl+C to stop printing.
You can reduce low_to_high to trigger higher OPP requirement.
For smoothness and less powersaving:
Set low_to_high between 100-192.
Code:
echo 120 > mali_utilization_low_to_high
Mali max preemptive allocated max memory size:
Default is 16mb(16*1024*1024), bigger max size more throughput.
But when this value is too big, no more throughput.
For example: 48mb = 48*1024*1024
Code:
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
Mali OS Kernel memory allocation order:
The lower value, the higher preference of allocating OS memory.
The default value is 6, I decreased it to 9 to fix OS memory allocation failure.
If you feel laggy, try 6 (default by driver)
Code:
echo 6 > /sys/module/mali/parameters/mali_oskmem_allocorder
TCP congestions:
Supported:
cubic(default), westwood, highspeed, vegas, veno, yeah
To check all the available options:
Code:
busybox sysctl net.ipv4.tcp_available_congestion_control
To change to other option:
Code:
busybox sysctl -w net.ipv4.tcp_congestion_control=YOU_WANT_TO
Latency - Download - Upload
cubic:
1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps
westwood:
1st run: 11ms - 17,65Mbps - 8,30Mbps
2nd run: 13ms - 13,28Mbps - 8,29Mbps
highspeed:
1st run: 13ms - 10,76Mbps - 7,94Mbps
2nd run: 16ms - 14,42Mbps - 8,52Mbps
vegas:
1st run: 14ms - 8,49Mbps - 6,62Mbps
2nd run: 14ms - 12,00Mbps - 7,07Mbps
veno:
1st run: 13ms - 9,58Mbps - 8,13Mbps
2nd run: 13ms - 8,50Mbps - 7,64Mbps
yeah:
1st run: 14ms - 13,37Mbps - 8,28Mbps
2nd run: 17ms - 13,89Mbps - 8,14Mbps
- In fact, every congestion is designed for different environments.
- Google to learn more!
EGL Driver:
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
0 0 android
0 1 mali
To
0 0 mali
Then remove libGLES_android.so
- Recommend to backup these files
- In case it cannot boot,use TWRP file manager to recover changes
Logcat:
Add a init.d script with the following content:
Code:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
And reboot your phone
Miscellaneous:
To refresh battery stats:
Code:
echo 1 > /sys/kernel/abb-fg/fg_refresh
Almost all tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts or make scripts with SManager app to apply them at boot.
Been using it for a couple of hour, its stable enough on slimkat, no random reboots until now, great!!!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my Xperia U
no init.d support?!!??
i cannot copy any file in init.d folder .....
*****EDIT****
init.d script works (i've put files inside init.d folder using older bravekernel1.5) but seem to be some problems with built-in superuser app in this new kernel
problem solved flashing supersu instead ....
I can't get the lowmemkiller whitelist to work with CM11 W37. Instead I'm getting even more launcher redraws. Is there something wrong with my approach? I followed everything given in the OP's Thread.
really strange things ... with this kernel pinballarcade app completely desappears and sqlite editor app crashing at start... revert back to old bravekernel 1.5 everything back to works and pinballarcade reapears itself...
..::Matr!x::.. said:
really strange things ... with this kernel pinballarcade app completely desappears and sqlite editor app crashing at start... revert back to old bravekernel 1.5 everything back to works and pinballarcade reapears itself...
Click to expand...
Click to collapse
I'll revert my chages in fstab and check su permissions.
DivyaMamgai said:
I can't get the lowmemkiller whitelist to work with CM11 W37. Instead I'm getting even more launcher redraws. Is there something wrong with my approach? I followed everything given in the OP's Thread.
Click to expand...
Click to collapse
Try Performance Control app for doing it easily: http://forum.xda-developers.com/showthread.php?t=2401988
Sent from my D5503 using XDA Free mobile app
Random apps like settings, google play services etc started crashing in the background. Then finally I got a random reboot. Happened after 6 hours of use.
It's a great kernel but it really freaking slows my phone.
I'm using CM11 with ART.
Do this kernel not work well on ART?
I have not try this kernel, but the premises should be good and better than the stock kernel of CyanogenMod 11, I can not wait to try it! Thanks for your great hard work @Garcia98 , this is really the best Christmas gift I could do us all xperia u. Happy xmas @Garcia98 !
I will use it again soon.
I'll suggest to wait next release .... atm there's something not properly working with root & permissions....
small2cats482 said:
Random apps like settings, google play services etc started crashing in the background. Then finally I got a random reboot. Happened after 6 hours of use.
Click to expand...
Click to collapse
Which ROM are you using and which settings?
jose97ct said:
It's a great kernel but it really freaking slows my phone.
I'm using CM11 with ART.
Do this kernel not work well on ART?
Click to expand...
Click to collapse
I don't recommend ART in KitKat ROMs
________________
Merry Christmas and happy holidays to all of you!
Garcia98 said:
Which ROM are you using and which settings?
I don't recommend ART in KitKat ROMs
________________
Merry Christmas and happy holidays to all of you!
Click to expand...
Click to collapse
ART worked really fine for me, but I'm back on Dalvik, I miss Xposed and WhatsApp.
On a clean install I'm not having problems, and I'll report battery lasting, general performance and stuff in a few days.
Thank you so much for your work Garcia98 and Merry Christmas to you all!
After 12h of use the wifi cant wake up, the wifi try to connect to my network but always stop at "Obtaining IP".
I get back to stock kernel, but I've good feelings with it.
Garcia98 said:
Which ROM are you using and which settings?
Click to expand...
Click to collapse
I didn't touch any settings. Using Interactive and Row on CM11 weekly 34 or 35 I think.
Garcia, for some unknown reason, i can't copy init.d scripts into init.d folder. I checked my root permissions, everything's fine. I can delete apps from system. Also when i input frandom commands, it says no such file found. Can you please solve my issue?
Sent from the Mars to the Earth just to post a reply.
---------- Post added at 11:56 PM ---------- Previous post was at 11:07 PM ----------
I managed to get 50mb of swap file but I've one doubt. It's created in root/cache. Not in sdcard. I know swap file degrades any flash memory but if this degrades the system memory, i won't be able to switch on mobile, right or wrong?
Sent from the Mars to the Earth just to post a reply.
Vtrendzzy said:
Garcia, for some unknown reason, i can't copy init.d scripts into init.d folder. I checked my root permissions, everything's fine. I can delete apps from system. Also when i input frandom commands, it says no such file found. Can you please solve my issue?
Sent from the Mars to the Earth just to post a reply.
---------- Post added at 11:56 PM ---------- Previous post was at 11:07 PM ----------
I managed to get 50mb of swap file but I've one doubt. It's created in root/cache. Not in sdcard. I know swap file degrades any flash memory but if this degrades the system memory, i won't be able to switch on mobile, right or wrong?
Sent from the Mars to the Earth just to post a reply.
Click to expand...
Click to collapse
Try to create a file in init.d using su and touch /system/etc/init.d/nameofscript commands, also you can try to edit an existing script and add your commands there (dirty solution but the effect will be the same). This issue will be fixed in next release.
About frandom issue it was a typo in instructions, change the path adding /system in the beginning (/system/lib/modules/frandom.ko).
Regarding swap question, it's true that a flash memory is limited to a X number of write cycles, but our phone has just one flash memory of ~8GB, so it doesn't care in which partition you create the swapfile, however you can decrease swappiness to prevent that from happening
Sent from my D5503 using XDA Free mobile app
Garcia98 said:
Try to create a file in init.d using su and touch /system/etc/init.d/nameofscript commands, also you can try to edit an existing script and add your commands there (dirty solution but the effect will be the same). This issue will be fixed in next release.
About frandom issue it was a typo in instructions, change the path adding /system in the beginning (/system/lib/modules/frandom.ko).
Regarding swap question, it's true that a flash memory is limited to a X number of write cycles, but our phone has just one flash memory of ~8GB, so it doesn't care in which partition you create the swapfile, however you can decrease swappiness to prevent that from happening
Sent from my D5503 using XDA Free mobile app
Click to expand...
Click to collapse
Sent from the Mars to the Earth just to post a reply.

[KERNEL][3.0.101] BraveKernel Refresh for KitKat

BRAVEKERNEL REFRESH​
Here we go with something (re)fresh, this is the thread of a customized kernel for KitKat ROMs (CM11, AOSX, SlimKat...) with some extra features added.
As always, feedback is welcome and highly valuable
Please if a bug is already reported do not spam the thread reporting it again, and use XDA DevDB tools for posting features requests and bug reports if it's possible :good:
Main features are these:
- Based in 6.2.A.1.100 source code
- Built with Linaro Toolchain 4.9.3 optimized for Cortex A9
- TWRP 2.8.1.0
- FRandom support
- Improvement in I/O latency
- Interactive governor updated to 3.4
- VFP optimizations
- PowerOn Key emulator
- ABBamp Sound Control v2.5.0
- Mali tweaks and controllers
- Governors and I/O schedulers parameters tweaked
- Cycle Charging control
- Real end-of-charge notification
- FSync control (combined dynamic fsync control)
- Voltage OTG control
- Added extra free kbytes tunable
- Swap and zRAM support
- Disabled dynamic debug
- Tweaked readahead size
- More choices of TCP congestions
- Proportional Rate Reduction for TCP
- Fix for scaling of minimum frequency problem
- Management of not killable processes
- Built with optimized -O3 & Neon flags
- SLUB memory allocator
- Ramdisk and kernel compressed with LZO
Available CPU governors:
- Powersave
- Userspace
- OnDemand
- Interactive (default)
- InteractiveQ
- Conservative
- OnDemandQ
- PegasusQ
- LulzActiveQ
- AbyssPlug
- HotPlug
- PegasusQPlus
- SmartAssv2
Available I/O schedulers:
- No-op
- Deadline
- CFQ
- ROW
- BFQ
- SIO
- ZEN
- V(R)
- SIO-Plus (default)
Kernel Downloads for KitKat:
BraveKernel Refresh KK-4.4 Mediafire Folder
- v1.0 -
for CM 11.0, AOSX, SlimKat...​
How to install the kernel:
1) Download the kernel zip file to SD card
2) Reboot to recovery
3) Flash the kernel zip file
4) Wipe cache and dalvik cache if you are coming from another kernel
5) Reboot the system
Kernel Manager APP
If you prefer to use a simpler way for installing the kernel you can use this app, it allows you to make a backup of your current kernel and it also displays OTA updates of this kernel, really recommended :good:
Kernel sources (on GitHub):
Development repository of BraveKernel 3.0.101 for KK 4.4
​
Changelog:
Code:
[B]21/12/2014 - BraveKernel Refresh v1.0 for KitKat[/B]
- Initial release
Credits and thanks to:
munjeni and cocafe for their awesome work and their kernel sources
AGONTUK for TWRP recovery
CyanogenMod, Kernel.org, Sony, Google, Linaro GCC developers
All my testers
​
XDA:DevDB Information
BraveKernel Refresh, Kernel for the Sony Xperia Sola
Contributors
Garcia98
Kernel Special Features: Customized kernel 3.0.101 for KK 4.4.x ROM
Version Information
Status: Stable
Current Stable Version: v1.0
Stable Release Date: 2014-12-24
Created 2014-12-24
Last Updated 2015-01-10
HOW TOs
HOW TO PLAY WITH THIS KERNEL
Terminal emulator or ADB shell is needed.
If any command outputs 'Permission denied', you need su permission.
`???` stands for the number to input.
Sometimes you will need to mount and unmount debugfs partition:
For mounting it:
Code:
mount -t debugfs debugfs /d
For unmounting it:
Code:
umount /d
Boot time:
To check boot time:
Code:
cat /sys/boottime/kernel
CPU governors:
Performance, Interactive (default), Powersave, Userspace, Conservative, InteractiveQ, PegasusQ, HotPlug, OnDemandQ, OnDemand, AbyssPlug, LulzactiveQ, SmartAssv2
- OnDemand has been patched with cpu idle detection.
- Most of custom governors are based on ondemand/interactive.
- OndemandQ/InteractiveQ will hotplug cpu when screen turns off only.
- If you care about the battery life time, choose HotPlug. It hotplugs cpu frequently.
- Interactive updated to linux-android-3.4 (recommended).
- LulzactiveQ, will hotplug CPU1.
I/O schedulers:
SIO, SIO-Plus, VR, BFQ, CFQ, NO-OP, ZEN, ROW, Deadline
- Default IO scheduler: SIO-Plus
- SIO/ROW/SIO-Plus recommended!
FRandom module:
Code:
insmod /system/lib/modules/frandom.ko
chmod 0666 /dev/frandom
chmod 0666 /dev/erandom
mv /dev/random /dev/random.orig
mv /dev/urandom /dev/urandom.orig
ln -s /dev/frandom /dev/random
ln -s /dev/frandom /dev/urandom
Deepest sleep state:
Stock: 3 Default: 3
Deepest supported is 5.
Mount debugfs
To change deepest sleep state:
Code:
echo 5 > /d/cpuidle/deepest_state
- HotPlug governors works badly with 5.
- OnDemand works well with 5.
- Please note that it won’t increase the using time but standby time.
- You can add an init.d script to tweak it if you want.
To check the cpuidle state:
Code:
cat /d/cpuidle/stats
Management of not killable processes:
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
This feature exposes four new lowmemorykiller parameters:
- donotkill_proc, is the flag to enable / disable this feature for the processes chosen by the user
- donotkill_sysproc, is the flag to enable / disable this feature for the system processes chosen by the user
- donotkill_proc_names, is the list of process names (comma separated) chosen by the user to be preserved from killing
- donotkill_sysproc_names, is the list of user system process names (comma separated) chosen by the user to be preserved from killing
When the lowmemorykiller needs to free ram, it will first kill the processes not included inside the two process name lists chosen by the user.
If there are no more standard killable processes, then it will be necessary to kill one of the processes included inside one of the two white-lists, to prevent system hangs, slowdowns, etc.
How to customize the white lists of processes to preserve from killing:
- Run these commands if you want to enable the feature
Code:
# To enable this feature for the processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To enable this feature for the system processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run these commands if you want to disable the feature
Code:
# To disable this feature for the processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To disable this feature for the system processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run this command if you want to add, for example, Trebuchet Launcher (CM default launcher) and the default keyboard to the processes white list
Code:
echo "com.cyanogenmod.trebuchet,android.inputmethod.latin" > /sys/module/lowmemorykiller/parameters/donotkill_proc_names
- Run this command if you want to add, for example, the system process, the phone process and DSP Manager to the system processes white list
Code:
echo "android.process.acore,com.android.phone,com.bel.android.dspmanager" > /sys/module/lowmemorykiller/parameters/donotkill_sysproc_names
zRAM:
zRAM is optimized for Android. It is not lazy anymore. Recommended zRAM instead of SWAP.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100MB.
Setup disk size first: (example: 200MB)
Code:
echo $((200 * 1024 * 1024)) > /sys/block/zram0/disksize
- Larger size more RAM will be compressed.
- Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
Code:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
- We can get other info in its sysfs
Swap:
Using a file as swap RAM: (Create a continuity file first)
Code:
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Then we will have 80MB of swap RAM.
Cycle Charging Control:
Similar to BLX by Ezekeel. It can be used to limit the battery charging level.
Example: Limit the battery level at 70% ~ 75%
Enable:
Code:
echo on > /sys/kernel/abb-fg/fg_cyc
Disable:
Code:
echo off > /sys/kernel/abb-fg/fg_cyc
Discharging threshold (battery level %):
Code:
echo dischar=75 > /sys/kernel/abb-fg/fg_cyc
Recharging threshold:
Code:
echo dischar=70 > /sys/kernel/abb-fg/fg_cyc
Real charged notification:
Well, please let me call it notification.
To be honest, it needs to check manually:
Code:
cat /sys/kernel/abb-chargalg/eoc_status
- You can use Root Browser to view these files in /sys/kernel/abb-chargalg
- When it says "First eoc reached", then the UI should show you charged 100%, but it is not the real full charged.
- When it says the real EOC reached, unplug the charger.
POnKey Emulator:
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
Code:
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
Code:
echo 800 > /sys/kernel/abb-ponkey/emulator
ABBamp Audio:
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why is it called `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
/sys/kernel/abb-codec
- Use Root Browser to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View (cat) these files, most of them will give you useful information about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abb-codec first then do echos, will be more convenient.
AnaGain3 (Headset analog gain path):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/anagain3
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/anagain3
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
Code:
echo left=?? > /sys/kernel/abb-codec/anagain3
echo right=?? > /sys/kernel/abb-codec/anagain3
Write both left and right channels:
Code:
echo gain=?? > /sys/kernel/abb-codec/anagain3
HsLDigGain (Headset left digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsldiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsldiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsldiggain
HsRDigGain (Headset right digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsrdiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsrdiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsrdiggain
Headset Volume Table:
value | volume
0.......+8dB (maximum)
1.......+7dB
2.......+6dB
3.......+5dB
4.......+4dB (tweaks default)
5.......+3dB
6.......+2dB
7.......+1dB
8.......+0dB (device default)
>=9....mute
- If set up digital path +4dB, analog gain +4dB, the result will get over +8dB
HsLowPow (Headset driver low power mode):
This lowpow mode is enabled by device normally.
If you want high performance audio instead of LPA(low power audio) you can disable it.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hslowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hslowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hslowpow
HsDacLowPow (Headset DAC low power mode):
DAC is Digital-to-Analong Converter.
This lowpow mode is enabled by device normally.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsdaclowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsdaclowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hsdaclowpow
HsHpEn (Headset high pass filter):
This high pass filter is disabled by device normally.
Enable this can reduce some sub-noise of audio.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hshpen
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hshpen
To tweak the mode (0: disable highpass filter, 1: enable highpass filter)
Code:
echo mode=? > /sys/kernel/abb-codec/hshepen
Besides, the file anaconf1 will shows you the status of LPA
ClassDHPG (ClassD high-pass gain):
ClassD is a kind of amplifier.
According to the documents, our ClassD only relate to Handsfree(speaker).
This can increase the high frequencies sound of speaker
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdhpg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdhgp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdhpg
ClassDDithWGain:
Gain control for the white component of dithering filter
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdwg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdwp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
ADDigGain2:
This is the audio path of mic2(phone mic, not headset mic)
This tweak will enable automatically when mic2 is enabled by device
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/addiggain2
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/addiggain2
Gain control: (min:0 ,max: 63) lower value, higher gain (default: [+6dB], max: 00[+31dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/addiggain2
EarDigGain:
This is the digital gain of earpiece
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/eardiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/eardiggain
Gain control: (min:0 ,max: 15) lower value,higher gain (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
- It uses the same path of HsLDigGain,please check the volume table of HsLDigGain
- +8 dB might crash the sound of earpiece
ShortCirConf:
Code:
This is a misc tweak
View shortcir this file first
[7] EnShortPWD
0: Automatic switch off on short circuit detection is disabled
1: Automatic switch off on short circuit detection is enabled
[6] EarShortDis
0: Short circuit detection on Ear driver enabled
1: Short circuit detection on Ear driver disabled
[5] HsShortDis
0: Short circuit detection on HsL and HsR drivers enabled
1: Short circuit detection on HsL and HsR drivers disabled
[4] HsPullDEn
0: HsL and HsR outputs are in high impedance
1: HsL and HsR outputs are pulled down to ground
[2] HsOscEn (ABBamp enables it by default)
0: The HS drivers use the system clock
1: The HS drivers use a local oscillator (system clock absent: analog path only)
[1] HsFadDis
0: All intermediate steps are applied between two programmed gains (fading)
1: Gain on HS is applied immediately
[0] HsZcdDis
0: HS gain changes on signal zero cross (unless time-out occurs)
1: HS gain is changed without zero cross control
[CODE]echo ?? ?? > /sys/kernel/abb-codec/shortcir
- The first ?? the slot of each option,the second ?? stands for the value to write to this slot
- View shortcir this file,you will get it[/CODE]
AnaConf4:
This interface controls the enables of analog path
We can use it to disable Speaker in kernel level.
So that you don't have to use the "mute all sound" in system settings,
Because, "mute all sound" will also mute Earpiece, which is inconvenient for us in calls.
Command format: Check anaconf4 first, This interface is a bit different from others:
Code:
echo [Index] [Disable?] > anaconf4
To Disable Speaker:
Code:
echo 5 1 > anaconf4
To Enable Speaker:
Code:
echo 5 0 > anaconf4
Headset Charge Pump:
Code:
echo 0 > chargepump to use fixed 1.8V supply.
echo 1 > chargepump to use dynamic voltage supply, lower power cost.
Lower-power Audio Mode:
Code:
echo on > lpa_mode to enable LPA mode
echo vape=0x?? > lpa_mode to adjust Vape voltage used in LPA mode
Experts!:
This method can work on any ab850x codec platform!
Mount debugfs
cd /d/asoc/U8500-card/ab8500-codec.0
Play music, reduce the volume.
Now we are going to edit the codec registers.
Code:
echo REG VAL > codec_reg
E.G:
AnaGain3:
Code:
echo 0x16 0x00 > codec_reg
HsDigGain: (left/right channel)
Code:
echo 0x4F 0x00 > codec_reg
echo 0x50 0x00 > codec_reg
Disable all lowpow mode:
Code:
echo 0x04 0x00 > codec_reg
- These hacks will restore when codec power off.
Camera LED Flash:
Turn on torch with more brightness, turning this on for a long time will heat up your device, be careful!
Enable/Disable:
Code:
echo 1/0 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_enable
echo 149600 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_current
FSync control:
Get current status:
Code:
cat /sys/kernel/fsync/mode
FSYNC modes:
0: fsync on
1: fsync off
2: fsync dyn
Disable FSYNC:
Code:
echo 1 > /sys/kernel/fsync/mode
Disabling fsync can improve I/O performance, but it can make the data which hasn't been written lose when a sudden power cut occurs.
Enable Dynamic FSYNC:
Code:
echo 2 > /sys/kernel/fsync/mode
- Dynamic fsync will sync all buffers when screen turns off.
- If there is a heavy I/O load, the screen might get stuck for seconds.
Mali GPU:
Mali debug level:
Disabling can speed up a bit
Code:
echo 0 > /sys/module/mali/parameters/mali_debug_level
- Higher level, more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_read
- Some values will slow down graphics
- If not sure, keep default
Mali PM sampling rate: (Default: 1000ms)
Code:
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Mali PP scheduler tweaks: (Default: disable)
Code:
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
- Enabling this, some places will over ahead, choose by yourself
Mali Utilization sampling rate: (Stock:500ms, Default:1000ms)
How often report a mali utilization.
Code:
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
- Keep this default if unsure.
Mali utilization control:
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high, driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low, the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
To check mali utilization values:
Code:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
When it says SIGNAL_HIGH, it will request highest OPP.
When it says SIGNAL_LOW, it will request lowest OPP.
Press Ctrl+C to stop printing.
You can reduce low_to_high to trigger higher OPP requirement.
For smoothness and less powersaving:
Set low_to_high between 100-192.
Code:
echo 120 > mali_utilization_low_to_high
Mali max preemptive allocated max memory size:
Default is 16mb(16*1024*1024), bigger max size more throughput.
But when this value is too big, no more throughput.
For example: 48mb = 48*1024*1024
Code:
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
Mali OS Kernel memory allocation order:
The lower value, the higher preference of allocating OS memory.
The default value is 6, I decreased it to 9 to fix OS memory allocation failure.
If you feel laggy, try 6 (default by driver)
Code:
echo 6 > /sys/module/mali/parameters/mali_oskmem_allocorder
TCP congestions:
Supported:
cubic(default), westwood, highspeed, vegas, veno, yeah
To check all the available options:
Code:
busybox sysctl net.ipv4.tcp_available_congestion_control
To change to other option:
Code:
busybox sysctl -w net.ipv4.tcp_congestion_control=YOU_WANT_TO
Latency - Download - Upload
cubic:
1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps
westwood:
1st run: 11ms - 17,65Mbps - 8,30Mbps
2nd run: 13ms - 13,28Mbps - 8,29Mbps
highspeed:
1st run: 13ms - 10,76Mbps - 7,94Mbps
2nd run: 16ms - 14,42Mbps - 8,52Mbps
vegas:
1st run: 14ms - 8,49Mbps - 6,62Mbps
2nd run: 14ms - 12,00Mbps - 7,07Mbps
veno:
1st run: 13ms - 9,58Mbps - 8,13Mbps
2nd run: 13ms - 8,50Mbps - 7,64Mbps
yeah:
1st run: 14ms - 13,37Mbps - 8,28Mbps
2nd run: 17ms - 13,89Mbps - 8,14Mbps
- In fact, every congestion is designed for different environments.
- Google to learn more!
EGL Driver:
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
0 0 android
0 1 mali
To
0 0 mali
Then remove libGLES_android.so
- Recommend to backup these files
- In case it cannot boot,use TWRP file manager to recover changes
Logcat:
Create a new file(empty file) named logger in /data
When this file exists, kernel will load logger.ko for you automatically
Miscellaneous:
To refresh battery stats:
Code:
echo 1 > /sys/kernel/abb-fg/fg_refresh
Almost all tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts or make scripts with SManager app to apply them at boot.
OK, it's booted.
Gonna try more.
Very laggy after flashing. I followed all the installation steps correctly.
Downloading now
Works excellent on CM11!
Will report soon battery life
acGFX said:
Very laggy after flashing. I followed all the installation steps correctly.
Click to expand...
Click to collapse
+1
Lag is present and I am noticing random freezes at times
Sent from my Xperia Sola using XDA Free mobile app
Finally!
Going to try soon!
Thanks for this -
Real charged notification:
Well, please let me call it notification.
To be honest, it needs to check manually:
Code:
cat /sys/kernel/abb-chargalg/eoc_status
- You can use Root Browser to view these files in /sys/kernel/abb-chargalg
- When it says "First eoc reached", then the UI should show you charged 100%, but it is not the real full charged.
- When it says the real EOC reached, unplug the charger.
And, can you explain what's this? -
POnKey Emulator:
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
Code:
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
Code:
echo 800 > /sys/kernel/abb-ponkey/emulator
acGFX said:
Very laggy after flashing. I followed all the installation steps correctly.
Click to expand...
Click to collapse
abbas23 said:
+1
Lag is present and I am noticing random freezes at times
Sent from my Xperia Sola using XDA Free mobile app
Click to expand...
Click to collapse
Which ROM are you using?
DarkFalcon said:
Finally!
Going to try soon!
Thanks for this -
Real charged notification:
Well, please let me call it notification.
To be honest, it needs to check manually:
Code:
cat /sys/kernel/abb-chargalg/eoc_status
- You can use Root Browser to view these files in /sys/kernel/abb-chargalg
- When it says "First eoc reached", then the UI should show you charged 100%, but it is not the real full charged.
- When it says the real EOC reached, unplug the charger.
And, can you explain what's this? -
POnKey Emulator:
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
Code:
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
Code:
echo 800 > /sys/kernel/abb-ponkey/emulator
Click to expand...
Click to collapse
The P(ower)OnKey Emulator emulates the power button (a short value turns on/off the screen and a long value opens the power menu), you probably won't be using this very often, but it is useful to have it just if it's needed.
Cm11
Sent from my Xperia Sola using XDA Free mobile app
CM11 Build 35
I didn't have any lags in omniROM.
psycho-punk said:
Does this kernel work with OmniROM?
Click to expand...
Click to collapse
yes, of course.
itachilinux said:
yes, of course.
Click to expand...
Click to collapse
What about battery life ? Better, worse or about the same? P.s sorry for asking too much
Sent from my Xperia Sola using XDA Free mobile app
abbas23 said:
What about battery life ? Better, worse or about the same? P.s sorry for asking too much
Sent from my Xperia Sola using XDA Free mobile app
Click to expand...
Click to collapse
don't ask me for battery life. my battery is damaged
abbas23 said:
Cm11
Sent from my Xperia Sola using XDA Free mobile app
Click to expand...
Click to collapse
acGFX said:
CM11 Build 35
Click to expand...
Click to collapse
Weird...
________________
Merry Christmas and happy holidays to all of you!
im using carbon kitkat for xperia sola, it will work ?
Okay i flashed it again after unmounting system
It is working perfectly now thanks a lot
Sent from my Xperia Sola using XDA Free mobile app
kiayichsan said:
im using carbon kitkat for xperia sola, it will work ?
Click to expand...
Click to collapse
yes
How is the battery life?
Sent from my MT27i using Tapatalk
Will there be a fix for CM11? It is very hard to do something now and I don't want to re-flash.

[KERNEL][3.0.101] BraveKernel Refresh for KitKat

BRAVEKERNEL REFRESH​
Here we go with something (re)fresh, this is the thread of a customized kernel for KitKat ROMs (CM11, AOSX, SlimKat...) with some extra features added.
As always, feedback is welcome and highly valuable
Please if a bug is already reported do not spam the thread reporting it again, and use XDA DevDB tools for posting features requests and bug reports if it's possible :good:
Main features are these:
- Based in 6.2.A.1.100 source code
- Built with Linaro Toolchain 4.9.3 optimized for Cortex A9
- TWRP 2.8.4.0
- FRandom support
- Improvement in I/O latency
- Interactive governor updated to 3.4
- VFP optimizations
- PowerOn Key emulator
- ABBamp Sound Control v2.5.0
- Mali tweaks and controllers
- Governors and I/O schedulers parameters tweaked
- Cycle Charging control
- Real end-of-charge notification
- FSync control (combined dynamic fsync control)
- Voltage OTG control
- Added extra free kbytes tunable
- Swap and zRAM support
- Disabled dynamic debug
- Tweaked readahead size
- More choices of TCP congestions
- Proportional Rate Reduction for TCP
- Fix for scaling of minimum frequency problem
- Built with optimized -O3 & Neon flags
- SLUB memory allocator
- Ramdisk and kernel compressed with LZO
Available CPU governors:
- Powersave
- Userspace
- OnDemand
- Interactive (default)
- InteractiveQ
- Conservative
- OnDemandQ
- PegasusQ
- LulzActiveQ
- AbyssPlug
- HotPlug
- PegasusQPlus
- SmartAssv2
Available I/O schedulers:
- No-op
- Deadline
- CFQ
- ROW
- BFQ
- SIO
- ZEN
- V(R)
- SIO-Plus (default)
Kernel Downloads for KitKat:
BraveKernel Refresh KK-4.4 MediaFire Folder
- v1.3 -
for CM 11.0, AOSX, SlimKat...​
How to install the kernel:
1) Download the kernel zip file to SD card
2) Reboot to recovery
3) Flash the kernel zip file
4) Wipe cache and dalvik cache if you are coming from another kernel
5) Reboot the system
Kernel Manager APP
If you prefer to use a simpler way for installing the kernel you can use this app, it allows you to make a backup of your current kernel and it also displays OTA updates of this kernel, really recommended :good:
Kernel sources (on GitHub):
Development repository of BraveKernel 3.0.101 for KK 4.4
​
Changelog:
Code:
[B]08/02/2015 - BraveKernel Refresh v1.3 for KitKat[/B]
- Added minfree tweak in crontab
- Disabled management of not killable processes
- Tweaked adj and minfree values in init.d
- Added memory tweak in crontab
- Tweaked read_ahead_kb values
- Added F2FS support
- Fixed network arrows and speed information
- Fixed root and storage issues
- Added recovery in FOTA partition support
- Added kexec hardboot support
- Added 3 extra MB of usable RAM
- Added dynamic management of dirty page writebacks
- Added Ultra KSM
- Added entropy tweaks
- Updated BFQ scheduler
- Updated Linaro toolchain
- Improved LZO decompression
- Tweaked LMK
- Improved network speed
- Improved CPU performance
- Improved EXT4 speed
- Improved power management
- Tweaked memory management values
- Enabled clean cache
- Enabled JRCU
[B]21/12/2014 - BraveKernel Refresh v1.0 for KitKat[/B]
- Initial release
Credits and thanks to:
munjeni and cocafe for their awesome work and their kernel sources
AGONTUK for TWRP recovery
CyanogenMod, Kernel.org, Sony, Google, Linaro GCC developers
All my testers
​
XDA:DevDB Information
BraveKernel Refresh, Kernel for the Sony Xperia Go
Contributors
Garcia98
Kernel Special Features: Customized kernel 3.0.101 for KK 4.4.x ROM
Version Information
Status: Stable
Current Stable Version: v1.3
Stable Release Date: 2015-02-08
Created 2014-12-24
Last Updated 2016-06-10
HOW TOs
HOW TO PLAY WITH THIS KERNEL
Terminal emulator or ADB shell is needed.
If any command outputs 'Permission denied', you need su permission.
`???` stands for the number to input.
F2FS:
To enable F2FS:
1) Reboot into recovery
2) Touch Wipe option > Advanced Wipe
3) Select the partition you want to convert to F2FS (Data or Cache)
4) Select Repair or Change File System option
5) Touch Change File System and then select F2FS
Boot time:
To check boot time:
Code:
cat /sys/boottime/kernel
CPU governors:
Performance, Interactive (default), Powersave, Userspace, Conservative, InteractiveQ, PegasusQ, HotPlug, OnDemandQ, OnDemand, AbyssPlug, LulzactiveQ, SmartAssv2
- OnDemand has been patched with cpu idle detection.
- Most of custom governors are based on ondemand/interactive.
- OndemandQ/InteractiveQ will hotplug cpu when screen turns off only.
- If you care about the battery life time, choose HotPlug. It hotplugs cpu frequently.
- Interactive updated to linux-android-3.4 (recommended).
- LulzactiveQ, will hotplug CPU1.
I/O schedulers:
SIO, SIO-Plus, VR, BFQ, CFQ, NO-OP, ZEN, ROW, Deadline
- Default IO scheduler: SIO-Plus
- SIO/ROW/SIO-Plus recommended!
FRandom module:
Code:
insmod /system/lib/modules/frandom.ko
chmod 0666 /dev/frandom
chmod 0666 /dev/erandom
mv /dev/random /dev/random.orig
mv /dev/urandom /dev/urandom.orig
ln -s /dev/frandom /dev/random
ln -s /dev/frandom /dev/urandom
Deepest sleep state:
Stock: 3 Default: 3
Deepest supported is 5.
To change deepest sleep state:
Code:
echo 5 > /d/cpuidle/deepest_state
- HotPlug governors works badly with 5.
- OnDemand works well with 5.
- Please note that it won’t increase the using time but standby time.
- You can add an init.d script to tweak it if you want.
To check the cpuidle state:
Code:
cat /d/cpuidle/stats
zRAM:
zRAM is optimized for Android. It is not lazy anymore. Recommended zRAM instead of SWAP.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100MB.
Setup disk size first: (example: 200MB)
Code:
echo $((200 * 1024 * 1024)) > /sys/block/zram0/disksize
- Larger size more RAM will be compressed.
- Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
Code:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
- We can get other info in its sysfs
Swap:
Using a file as swap RAM: (Create a continuity file first)
Code:
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Then we will have 80MB of swap RAM.
Cycle Charging Control:
Similar to BLX by Ezekeel. It can be used to limit the battery charging level.
Example: Limit the battery level at 70% ~ 75%
Enable:
Code:
echo on > /sys/kernel/abb-fg/fg_cyc
Disable:
Code:
echo off > /sys/kernel/abb-fg/fg_cyc
Discharging threshold (battery level %):
Code:
echo dischar=75 > /sys/kernel/abb-fg/fg_cyc
Recharging threshold:
Code:
echo dischar=70 > /sys/kernel/abb-fg/fg_cyc
Real charged notification:
Well, please let me call it notification.
To be honest, it needs to check manually:
Code:
cat /sys/kernel/abb-chargalg/eoc_status
- You can use Root Browser to view these files in /sys/kernel/abb-chargalg
- When it says "First eoc reached", then the UI should show you charged 100%, but it is not the real full charged.
- When it says the real EOC reached, unplug the charger.
POnKey Emulator:
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
Code:
echo 100 > /sys/kernel/abb-ponkey/emulator
To active the power menu: ( 520 < value(ms) < ∞)
Code:
echo 800 > /sys/kernel/abb-ponkey/emulator
ABBamp Audio:
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why is it called `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
/sys/kernel/abb-codec
- Use Root Browser to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View (cat) these files, most of them will give you useful information about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abb-codec first then do echos, will be more convenient.
AnaGain3 (Headset analog gain path):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/anagain3
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/anagain3
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
Code:
echo left=?? > /sys/kernel/abb-codec/anagain3
echo right=?? > /sys/kernel/abb-codec/anagain3
Write both left and right channels:
Code:
echo gain=?? > /sys/kernel/abb-codec/anagain3
HsLDigGain (Headset left digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsldiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsldiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsldiggain
HsRDigGain (Headset right digital path gain):
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsrdiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsrdiggain
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/hsrdiggain
Headset Volume Table:
value | volume
0.......+8dB (maximum)
1.......+7dB
2.......+6dB
3.......+5dB
4.......+4dB (tweaks default)
5.......+3dB
6.......+2dB
7.......+1dB
8.......+0dB (device default)
>=9....mute
- If set up digital path +4dB, analog gain +4dB, the result will get over +8dB
HsLowPow (Headset driver low power mode):
This lowpow mode is enabled by device normally.
If you want high performance audio instead of LPA(low power audio) you can disable it.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hslowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hslowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hslowpow
HsDacLowPow (Headset DAC low power mode):
DAC is Digital-to-Analong Converter.
This lowpow mode is enabled by device normally.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hsdaclowpow
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hsdaclowpow
To tweak the mode (0: disable LP mode, 1: enable LP mode)
Code:
echo mode=? > /sys/kernel/abb-codec/hsdaclowpow
HsHpEn (Headset high pass filter):
This high pass filter is disabled by device normally.
Enable this can reduce some sub-noise of audio.
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/hshpen
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/hshpen
To tweak the mode (0: disable highpass filter, 1: enable highpass filter)
Code:
echo mode=? > /sys/kernel/abb-codec/hshepen
Besides, the file anaconf1 will shows you the status of LPA
ClassDHPG (ClassD high-pass gain):
ClassD is a kind of amplifier.
According to the documents, our ClassD only relate to Handsfree(speaker).
This can increase the high frequencies sound of speaker
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdhpg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdhgp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdhpg
ClassDDithWGain:
Gain control for the white component of dithering filter
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/classdwg
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/classdwp
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
ADDigGain2:
This is the audio path of mic2(phone mic, not headset mic)
This tweak will enable automatically when mic2 is enabled by device
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/addiggain2
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/addiggain2
Gain control: (min:0 ,max: 63) lower value, higher gain (default: [+6dB], max: 00[+31dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/addiggain2
EarDigGain:
This is the digital gain of earpiece
Enable tweaks:
Code:
echo on > /sys/kernel/abb-codec/eardiggain
Disable tweaks:
Code:
echo off > /sys/kernel/abb-codec/eardiggain
Gain control: (min:0 ,max: 15) lower value,higher gain (default: 4[+4dB])
Code:
echo gain=?? > /sys/kernel/abb-codec/classdwg
- It uses the same path of HsLDigGain,please check the volume table of HsLDigGain
- +8 dB might crash the sound of earpiece
ShortCirConf:
Code:
This is a misc tweak
View shortcir this file first
[7] EnShortPWD
0: Automatic switch off on short circuit detection is disabled
1: Automatic switch off on short circuit detection is enabled
[6] EarShortDis
0: Short circuit detection on Ear driver enabled
1: Short circuit detection on Ear driver disabled
[5] HsShortDis
0: Short circuit detection on HsL and HsR drivers enabled
1: Short circuit detection on HsL and HsR drivers disabled
[4] HsPullDEn
0: HsL and HsR outputs are in high impedance
1: HsL and HsR outputs are pulled down to ground
[2] HsOscEn (ABBamp enables it by default)
0: The HS drivers use the system clock
1: The HS drivers use a local oscillator (system clock absent: analog path only)
[1] HsFadDis
0: All intermediate steps are applied between two programmed gains (fading)
1: Gain on HS is applied immediately
[0] HsZcdDis
0: HS gain changes on signal zero cross (unless time-out occurs)
1: HS gain is changed without zero cross control
[CODE]echo ?? ?? > /sys/kernel/abb-codec/shortcir
- The first ?? the slot of each option,the second ?? stands for the value to write to this slot
- View shortcir this file,you will get it[/CODE]
AnaConf4:
This interface controls the enables of analog path
We can use it to disable Speaker in kernel level.
So that you don't have to use the "mute all sound" in system settings,
Because, "mute all sound" will also mute Earpiece, which is inconvenient for us in calls.
Command format: Check anaconf4 first, This interface is a bit different from others:
Code:
echo [Index] [Disable?] > anaconf4
To Disable Speaker:
Code:
echo 5 1 > anaconf4
To Enable Speaker:
Code:
echo 5 0 > anaconf4
Headset Charge Pump:
Code:
echo 0 > chargepump to use fixed 1.8V supply.
echo 1 > chargepump to use dynamic voltage supply, lower power cost.
Lower-power Audio Mode:
Code:
echo on > lpa_mode to enable LPA mode
echo vape=0x?? > lpa_mode to adjust Vape voltage used in LPA mode
Experts!:
This method can work on any ab850x codec platform!
cd /d/asoc/U8500-card/ab8500-codec.0
Play music, reduce the volume.
Now we are going to edit the codec registers.
Code:
echo REG VAL > codec_reg
E.G:
AnaGain3:
Code:
echo 0x16 0x00 > codec_reg
HsDigGain: (left/right channel)
Code:
echo 0x4F 0x00 > codec_reg
echo 0x50 0x00 > codec_reg
Disable all lowpow mode:
Code:
echo 0x04 0x00 > codec_reg
- These hacks will restore when codec power off.
Camera LED Flash:
Turn on torch with more brightness, turning this on for a long time will heat up your device, be careful!
Enable/Disable:
Code:
echo 1/0 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_enable
echo 149600 > /sys/devices/platform/nmk-i2c.2/i2c-2/2-0053/torch_current
FSync control:
Get current status:
Code:
cat /sys/kernel/fsync/mode
FSYNC modes:
0: fsync on
1: fsync off
2: fsync dyn
Disable FSYNC:
Code:
echo 1 > /sys/kernel/fsync/mode
Disabling fsync can improve I/O performance, but it can make the data which hasn't been written lose when a sudden power cut occurs.
Enable Dynamic FSYNC:
Code:
echo 2 > /sys/kernel/fsync/mode
- Dynamic fsync will sync all buffers when screen turns off.
- If there is a heavy I/O load, the screen might get stuck for seconds.
Mali GPU:
Mali debug level:
Disabling can speed up a bit
Code:
echo 0 > /sys/module/mali/parameters/mali_debug_level
- Higher level, more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_read
- Some values will slow down graphics
- If not sure, keep default
Mali PM sampling rate: (Default: 1000ms)
Code:
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Mali PP scheduler tweaks: (Default: disable)
Code:
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
- Enabling this, some places will over ahead, choose by yourself
Mali Utilization sampling rate: (Stock:500ms, Default:1000ms)
How often report a mali utilization.
Code:
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
- Keep this default if unsure.
Mali utilization control:
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high, driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low, the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
To check mali utilization values:
Code:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
When it says SIGNAL_HIGH, it will request highest OPP.
When it says SIGNAL_LOW, it will request lowest OPP.
Press Ctrl+C to stop printing.
You can reduce low_to_high to trigger higher OPP requirement.
For smoothness and less powersaving:
Set low_to_high between 100-192.
Code:
echo 120 > mali_utilization_low_to_high
Mali max preemptive allocated max memory size:
Default is 16mb(16*1024*1024), bigger max size more throughput.
But when this value is too big, no more throughput.
For example: 48mb = 48*1024*1024
Code:
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
Mali OS Kernel memory allocation order:
The lower value, the higher preference of allocating OS memory.
The default value is 6, I decreased it to 9 to fix OS memory allocation failure.
If you feel laggy, try 6 (default by driver)
Code:
echo 6 > /sys/module/mali/parameters/mali_oskmem_allocorder
TCP congestions:
Supported:
cubic(default), westwood, highspeed, vegas, veno, yeah
To check all the available options:
Code:
busybox sysctl net.ipv4.tcp_available_congestion_control
To change to other option:
Code:
busybox sysctl -w net.ipv4.tcp_congestion_control=YOU_WANT_TO
Latency - Download - Upload
cubic:
1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps
westwood:
1st run: 11ms - 17,65Mbps - 8,30Mbps
2nd run: 13ms - 13,28Mbps - 8,29Mbps
highspeed:
1st run: 13ms - 10,76Mbps - 7,94Mbps
2nd run: 16ms - 14,42Mbps - 8,52Mbps
vegas:
1st run: 14ms - 8,49Mbps - 6,62Mbps
2nd run: 14ms - 12,00Mbps - 7,07Mbps
veno:
1st run: 13ms - 9,58Mbps - 8,13Mbps
2nd run: 13ms - 8,50Mbps - 7,64Mbps
yeah:
1st run: 14ms - 13,37Mbps - 8,28Mbps
2nd run: 17ms - 13,89Mbps - 8,14Mbps
- In fact, every congestion is designed for different environments.
- Google to learn more!
EGL Driver:
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
0 0 android
0 1 mali
To
0 0 mali
Then remove libGLES_android.so
- Recommend to backup these files
- In case it cannot boot,use TWRP file manager to recover changes
Logcat:
Create a new file(empty file) named logger in /data
When this file exists, kernel will load logger.ko for you automatically
Miscellaneous:
To refresh battery stats:
Code:
echo 1 > /sys/kernel/abb-fg/fg_refresh
Almost all tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts or make scripts with SManager app to apply them at boot.
Just flash in my Xperia Go. Boot fine, and work just fine. Need some time to tune and test the battery and smoothness. :good::good::good:
Does it work on stock 6.2.A.1.100? If yes, controindications?
Rob80 said:
Does it work on stock 6.2.A.1.100? If yes, controindications?
Click to expand...
Click to collapse
No, it just works with KitKat ROMs
Sent from my D5503 using XDA Free mobile app
Merry Christmas and happy holidays to all of you!
Any status of new kernel update?
BelzIgoh said:
Any status of new kernel update?
Click to expand...
Click to collapse
I need a tester
Sent from my D5503 using XDA Free mobile app
you can still send me Kernels to try out
Garcia98 said:
I need a tester
Sent from my D5503 using XDA Free mobile app
Click to expand...
Click to collapse
I can help you to test.
Brave Kernel Xperia Go Test
The test kernel boot fine.
Using the test kernel for a day. Kernel work awesomely.
Only found out that Interactive governor tunables not optimize for xperia go.
The governor not tune according to xperia go cpu, the tuneable are the same with my nexus 5
So i change the hispeed freq from 1190400 to 1000000, etc...
Now gonna test the kernel battery life, will let the phone idle for over night and then see the battery usage.
New release is out!
Version 1.3 of BraveKernel Refresh is out!
This version fixes the few bugs of the previous version and includes many new features like F2FS, look at second post for learning how to use this feature
Download the zip below and flash it in recovery or install it using Kernel Manager app
Download:
BraveKernel-Refresh_v1.3-lotus.zip
Changelog:
Code:
[B]08/02/2015 - BraveKernel Refresh v1.3 for KitKat[/B]
- Added minfree tweak in crontab
- Disabled management of not killable processes
- Tweaked adj and minfree values in init.d
- Added memory tweak in crontab
- Tweaked read_ahead_kb values
- Added F2FS support
- Fixed network arrows and speed information
- Fixed root and storage issues
- Added recovery in FOTA partition support
- Added kexec hardboot support
- Added 3 extra MB of usable RAM
- Added dynamic management of dirty page writebacks
- Added Ultra KSM
- Added entropy tweaks
- Updated BFQ scheduler
- Updated Linaro toolchain
- Improved LZO decompression
- Tweaked LMK
- Improved network speed
- Improved CPU performance
- Improved EXT4 speed
- Improved power management
- Tweaked memory management values
- Enabled clean cache
- Enabled JRCU
So far the kernel is working great. Over next week I'll be able to tell the approximate battery drain for my Go.
Only problem is with the recovery - the touch responses are not working as they should, for example, I can't use sliders (to accept zip flash or related) and buttons when pressed act weird. Any clues how to fix this?
This kernel is fantastic
Garcia98 said:
BRAVEKERNEL REFRESH​
Here we go with something (re)fresh, this is the thread of a customized kernel for KitKat ROMs (CM11, AOSX, SlimKat...) with some extra features added.
As always, feedback is welcome and highly valuable
Please if a bug is already reported do not spam the thread reporting it again, and use XDA DevDB tools for posting features requests and bug reports if it's possible :good:
Main features are these:
- Based in 6.2.A.1.100 source code
- Built with Linaro Toolchain 4.9.3 optimized for Cortex A9
- TWRP 2.8.4.0
- FRandom support
- Improvement in I/O latency
- Interactive governor updated to 3.4
- VFP optimizations
- PowerOn Key emulator
- ABBamp Sound Control v2.5.0
- Mali tweaks and controllers
- Governors and I/O schedulers parameters tweaked
- Cycle Charging control
- Real end-of-charge notification
- FSync control (combined dynamic fsync control)
- Voltage OTG control
- Added extra free kbytes tunable
- Swap and zRAM support
- Disabled dynamic debug
- Tweaked readahead size
- More choices of TCP congestions
- Proportional Rate Reduction for TCP
- Fix for scaling of minimum frequency problem
- Built with optimized -O3 & Neon flags
- SLUB memory allocator
- Ramdisk and kernel compressed with LZO
Available CPU governors:
- Powersave
- Userspace
- OnDemand
- Interactive (default)
- InteractiveQ
- Conservative
- OnDemandQ
- PegasusQ
- LulzActiveQ
- AbyssPlug
- HotPlug
- PegasusQPlus
- SmartAssv2
Available I/O schedulers:
- No-op
- Deadline
- CFQ
- ROW
- BFQ
- SIO
- ZEN
- V(R)
- SIO-Plus (default)
Kernel Downloads for KitKat:
BraveKernel Refresh KK-4.4 Folder
- v1.3 -
for CM 11.0, AOSX, SlimKat...​
How to install the kernel:
1) Download the kernel zip file to SD card
2) Reboot to recovery
3) Flash the kernel zip file
4) Wipe cache and dalvik cache if you are coming from another kernel
5) Reboot the system
Kernel Manager APP
If you prefer to use a simpler way for installing the kernel you can use this app, it allows you to make a backup of your current kernel and it also displays OTA updates of this kernel, really recommended :good:
Kernel sources (on GitHub):
Development repository of BraveKernel 3.0.101 for KK 4.4
​
Changelog:
Code:
[B]08/02/2015 - BraveKernel Refresh v1.3 for KitKat[/B]
- Added minfree tweak in crontab
- Disabled management of not killable processes
- Tweaked adj and minfree values in init.d
- Added memory tweak in crontab
- Tweaked read_ahead_kb values
- Added F2FS support
- Fixed network arrows and speed information
- Fixed root and storage issues
- Added recovery in FOTA partition support
- Added kexec hardboot support
- Added 3 extra MB of usable RAM
- Added dynamic management of dirty page writebacks
- Added Ultra KSM
- Added entropy tweaks
- Updated BFQ scheduler
- Updated Linaro toolchain
- Improved LZO decompression
- Tweaked LMK
- Improved network speed
- Improved CPU performance
- Improved EXT4 speed
- Improved power management
- Tweaked memory management values
- Enabled clean cache
- Enabled JRCU
[B]21/12/2014 - BraveKernel Refresh v1.0 for KitKat[/B]
- Initial release
Credits and thanks to:
munjeni and cocafe for their awesome work and their kernel sources
AGONTUK for TWRP recovery
CyanogenMod, Kernel.org, Sony, Google, Linaro GCC developers
All my testers
​
XDA:DevDB Information
BraveKernel Refresh, Kernel for the Sony Xperia Go
Contributors
Garcia98
Kernel Special Features: Customized kernel 3.0.101 for KK 4.4.x ROM
Version Information
Status: Stable
Current Stable Version: v1.3
Stable Release Date: 2015-02-08
Created 2014-12-24
Last Updated 2015-02-08
Click to expand...
Click to collapse
Hello author kernel . I apologize for my English , I do not know him at all , I use a translator from google. I'm from Russia , the kernel on my phone is slow . after the installation has decreased the amount of RAM . please in the development of the next version of the kernel fix it
BigLionXda said:
Hello author kernel . I apologize for my English , I do not know him at all , I use a translator from google. I'm from Russia , the kernel on my phone is slow . after the installation has decreased the amount of RAM . please in the development of the next version of the kernel fix it
Click to expand...
Click to collapse
Your total RAM decrease or low free RAM?
For my Xperia GO, total RAM available is 390MB.
Usually 272MB used, 118MB free.
TWRP 2.8.5.0
Hi! I bring you TWRP 2.8.5.0
To change your recovery:
1.- Open ADB shell or terminal emulator
2.- Download this file: recovery.img
3.- Run:
Code:
su
dd if=recovery.img of=/dev/block/mmcblk0p13
4.- Reboot to recovery.
Garcia98 said:
Hi! I bring you TWRP 2.8.5.0
To change your recovery:
1.- Open ADB shell or terminal emulator
2.- Download this file: recovery.img
3.- Run:
Code:
su
dd if=recovery.img of=/dev/block/mmcblk0p13
4.- Reboot to recovery.
Click to expand...
Click to collapse
Awesome. :good::good::good: Thanks for the update.
Is it work if I use fastboot flash recovery recovery.img?
Any plans of making a BraveKernel for Lollipop?
BelzIgoh said:
Awesome. :good::good::good: Thanks for the update.
Is it work if I use fastboot flash recovery recovery.img?
Click to expand...
Click to collapse
No, you can't use fastboot for installing recovery
luimx said:
Any plans of making a BraveKernel for Lollipop?
Click to expand...
Click to collapse
To be honest, no
Sent from my D5503 using XDA Free mobile app

[Kernel][CM12.1/AOSP]3.4.112_x_kernel_v1.5 (18/05/2016)

x_kernel
Introduction, Credits & Thanks
Hey guys,
i finished building a basic kernel for the Moto X. As far as i can see this kernel would be ready to release. I cannot encounter any bugs atm and the kernel is running stable and fast. Though, my main focus is not to distinguish myself, rather i am interested i some collaboration.
So this thread is dedicated to @tdhite @skiwong20 @zwliew @Gustavo_s @Megatron007 @##W4TCH0UT## @cyril279 @athulele ,.. which all did some great work in developing some roms and kernels already. I am sure i missed someone, feel included as well and i like to invite you to take the source, build the kernel and bring in your experience in testing, debugging, discussion and further improving. Together with arm-eabi-4.8 the kernel compiles without any errors and warnings.
Summary
But first let me summarize the status of my work and explain what i have done so far:
Based on the motorola source i updated the kernel to Linux Version 3.4.110.
During this process i had to adapt many commits to match the moto source. Also some patches needed to be excluded completely, because some stuff differed to much to merge the updates on top. A detailed description you find in this commit: Squashed update of cm-12.1 kernel to Linux 3.4.110
Second i examined the codeaurora LA.AF.1.1_rb1.18 branch and picked most of for our device left, relevant and working commits as well. Among others these includes patches for kgsl/gpu, camera, audio, net and wlan. Some stuff needed to be adapted too. Tag: LA.AF.1.1_rb1.18-extract
Main Features
- Linux Kernel 3.4.112 updates
- Codeaurora LA.AF.1.1_rb1.18 branch updates
- IoScheduler: Fiops, Sio, Vr, Zen
- Smartmax Governor and the changes by @tdhite
- IntelliActive Governor -> changed frequencies to match msm8960dt
- Intellidemand Governor-> changed frequencies to match msm8960dt
- Interactive Governor -> updates from the razrqcom-dev-team git and much more
- Faux's simple GPU governor
- Faux's IntelliPlug, IntelliThermal, Soundcontrol and USB Fastcharge adaption
- Vibration Strength Control
- Userspace LUT tuning & Colour Calibration, thx to @Gustavo_s
- Zram, Zsmallox, Zcache, Frontswap -> complete Linux Kernel 3.17 backport, a lot of credits goes to the razrqcom-dev-team
- Lz4 compression/decompression
- Kernel Mode Neon + Crypto SHA512 support
- complete lowmemorykiller backport with adaption to vmpressure and many other tweaks
- Rewritten overclocking capabilities up to 1890Mhz, thx to @faux123 fot his initial coding
- Kernel underclocking with a lower frequency of 189 Mhz, thx to @zwliew
- Customizable voltage table / Voltage regulator
- Kernel Samepage Merging tweaks
- disabled sparsemem
- WQ_POWER_EFFICIENT for power oriented workqueues
- LoUIS API for cache maintenance ops
- Scheduler updates
- RCU_FAST_NO_HZ enabled
- massive update regarding kernel's memory managment
- many many more stuff
- init.d script tweaks, see second post
Leftovers
Tweaks discarded for now or to be reviewed and reimplement:
- lib/string & lib/memcopy glibc version -> It is just a placebo maybe
- frandom -> may be incompatible with lollipop and can cause problems
- unaligned access -> can cause problems with a optimized toolchain
- adreno idler -> needs the implementation of powersuspend which we dont have atm
- vnswap, zswap,.. -> does anybody know a proper and up-to-date backport?
- optimizations flags to compile with linaro or uber
- more hotplug driver
Thats all from my side for now.
If there is any stuff which should be reverted, something that may cause problems, feel free to report.
If you have some recommendations, for example what hotplug driver to check and bring in tell me.
Whatever, every feedback is welcome.
Credits and Thanks to:
CyanogenMod, Kernel.org, Code Aurora Forum, Google, razrqcom-dev-team and everyone who is involved in developing for the moto x. Check out the commits author in my git.
Disclaimer: You're installing this at your own risk. Please, make nandroid backups before installing any of these kernels. I take no responsibility for damaging your phone.
XDA:DevDB Information
x_kernel, Kernel for the Moto X
Contributors
tycoo
Source Code: https://github.com/tycoo/moto_x_kernel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: v1.5
Stable Release Date: 2016-05-18
Created 2015-12-15
Last Updated 2016-05-18
Reserved
Important notes / Init Script
I added an init.d script named "x_kernel_init" to tweak some settings, which is pushed into the root folder /system/etc/init.d during the installation of the kernel. Sometimes this script is not completely executed after booting the device. To be sure, that the tweaks are applied and if you want to, start the script manually via the app Kernel Adiutor (downloadable via google play or the corresponding thread here at xda).
All kernel supported settings are tweakable within this app as well, so i strongly recommend to check this out.
At the moment zram isn't enabled via the script anymore, so if you need it, you have to enable it on your own.
If you don't want any of the tweaks to be applied, just delete the script and reboot.
x_kernel_init:
Code:
#!/system/bin/sh
echo "Applying 3.4.112_x_kernel init tweaks"
echo "..."
sleep 1
#cpu interactive
if [ -d /sys/devices/system/cpu/cpufreq/interactive ]; then
echo "50" /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo "918000" /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo "60000" /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo "80" /sys/devices/system/cpu/cpufreq/interactive/target_load
fi;
#cpu
if [ -d /sys/devices/system/cpu/cpu0/cpufreq/ ]; then
echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "1728000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
fi;
if [ -d /sys/devices/system/cpu/cpu1/cpufreq/ ]; then
echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "1728000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
fi;
if [ -d /sys/module/cpu_boost/parameters/ ]; then
echo "918000" /sys/module/cpu_boost/parameters/input_boost_freq
sleep 1
#cpu screen off frequency limit
if [ -d /sys/module/intelli_plug/parameters ]; then
echo "1728000" > /sys/module/intelli_plug/parameters/screen_off_max
fi;
sleep 1
#kernel samepage merging
if [ -d /sys/kernel/mm/ksm ]; then
echo "Disable kernel samepage merging"
echo 0 > /sys/kernel/mm/ksm/deferred_timer
echo 0 > /sys/kernel/mm/ksm/run
fi;
sleep 5
#VM
if [ -d /proc/sys/vm ]; then
echo "Virtual Memory settings:"
echo "Dirty Ratio = 10"
echo "Dirty Background Ratio = 75"
echo "Dirty Expire Centisecs = 380"
echo "Dirty WriteBack Centisecs = 950"
echo "Swappiness = 20"
echo "Vfs Cache Pressure = 90"
echo "10" > /proc/sys/vm/dirty_background_ratio
echo "75" > /proc/sys/vm/dirty_ratio
echo "380" > /proc/sys/vm/dirty_expire_centisecs
echo "950" > /proc/sys/vm/dirty_writeback_centisecs
echo "20" > /proc/sys/vm/swappiness
echo "90" > /proc/sys/vm/vfs_cache_pressure
fi;
sleep 1
#lowmemorykiller
if [ -d /sys/module/lowmemorykiller/parameters ]; then
echo "Enabling adaptive LowMemoryKiller"
echo "530592" > /sys/module/lowmemorykiller/parameters/vmpressure_file_min
echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
echo "Setting LowMemoryKiller Minfree to Aggressive"
echo "0,20,50,100,250,500" > /sys/module/lowmemorykiller/parameters/adj
echo "2048,4096,8192,16834,24576,32768" > /sys/module/lowmemorykiller/parameters/minfree
fi;
sleep 1
#zram
#SIZE=270
#swapoff /dev/block/zram0
#echo "Setup Zram swap device with a size of 270MB"
#echo 1 > /sys/block/zram0/reset
#echo "Set Zram max compressions streams to 8"
#echo 8 > /sys/block/zram0/max_comp_streams
#sleep 1
#if [ $SIZE -ne 0 ]; then
# echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
# mkswap /dev/block/zram0
# swapon /dev/block/zram0
#fi;
#sleep 1
echo "...finished"
sleep 3
exit
Reserved
Changelog:
v1.5 https://github.com/tycoo/moto_x_kernel/commits/x_v1.5
- added some tweaks from teammex's kernel
- added many commits regarding RCU_FAST_NO_HZ, Scheduler and smpboot from zwliew's kernel
thx to @zwliew & @TeamMex
v1.4 https://github.com/tycoo/moto_x_kernel/commits/x_v1.4
- update to Linux Kernel 3.4.112
v1.3 https://github.com/tycoo/moto_x_kernel/commits/x_v1.3
- underclocking & overclocking implemented by default
- finally fixed mpdecision/thermal daemon breaking the user set frequency limits.
Benefits: - phone doesnt boot at overclocking frequency anymore, this was especially an issue on core 2.
- gov smartmax is usable together with mpdecision
- disabled sparsemem
- added faux simple gpu governor
- sweep to sleep properly working
- added WQ_POWER_EFFICIENT for power oriented workqueues
- massive memory management updates
- a lot of cpu, cpufreq and gov interactive related updates
v1.2.1 UC/OC experimental https://github.com/tycoo/moto_x_kernel/commits/x_v1.2.11
- added underclock 189Mhz frequency and overclocking capabilities up to 1890Mhz
- added cpu voltage control
- added a init script to disable ksm, tweak vm & lmk and setup zram
Install and proceed with caution:
- changing the clocks and voltages to higher or lower values can cause instabilities and in the worst case damage your phone
- changing, limiting and setting the cpu frequencies only works with intelli plug hotplug driver selected! Strongly advise to select intelli plug first after boot.
As already mentioned in the Kernel Aduitor options, Mpdecision can cause issues.
- also the max screen off frequency has to be set to avoid higher frequency during screen off
v1.2 https://github.com/tycoo/moto_x_kernel/commits/x_v1.2
- applied latest cyanogenmod cm-12.1 changes from Dec 22: https://github.com/tycoo/moto_x_kernel/commits/cm-12.1
- enabled fast charge
v1.1:
- implement LoUIS API for cache maintenance ops
- rbtree updates
- lowmemorykiller updates with the latest adaption to vmpressure, rbtree, ...
..
Great.
Let´s try it. Our moto x deserve this.
Congratulations about this job.
Good job!
Running very well on my phone with SlimLP.
Was the download link removed?
Sent from my ghost using Tapatalk 2
good working
infectedorganism said:
Was the download link removed?
Click to expand...
Click to collapse
In the tab downloads
UrielGT-X said:
In the tab downloads
Click to expand...
Click to collapse
Thanks. I couldn't see that on Tapatalk.
Sent from my ghost using Tapatalk 2
Thanks for a new Kernel @tycoo
Could F2FS support be also added at some stage ?
orky87 said:
Thanks for a new Kernel @tycoo
Could F2FS support be also added at some stage ?
Click to expand...
Click to collapse
F2FS should be in already. Intervigilium merged the motorola f2fs driver into the cm-12.1 branch before.
Nice job...will test within the next few days with Mokee Rom.
Sent from my Moto X using Tapatalk
tycoo said:
F2FS should be in already. Intervigilium merged the motorola f2fs driver into the cm-12.1 branch before.
Click to expand...
Click to collapse
Applying F2FS causes infinite boot for me not sure whats causing it but could you verify that it works..
orky87 said:
Applying F2FS causes infinite boot for me not sure whats causing it but could you verify that it works..
Click to expand...
Click to collapse
I'm using this kernel with /cache and /data formatted for f2fs.
Flash this kernel first, then flash the file linked below. It should work.
Credits to @chaoslimits for the fix.
https://www.dropbox.com/s/sko06ob7qja8f8p/ghost_F2FS_enable_v1.zip?dl=0
Also, a BIG thanks to @tycoo for the kernel. Everything is running smooth and stable thus far.
Sent from my ghost using Tapatalk 2
Nice fix @chaoslimits & thx @infectedorganism for sharing
Didn't know about that. My kernel uses Anykernel atm, which grabs the ramdisk of the previous rom or kernel installation during the flashing procedure.
So the good thing is, once you flashed the provided fix and it doesn't matter when, if you are staying with a kernel with Anykernel afterwards you never have to install the fix again.
Small update to x_kernel_v1.1
- implement LoUIS API for cache maintenance ops
- rbtree updates
- lowmemorykiller updates with the latest adaption to vmpressure, rbtree, ...
https://github.com/tycoo/moto_x_kernel/commits/v1.1
Lets see how this goes
Error while flashing... No MD5 and it's 138mb? So confused can someone mirror this?
Sent from my Moto X using Tapatalk
tycoo said:
Small update to x_kernel_v1.1
- implement LoUIS API for cache maintenance ops
- rbtree updates
- lowmemorykiller updates with the latest adaption to vmpressure, rbtree, ...
https://github.com/tycoo/moto_x_kernel/commits/v1.1
Lets see how this goes
Click to expand...
Click to collapse
add new features included underclockin and fast charger?
tchula said:
add new features included underclockin and fast charger?
Click to expand...
Click to collapse
no underclocking yet, fastcharge is in but is not activated in defconfig
Still don't get this...
Sent from my XT1055 using Tapatalk

Categories

Resources