CoCore-E-Refresh Kernel for Power Users
( Index )
1. Instructions & Installation & APP & Downloads & Credits & Source
2. FAQs & HOW-TO
3. HOW-TO
4. Change log
5. ADD-ON
( Responsibility )
I'M IN NO WAY RESPONSIBLE OF ANY DAMAGE CAUSED BY USING THIS CUSTOM KERNEL.
PLEASE NOTE THAT SOME FEATURES LIKE OVERCLOCKING CAN DAMAGE YOUR PHONE.
Click to expand...
Click to collapse
( What is needed )
* Samsung GT-I9070 (Android 4.1 Samsung Stock Firmware)
* Samsung GT-I9070P (CoCore-EP)
* Some Android experience
* Knowing how to use Terminal
* Patience
( Downloads )
Please check the DOWNLOAD button at the TOP.
( Features )
{
"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"
}
Linux Kernel 3.0.101
fs: CIFS filesystem supported
fs: FSync control (Combined dyn fsync control)
fs: F2FS filesystem
fs: Mount noatime and nodiratime by defualt [franciscofranco]
fs/aio: Asynchronous IO performance improved
mm: SLQB memory allocator
arm: ThumbEE supports
arm: Optimzed rwsem algorithm [ezekeel]
arm: Remove old version sha1 implementation
arm: CPU unaligned access path
arm/vfp: Built with neon
arm/crypto: ARM AES and SHA-1 crypto implementation
arm/topology: Linaro lastest patches
abb-Codec: ABBamp audio v2.4.8
abb-Regulator: USB power sharing
abb-Charger: Charger control
abb-FG: Disabled LowBat wakelock
abb-FG: Cycle Charging control
abb-Chargalg: Charge cycle control
abb-Chargalg: Real charged notification
abb-POnKey: PowerOn key emulator
lib: Optimized CRC32 algorithm [ezekeel]
lib: GNU C version memcpy
net: More choices of TCP congestions
net: Proportional Rate Reduction for TCP (PRR implementation)
mmc: SPI CRC can be disabled!
rcu: jRCU [Joe Korty]
mm: UKSM 0.1.2.2
swap: Swap supports
zram: Optimized for android
misc: CRT off-screen effect support
misc: PN544 NFC works (I9070P only)
mali: Utilization control
mali: PP scheduler tweakable
mali: PM sampling rate tweakable
mali: L2 cache max reads writable
mali: Max preemptive allocated OS memory size control
mali: OS Kernel memory allocation order tweakable
mali: Pre-allocated memory size 16mb -> 24mb
mali: Disabled mali state tracking
mali: Disabled mali debug prints
mali: Fixed mali OSK memory allocation failures
mali: GPU clock auto-boost to 480MHz by default
mali: GPU OC control, up to 730Mhz
block: 9 IO schedulers
snvet: Disabled svnet wakelock
sched: Enable arch_power by default
sched: Disabled sched debug stuff
prcmu: Clock control module [Thanks Adi_Pat for module framework]
sched: ARM multi-core scheduler
debug: Removed Samsung debug code [Adi_Pat]
debug: Disabled KGDB [Adi_Pat]
debug: Removed frame pointer [Adi_Pat]
debug: Fixed mismatches [Adi_Pat]
debug: Android logger as module (freed 4mb RAM)
debug: Disabled function tracer
st-mmio: Burning Camera LED mode
mxt224e: Touch sensitivity improved by default
mxt224e: Touch booster control
mxt224e: Touch params control
mxt224e: Touch auto calibration
mxt224e: Sweep2Wake (with wakelock)
mxt224e: TouchScreen configs writable
mxt224e: Frequency of reporting touch events increased
mxt224e: Touch issues of left and right sides fixed!!
cypress-touchkey: Touch2Wake (with wakelock)
s6e63m0: Startup gamma issues fixed
s6e63m0: Color filters (In technical, It's While RGB)
s6e63m0: Gamma tuner
s6e63m0: Brightness unlocked
s6e63m0: Ultra-low brightness (Night Mode)
s6e63m0: Illumination(brightness) table tuner
s6e63m0: Allowed maximum brightness in manual mode
s6e63m0: LCD clock tweakable (FPS limitable)
bcmdhd: PM_FAST mode by default (faster WiFi)
bcmdhd: PM mode tweakable
kernel: LZO compression
random: Entropy tweaks [dorimanx]
random: Frandom module support
ramdisk: Custom bootanimation supports [diego-ch]
ramdisk: LZO compression
ramdisk: Init.d scripts supports
ramdisk: ADB permission fixed (prompted SU permission by default)
ramdisk: Enabled ADB in LPM charging
ramdisk: ClockworkMod Recovery 6.0.2.8 [diego-ch]
ramdisk: ClockworkMod Recovery 6.0.3.4 [CyanogenMod, thanks OliverG96]
ramdisk: ClockworkMod Touch Recovery 6.0.3.3 [CyanogenMod, thanks OliverG96]
ramdisk: Team Win Recovery Project 2.6.3.0 [TeamWin]
cpufreq: Overclocking up to 1228MHz, more cpufreq steps
cpufreq: Undervoltage supports, 200MHz UVed by default.
cpufreq: 15 available CPU governors
cpufreq: Fix CPU1 hotplug issues when swtching governors
cpuidle: Deeper sleep state
makefile: Useful optimization flags
ux500 pcm: Correct max PCM periods bytes
usb switcher: Soft workaround for fixing ADB connection issues
toolchain: Linaro GCC 4.6.2
More details in changelog and Github repos
( Installation )
If you have never installed a custom kernel on device:
You can:
1. Extract the latest kernel.bin.md5 from the zip, and installed it via Universal Kernel Flasher.
2. Use dd method below to install a custom kernel, and also you will have a custom recovery.
3. Make a Odin flashable package to flash custom kernel which will increase custom binary counter.
[Universal Kernel Flasher]
Thanks Frapeti for this tool!
[DD method]:
You need to ROOT your phone first.
1. Download kernel zips
2. Extract kernel.bin.md5 from zips
3. Copy kernel.bin.md5 to somewhere you like (e.g. /sdcard)
4. Open Terminal app,use these commands
Now lets go to superuser mode
su
Click to expand...
Click to collapse
Now lets flash(dd) kernel to kernel partition
dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15
Click to expand...
Click to collapse
5. Reboot to take effects
reboot
Click to expand...
Click to collapse
* If you type a wrong dd command,it might hard birck your phone
So please think twice before hit enter
* WARNING: Think twice before you hit Enter,
some people bricked their phone because of a wrong command.
* Recommend SAFER recovery method
* It is recommended that check the md5 of kernel.bin.md5
If it doesnt match 'md5.txt' in zips,dont flash to phone.
Please re-download zips
[Recovery method]:
CoCore-E 4.0+ will only provide flashable zips.
Please flash custome recovery kernel first(3.3 or others).
Press Vol.Up + Home + Power to go to recovery.
Then choose zips in external/internal sdcard to flash.
( Uninstall )
Flash stock kernel to uninstall
dd if=/dev/block/mmcblk0p17 of=/dev/block/mmcblk0p15
Click to expand...
Click to collapse
* mmcblk0p17 is a backup of stock kernel in phone
* If not sure, flash stock kernel via Odin
( Tweak App )
@hastalafiesta 's CoCore Manager
@wizwin 's tweak app for CoCore-E
( Source )
Github
( Credits [a-z] )
@adi_pat for helping the kernel and patches&hints!!!
@CallMeVentus for teaching a lot of things and testing EP!!!
@fedevd Good buddy!!
@frapeti for testing and helps!!
@OliverG96 for helps of building recovery!!!
@diego-ch for helping the kernel and cwm!!!
@hafidzduddin for helping the kernel and great hints!!
@ming86 for debugging and patient testings!!!!
Samsung for opening kernel source!!
@Shaaan for helping and finding cwm reboot command patch!!
@shut_down for answering in threads!
Team Win for T.W.R.P recovery!!
@t4n017 for ramdisk source
@BOOTMGR for various helps
@etch04 for various helps
@mkaluza for various improvements
XDA:DevDB Information
CoCore-E-Refresh, Kernel for the Samsung Galaxy S Advance I9070
Contributors
cocafe, cocafe, TeamCanjica, adi_pat, CallMeVentus, fedevd, frapeti, OliverG96, diego-ch, hafidzduddin, Shaaan, shut_down, BOOTMGR, etch04
Source Code: https://github.com/cocafe/i9070_kernel_CoCore-E
Kernel Special Features: Various controllers, CPU OC/UV, GPU OC, Screen dimmer, Sound enhancer, etc etc
Version Information
Status: Stable
Current Stable Version: r24
Stable Release Date: 2015-05-22
Current Beta Version: -
Beta Release Date: 2015-01-13
Created 2014-03-21
Last Updated 2015-05-22
2. Faq & how-to
( FAQ )
Q: What firmware does this kernel support?
A: All ROM bases on stock firmwares,all stock firmwares.
Click to expand...
Click to collapse
Q: Why my phone lags a lot!
A: Please check the cpu load.If it always goes very high,some apps are using cpu!And please check that you are not in PowerSaving mode.
Click to expand...
Click to collapse
Q: Why my phoen lags after booting in some minutes?!
A: Media Scanner is running in the background. More media files(especailly HD videos),more time it will take
Click to expand...
Click to collapse
Q: Why my phone cannot go to deep sleep when screen is off!!!
A: Fix it youself. It is app(s) taking the wakelock. Not kernel.
Click to expand...
Click to collapse
Q: Do I need to wipe anything when flashing this kernel?
A: NO
Click to expand...
Click to collapse
Q: My phone rebooted suddenly!!! What can i do?!
A: Give me /proc/last_kmsg and logcat. Will try my best to fix.
Click to expand...
Click to collapse
Q: Do i need to wipe data or dalvik caches?
A: No.
Click to expand...
Click to collapse
Q: Hey!Your kernel has issue!No-fills CPU shows me a wrong freqs!Fix it!
A: This is NOT issue.Every I9070 kernel will have this problem.Because No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
Q: My GPS doesnt work!?
A: Our Kernel only provides a trigger of enabling the GPIOs of GPS.It doesnt have GPS driver.
So check it in setting menu or try to reboot to fix or try to edit the region server of your GPS,remember to enable Wireless Position
Click to expand...
Click to collapse
Q: The audio volume is tooooo low in calls!!
A: My teammates diego and frapeti confirmed that this is baseband issue.
Flash newer firewares(at least LQB) or flash newer baseband directly.
Click to expand...
Click to collapse
Q: Hey my phone still lags after startup!
A: 1) Select another governor 2) Install Elixir(an app),tap Running,Select CPU usage filter,check which app(s) is taking cpu load!Then kill them.
In most caes,download provider is the battery and performance dainer! It runs when you download a file in browser like Chrome,it has a
serivice named Media Scanner,so dont remove it,just kill it.
Click to expand...
Click to collapse
Q: My phone cannot charge properly!
A: This is caused by your cable. Our usb switch driver has bugs right now(stock kernel too). We are fixing it. See here
Click to expand...
Click to collapse
( HOW-TO )
HOW-TO play with this kernel.
Terminal is needed.
If you get 'Permission denied', you need su permission.
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.
It's a good idea that use SManager to add widgets on the launcher to switch tweaks!
I have uploaded my scripts in POST#5
( Boot time )
CoCore-E boots faster than stock normally.
Stock: 8000ms - 8500ms
CoCore-E: 7800ms - 8000ms
Click to expand...
Click to collapse
To check boottime
cat /d/boottime/summary
Click to expand...
Click to collapse
* TWRP kernel boottime is longer(around 8000ms). Because of that big ramdisk!
( Bootanimation )
Put bootanimation.zip in /system/media/.
Recommend you changing the permission to 0666.
If there is no bootanimation.zip, kernel will show Samsung's.
( CPU governors )
Performance, OnDemand(default), Powersave,
Userspace, Conservation, Interactive, InteractiveQ, PegasusQ, PegasusQPlus, HotPlug, OnDemandQ, AbyssPlug,
Smartassv2, Zzmoove, LulzactiveQ
Click to expand...
Click to collapse
* OnDemand has been patched cpu idle detection
* PegasusQ is taken from SiyahKernel (new version)
* PegasusQ recommended
* Most of custom governors are based on ondemand/interactive
* OndemandQ/InteractiveQ will hotplug cpu when screen turns off only.
* If you mind the battery life time, choose HotPlug. It hotplugs cpu frequently.
* Interactive updated to linux-android-3.4 [Thanks! Aditya!]
* Zzmoove is the new version(0.3)
* LulzactiveQ, it will hotplug CPU1
( CPUFREQ - DVFS )
Samsung DVFS is disabled by default now, since it conflicts with new cpufreq table.
Now we have took back the cpufreq control.
Use CPU control APP like SetCPU, no-frills CPU to set min/max cpufreq.
I created some fake interfaces in /sys/power/, so Power Saving mode still works.
To change the Power Saving max cpufreq: (default: 800MHz)
echo 600000 > /sys/power/cpufreq_dvfs_powersave
Click to expand...
Click to collapse
( LiveOPP - CPU OC/UC/OV/UV )
LiveOPP can control the properties of each cpufreq step.
LiveOPP values in /sys/kernel/liveopp
View all files in that folder first.
CPU freq table:
(Showed freq) : (Real freq)
200000 kHz : 192000 kHz
400000 kHz : 399360 kHz
600000 kHz : 599040 kHz
800000 kHz : 798720 kHz
1000000 kHz : 998400 kHz
1050000 kHz : 1049600 kHz
1100000 kHz : 1100800 kHz
1150000 kHz : 1152000 kHz
1200000 kHz : 1200000 kHz
1250000 kHz : 1228800 kHz
Click to expand...
Click to collapse
Overclocking depends on the device CPU quality you have.
You need to enable setting voltage in the slot first, if it is disabled:
echo set_volt=1 > arm_slot<id>
Click to expand...
Click to collapse
To decrease the voltage (UV) of a step: Example: @200MHz
echo varm- > arm_step0
Click to expand...
Click to collapse
To increase the voltage (OV) of a step: Example: @200MHz
echo varm+ > arm_step0
Click to expand...
Click to collapse
To change the voltage of a step:
echo varm=0x?? > arm_step<id>
Click to expand...
Click to collapse
* It means it accepts a HEX value only.
* ARM voltage is in 12.5mV steps
* Recommended that not tweaking Overclocking steps voltage
( GPU OC )
GPU clock controller valued in /sys/kernel/mali
Available interfaces:
mali_auto_boost
mali_available_frequencies
mali_boost_delay
mali_boost_high
mali_boost_low
mali_dvfs_config
mali_gpu_clock
mali_gpu_fullspeed
mali_gpu_load
mali_gpu_vape
version
Click to expand...
Click to collapse
Check mali_dvfs_config first.
mali_auto_boost
It's a simple GPU governor that can boost clock according to GPU load, enabled by default
To disable: echo 0 > /sys/kernel/mali/mali_auto_boost
Click to expand...
Click to collapse
mali_boost_delay
The delay of boosting frequency, in ms.
echo ??? > /sys/kernel/mali/mali_boost_delay
Click to expand...
Click to collapse
mali_boost_high
The high frequency performance profile.
Upthreshold: When GPU load is higher than this value, GPU clock will increase.
DVFS idx: DVFS data index in mali_dvfs_config.
echo ??????(a frequency) > /sys/kernel/mali/mali_boost_high
echo idx=??(a DVFS index) > /sys/kernel/mali/mali_boost_high
echo threshold=??? > /sys/kernel/mali/mali_boost_high
Click to expand...
Click to collapse
mali_boost_low
The low frequency performance profile.
Downthreshold: When GPU load is lower than this value, GPU clock will decrease.
DVFS idx: DVFS data index in mali_dvfs_config.
echo ??????(a frequency) > /sys/kernel/mali/mali_boost_low
echo idx=??(a DVFS index) > /sys/kernel/mali/mali_boost_low
echo threshold=??? > /sys/kernel/mali/mali_boost_low
Click to expand...
Click to collapse
mali_gpu_clock
Current GPU clock.
Say a frequency to tweak the clock directly.
echo ?????? > mali_gpu_clock
Notice! If auto-booster governor is enabled, this GPU will override.
Click to expand...
Click to collapse
mali_gpu_fullspeed
Value 1 means GPU is working at full speed.
Value 0 means GPU is working at half speed.
When on half speed, GPU clock will be divided by 2. Namely, 399 / 2 = 199 kHz.
Require full speed:
echo 1 > mali_gpu_fullspeed
Required half speed:
echo 0 >mali_gpu_fullspeed
Click to expand...
Click to collapse
mali_gpu_load
GPU load (aka: utilization)
Click to expand...
Click to collapse
mali_gpu_vape
GPU voltage on full speed.
Click to expand...
Click to collapse
version
GPU OC driver version.
Click to expand...
Click to collapse
( IO schedulers )
SIO(2012), SIO-Plus, VR, BFQ(v7r2), CFQ, NOOP, ZEN, ROW(v4), Deadline
Click to expand...
Click to collapse
* Default IO scheduler: CFQ
* SIO/ROW/SIO-Plus recommended!
( frandom module )
(5.3+) To enable FRANDOM kernel module:
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
Click to expand...
Click to collapse
( Deepest sleep state )
Stock: 3 Default: 3
Deepest supported is 5.
To change:
echo 5 > /d/cpuidle/deepest_state
Click to expand...
Click to collapse
* PegasusQ(hotplug governors) works badly with 5
* OnDemand works well with 5
* Please note that it wont increase the using time but standby time.
* ( 6.0+)You can add an init.d script to tweak it 4 if you want
To check the cpuidle state:
cat /d/cpuidle/stats
Click to expand...
Click to collapse
( exFat sdcard )
In TWRP version kernel, it supports exfat sdcard.
Copy /sbin/libexfat.so to /system/lib
Insert exfat sdcard, use binary /sbin/exfat-fuse to mount
su
/sbin/exfat-fuse /dev/block/mmcblk1p1 /storage/extSdCard
Click to expand...
Click to collapse
Then tap mount sdcard in system settings to let system know sdcard is mounted
* Create an init.d script to mount exFat sdcard during startup
( zRAM SWAP )
[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 100 mb.
Setup disksize first: (example: 200mb)
echo $((200 * 1024 * 1024)) > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* 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:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
2. Create a new swap partition (mmcblk1p2)
Enable:
mkswap /dev/block/mmcblk1p2
swapon /dev/block/mmcblk1p2
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
( Init.d script )
Please install busybox in system first
I recommend install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permission of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permission 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permission will be executed 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.
On our board, the highest safe current is 900mA
( 6.8- ) See here,6.8+ has used new entries
( 8.6+)
To enable Current Control:
Setup current first: (for example, 900mA)
echo 900 > /sys/kernel/abb-charger/charger_curr
Click to expand...
Click to collapse
Turn on Current Control:
echo on > /sys/kernel/abb-charger/charger_curr
Click to expand...
Click to collapse
Turn off Current Control:
echo off > /sys/kernel/abb-charger/charger_curr
Click to expand...
Click to collapse
* The Custom Current must match the value in the Current Table
* InputCurrent and OutputCurrent are read from charger registers,
* If we find that this sysfs interface prints "VBUS DROPPED!" warning,
The charging current has been changed by driver because of a BAD charger!
* It need to plug/replug charger to take effect!
To enable Charger HW Control:
If we want to transfer data or stop charging, we can disable the charger:
echo off > /sys/kernel/abb-charger/charger_hw
Click to expand...
Click to collapse
To enable:
echo on > /sys/kernel/abb-charger/charger_hw
Click to expand...
Click to collapse
( 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:
echo on > /sys/kernel/abb-fg/fg_cyc
Disable:
echo off > /sys/kernel/abb-fg/fg_cyc
Discharging threshold (battery level %):
echo dischar=75 > /sys/kernel/abb-fg/fg_cyc
Recharging threshold:
echo dischar=70 > /sys/kernel/abb-fg/fg_cyc
Click to expand...
Click to collapse
( USB Power Sharing )
( 6.2+) This can enable the internal vbus power supply for usb devices.
But the phone still cannot recognize our usb devices now.
We can use it for fun, like charging for other devices, USB fan...
cd /sys/kernel/abb-regu
echo 1 > VOTG
Click to expand...
Click to collapse
* Say 0 to VOTG to disable
* Plug OTG cable first, then enable it
( USB Switcher )
Sometimes, we will lost the ADB connection after a reboot.
This is the software workaround to fix this issue, namely, SW reset the USB swticher.
echo 1 > /sys/devices/virtual/usb_switch/FSA_SWITCH/swreset
Click to expand...
Click to collapse
3. HOW TO
( WiFi PM Mode )
We can tweak WiFi screen-off PM mode now.
PM FAST is used by default to speed up, PM MAX is used to save power
To switch to PM_MAX:
echo 0 > /sys/module/dhd/parameters/dhdpm_fast
Click to expand...
Click to collapse
( MMC SPI CRC )
Disabling SPI CRC can improve mmc performance (10%)
But phone may freeze randomly.
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Click to expand...
Click to collapse
( Real charged notification )
Well, please let me call it notification.
To be honest, it needs to check manually.
( 6. For old versions
cat /sys/kernel/abb-chargalg/eoc_status
Click to expand...
Click to collapse
* You can use Root Explorer 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.
* According to my experiments, it needs 1-2 hours to charge to real full after it shows you 100%
( POnKey Emulator )
Because my power key is going to break, so I need this feature.
This is the software emulator of power key.
To turn off screen: ( 20 < value(ms) < 520 )
echo 100 > /sys/kernel/abb-ponkey/emulator
Click to expand...
Click to collapse
To active the power menu: ( 520 < value(ms) < ∞)
echo 800 > /sys/kernel/abb-ponkey/emulator
Click to expand...
Click to collapse
To use Vol.Up or Vol.Down key as Power Key:
echo volup=1 > /sys/kernel/gpio-keys/ponkey_emu
OR
echo voldown=1 > /sys/kernel/gpio-keys/ponkey_emu
Click to expand...
Click to collapse
* It doesn't work in suspend expect in charging.
( 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.
( 6. Old versions,please see here
Credit: Aditya(Adi_Pat)
First, why do i call it `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
Click to expand...
Click to collapse
* Use RootExplorer 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 infomation 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.
::: In 7.0+, all enable/disable commands have changed to on/off :::
Click to expand...
Click to collapse
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abb-codec/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abb-codec/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abb-codec/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abb-codec/anagain3
Click to expand...
Click to collapse
[HsLDigGain] (Headset left digital path gain)
Enable tweaks:
echo on > /sys/kernel/abb-codec/hsldiggain
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/hsldiggain
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
echo gain=?? > /sys/kernel/abb-codec/hsldiggain
Click to expand...
Click to collapse
[HsRDigGain] (Headset right digital path gain)
Enable tweaks:
echo on > /sys/kernel/abb-codec/hsrdiggain
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/hsrdiggain
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 4[+4dB])
echo gain=?? > /sys/kernel/abb-codec/hsrdiggain
Click to expand...
Click to collapse
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
Click to expand...
Click to collapse
* 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:
echo on > /sys/kernel/abb-codec/hslowpow
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/hslowpow
Click to expand...
Click to collapse
To tweak the mode (0: disable LP mode, 1: enable LP mode)
echo mode=? > /sys/kernel/abb-codec/hslowpow
Click to expand...
Click to collapse
[HsDacLowPow] (Headset DAC low power mode)
DAC is Digital-to-Analong Converter.
This lowpow mode is enabled by device normally.
Enable tweaks:
echo on > /sys/kernel/abb-codec/hsdaclowpow
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/hsdaclowpow
Click to expand...
Click to collapse
To tweak the mode (0: disable LP mode, 1: enable LP mode)
echo mode=? > /sys/kernel/abb-codec/hsdaclowpow
Click to expand...
Click to collapse
[HsHpEn] (Headset high pass filter)
This high pass filter is disabled by device normally.
Enable this can reduce some sub-nosie of audio.
Enable tweaks:
echo on > /sys/kernel/abb-codec/hshpen
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/hshpen
Click to expand...
Click to collapse
To tweak the mode (0: disable highpass filter, 1: enable highpass filter)
echo mode=? > /sys/kernel/abb-codec/hshepen
Click to expand...
Click to collapse
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 ClassDs only relate to Handsfree(speaker).
This can increase the high frequences sound of speaker
Enable tweaks:
echo on > /sys/kernel/abb-codec/classdhpg
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/classdhgp
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
echo gain=?? > /sys/kernel/abb-codec/classdhpg
Click to expand...
Click to collapse
[ClassDDithWGain]
Gain control for the white component of dithering filter
Enable tweaks:
echo on > /sys/kernel/abb-codec/classdwg
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/classdwp
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 10) higher value,higher gain (default: 10[Max gain])
echo gain=?? > /sys/kernel/abb-codec/classdwg
Click to expand...
Click to collapse
[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:
echo on > /sys/kernel/abb-codec/addiggain2
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/addiggain2
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 63) lower value, higher gain (default: [+6dB], max: 00[+31dB])
echo gain=?? > /sys/kernel/abb-codec/addiggain2
Click to expand...
Click to collapse
[EarDigGain]
This is the digtal gain of earpiece
Enable tweaks:
echo on > /sys/kernel/abb-codec/eardiggain
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abb-codec/eardiggain
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) lower value,higher gain (default: 4[+4dB])
echo gain=?? > /sys/kernel/abb-codec/classdwg
Click to expand...
Click to collapse
* It uses the same path of HsLDigGain,please check the volume table of HsLDigGain
* +8 dB might crash the sound of earpiece
[ShortCirConf]
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
Click to expand...
Click to collapse
echo ?? ?? > /sys/kernel/abb-codec/shortcir
Click to expand...
Click to collapse
* 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
[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:
echo [Index] [Disable?] > anaconf4
To Disable Speaker:
echo 5 1 > anaconf4
Click to expand...
Click to collapse
To Enable Speaker:
echo 5 0 > anaconf4
Click to expand...
Click to collapse
[Headset Charge Pump]
echo 0 > chargepump to use fixed 1.8V supply.
echo 1 > chargepump to use dynamic voltage supply, lower power cost.
Click to expand...
Click to collapse
[Lower-power Audio Mode]
echo on > lpa_mode to enable LPA mode
echo vape=0x?? > lpa_mode to adjust Vape voltage used in LPA mode
Click to expand...
Click to collapse
[Experts!]:
This method can work on any ab850x codec platform!
cd /d/asoc/U*/ab*
Click to expand...
Click to collapse
Play music,reduce the volume.
Now we are going to edit the codec registers.
echo REG VAL > codec_reg
Click to expand...
Click to collapse
E.G:
AnaGain3:
echo 0x16 0x00 > codec_reg
Click to expand...
Click to collapse
HsDigGain: (left/right channel)
echo 0x4F 0x00 > codec_reg
echo 0x50 0x00 > codec_reg
Click to expand...
Click to collapse
Disable all lowpow mode:
echo 0x04 0x00 > codec_reg
Click to expand...
Click to collapse
* These hacks will restore when codec power off.
( Camera LED Flash )
Burning LED mode for assistive light,
turning this on for a long time will heat up your device, be careful!
Enable/Disable:
echo 1/0 > /sys/class/camera/flash/burning_led
Click to expand...
Click to collapse
( Touch Booster control )
Touch booster can jump the cpufreq(in fact, not only cpufreq) to high value when you touch to improve the experience of touching.
I have disabled by default to save power.
( 9.8+)
To enable: (default: disable)
echo off > /sys/kernel/mxt224e/touchboost
Click to expand...
Click to collapse
To change the boost freq: (default: 400000, stock: 800000)
echo xxxxxx > /sys/kernel/mxt224e/touchboost_freq
Click to expand...
Click to collapse
* I reduced this to get a balance between performance and battery.
* If you feel lagged, set it 800000
* Disabling cpufreq requirement: echo 0 > /sys/kernel/mxt224e/touchboost_freq
To disable DDR/APE requests:
echo off > /sys/kernel/mxt224e/touchboost_ape
Click to expand...
Click to collapse
echo off > /sys/kernel/mxt224e/touchboost_ddr
Click to expand...
Click to collapse
To adjust the delay of canceling touch booster:
echo ??? > /sys/kernel/mxt224e/touchboost_delay
Click to expand...
Click to collapse
* The bigger value, the longer boost time. 500ms by default.
( Touch Parameters(Sensitivity included) control )
(7.0+)
This threshold(touch sensitivity) control is the real one.
echo ?? > /sys/kernel/mxt224e/threshold_t48
Click to expand...
Click to collapse
* When the threshold value is too big, touchscreen will lose responses.
* When the threshold value is low (<10), air touches will appear!
* When the threshold value is too low (<7), mxT224E calibration will fail,
and the points may fly here and there on the screen (signal is too noisy).
TIP: Enabling `Show Point Location` in Developer Settings to debug the touches
In the same folder, numtouch_t48 is the max number of touch fingers.
Movefilter is the filter which decides move sensitivity
Advanced users:
Read the configs document of mxT224E
Check T?? config, and calculate the address of the value.
To write configs of mxT224E:
echo [ADDR] [VAL] > /sys/kernel/mxt224e/config_t?
Click to expand...
Click to collapse
For example, T48_BASEFREQ is the value of reporting input events frequency (lower value higher freq)
Its address is 3 in config T48
echo 3 0 > /sys/kernel/mxt224e/config_t48
Click to expand...
Click to collapse
( Sweep2Wake )
This is the sweep2wake implementation of mxT224E + ABB-POnKey.
Sweep2wake means, you can wake up your phone via sliding the screen.
Sweep2wake uses wakelock by default, namely, your device won't go deepsleep with it enabled.
So we recommended that use this feature in charging (Home key is too hard to press) (When in charging, phone is waking always)
Enable/Disable:
echo on > /sys/kernel/mxt224e/sweep2wake
echo off > /sys/kernel/mxt224e/sweep2wake
Click to expand...
Click to collapse
Tweak the threshold of sliding:
echo threshold_x=??? > /sys/kernel/mxt224e/sweep2wake
echo threshold_y=??? > /sys/kernel/mxt224e/sweep2wake
Click to expand...
Click to collapse
( Touch2Wake )
Touch touchkey to wake up device.
Touch2wake uses wakelock by default, namely, your device won't go deepsleep with it enabled.
So we recommended that use this feature in charging (Home key is too hard to press) (When in charging, phone is waking always)
Enable/Disable:
echo on > /sys/kernel/cypress/touch2wake
echo off > /sys/kernel/cypress/touch2wake
Click to expand...
Click to collapse
( Touchkey LED )
We can disable Touchkey LED in kernel level now.
To disable:
echo on > /sys/kernel/cypress/led_disable
To enable:
echo off > /sys/kernel/cypress/led_disable
Click to expand...
Click to collapse
( Fsync control )
( 6. For old versions
( 6.8+)
Get current status:
cat /sys/kernel/fsync/mode
Click to expand...
Click to collapse
FSYNC modes:
0: fsync on
1: fsync off
2: fsync dyn
Click to expand...
Click to collapse
Disable FSYNC:
echo 1 > /sys/kernel/fsync/mode
Click to expand...
Click to collapse
* Disabling fsync can improve io performace,
but it can make the data which hasnt been written lose when a sudden power cut occurs.
Enable Dynamic FSYNC:
echo 2 > /sys/kernel/fsync/mode
Click to expand...
Click to collapse
* 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.
( S6E63M0 Color Tweaks )
cd /sys/kernel/s6e63m0/color
Click to expand...
Click to collapse
There are three files named main_?
For example, we tweak the red color here
echo 29 > main_R
Click to expand...
Click to collapse
* RGB default values are 24(R) 8(G) 36(B)
* Valid values range from 0 to 255
* Recommend you tweak it slightly
If you want to reset the settings:
( 6.:
echo -1 > main_R
Click to expand...
Click to collapse
( 6.8+):
echo reset > main_R
Click to expand...
Click to collapse
( S6E63M0 Gamma Mode )
cd /sys/kernel/s6e63m0/gamma
[View gamma_mode this file first]
[For some games which are dark, set gamma 1.9 mode will help you see the details of the screen!!!]
echo 1 > gamma_mode
Click to expand...
Click to collapse
( S6E63M0 LCD Clock )
cd /sys/kernel/s6e63m0/panel
[View lcdclk this file first] [This LCDCLK is a clock source, which looks like refresh rate]
echo INDEX > lcdclk
[For example: echo 1 > lcdclk , will limit fps around 50]
Click to expand...
Click to collapse
( S6E63M0 Brightness Control )
Change directory first:
cd cd /sys/kernel/s6e63m0/panel
Click to expand...
Click to collapse
Let me clear the panel brightness for you:
The brightness of our panel is depends on gamma
The gamma is generated according to illumination value
We have 26 levels of gamma, means we have 26 illumination values too
So the brightness in system like 1 and 6 are the same brightness in kernel driver(converted),
Because 1 and 6 are in the same gamma level.
Check the file gamma_table to see, the gamma valeus are the same
Unlocked brightness:
In non power saving mode,
We allowed 255 brightness uses the maximum gamma level(25) in kernel driver
In power saving mode,
The maximum brightness can be set is around 230(not 255).
illumination:
This can control this brightness of panel
You can write any value to it, maximum proper illumination is 300
echo ??? > illumination
Click to expand...
Click to collapse
To disable tweaks:
echo reset > illumination
Click to expand...
Click to collapse
* The minmum illumination panel supports is 1
* Illumination 0 and 3 has color issue!
illumination_table:
View this file first,there are 26 slots
Current: [??] ??? Shows you which index is using
The index0 is the minimum brightness(namely in power saving mode).
You can tweak every level of illuminations now.
Tweak index0 can modify the dimming brightness of system
For example:
Tweak index0 illumination:
echo 0 10 > illumination_table
Click to expand...
Click to collapse
* 0 is the index
* 10 is the value
* If you are in power saving mode now,the brightness will change!
Ultra low brightness: (When PowerSaving mode in System Settings is ON)
We use index 00 as brightness when PS mode is ON. You can change the index as you like.
echo 0 1 > illumination_table
Click to expand...
Click to collapse
To disable:
echo 0 19 > illumination_table
Click to expand...
Click to collapse
( Night mode / Sunlight mode )
Nightmode is darker than illumination value 1.
cd cd /sys/kernel/s6e63m0/panel
echo 1 > night_mode
echo 0 > night_mode
echo 1 > sunlight_mode
echo 0 > sunlight_mdoe
Click to expand...
Click to collapse
( Mali GPU )
Mali debug level
Disabling can speed up a bit
echo 0 > /sys/module/mali/parameters/mali_debug_level
Click to expand...
Click to collapse
* Higher level, more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
echo xx > /sys/module/mali/parameters/mali_l2_max_reads
Click to expand...
Click to collapse
* Some values will slow down graphics
* If not sure, keep default
Mali PM sampling rate: (Default: 1000ms)
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Click to expand...
Click to collapse
Mali PP scheduler tweaks: (Default: disable)
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
Click to expand...
Click to collapse
* 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.
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
Click to expand...
Click to collapse
* 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:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
Click to expand...
Click to collapse
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.
echo 120 > mali_utilization_low_to_high
Click to expand...
Click to collapse
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
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
Click to expand...
Click to collapse
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)
echo 6 > /sys/module/mali/parameters/mali_oskmem_allocorder
Click to expand...
Click to collapse
( TCP congestions )
Supported:
cubic(default), westwood, highspeed, vegas, veno, yeah
Click to expand...
Click to collapse
To check all the available options:
busybox sysctl net.ipv4.tcp_available_congestion_control
Click to expand...
Click to collapse
To change to other option:
busybox sysctl -w net.ipv4.tcp_congestion_control=YOU_WANT_TO
Click to expand...
Click to collapse
#include Francisco.franco's experiments [Thanks!]
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
Click to expand...
Click to collapse
* I use veno
* In fact, every congestion is disigned 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
Click to expand...
Click to collapse
To
0 0 mali
Click to expand...
Click to collapse
Then remove libGLES_android.so
* Recommend to backup these files
* In case it cannot boot,use TWRP file manager to recover changes
* According to my feelings: after disabling sw egl driver,UI is faster
( Logcat )
( 6. See here
( 6.8+) We support to load logger mode at early init now!
Just create a new file(empty file) named logger in /data
When this file exists,kernel will load logger.ko for you automatically
Member @KINGbabasula made a flashable zip to enable logger
( Vibrator )
To disable vibrator fully:
echo 0 > /sys/kernel/tspdrv/enable
Click to expand...
Click to collapse
( F2FS )
Now userdata partition (/data) supports mounting by F2FS.
F2FS is designed and optimized for nand flash, normally, it is faster than EXT4 filesystem.
A backup in TWRP is recommended!!
Make sure that your SD card has enough space!!
Click to expand...
Click to collapse
Recommended for experienced users, be careful, don't type a wrong partition number.
EXT4 to F2FS
Click to expand...
Click to collapse
1. Reboot to recovery, connect to PC, use ADB commands:
2. Backup the data partition as a tarball
Code:
cd /data
tar -cvf /external_sd/data.tar *
3. Now umount /data, we gonna format it (umount all mount points of mmcblk0p5)
Code:
umount /data /sdcard
4. Format the data partition (Do not type a wrong partition number, it is dangerous!)
Code:
cd /dev/block
mkfs.f2fs -l userdata mmcblk0p5
5. Now restore the data tarball
Code:
mount -t f2fs -o rw /dev/block/mmcblk0p5 /data
cd /data
tar -xvf /external_sd/data.tar
6. Then reboot system
F2FS to EXT4
Click to expand...
Click to collapse
1. Reboot to recovery, connect to PC, use ADB commands:
2. Backup the data partition as a tarball
Code:
cd /data
tar -cvf /external_sd/data.tar *
3. Now umount /data, we gonna format it (umount all mount points of mmcblk0p5)
Code:
umount /data /sdcard
4. Format the userdata partition
Code:
mke2fs -T ext4 -L userdata /dev/block/mmcblk0p5
5. Mount the userdata partition, and restore the data tarball
Code:
mount -t ext4 -o rw /dev/block/mmcblk0p5 /data
cd /data
tar -xvf /external_sd/data.tar
6. Reboot system
Tip: When device is booting, hold Vol.UP to check userdata partition.
Click to expand...
Click to collapse
( CRT off-screen effect )
Thanks frapeti for porting this.
You need to enable fbearlysuspend control first.
cd /sys/module/fbearlysuspend/parameters
echo 1 > fbdelay
echo 350 > fbdelay_ms
Click to expand...
Click to collapse
* frapeti recommended 350ms
( Miscellaneous )
To shut down phone forcefully:
echo 1 > /sys/module/ab8500_sysctrl/parameters/force_pwroff
Click to expand...
Click to collapse
To refresh battery stats:
echo 1 > /sys/kernel/abb-fg/fg_refresh
Click to expand...
Click to collapse
Workaround for losing responsive Samsung Official Camera (This is not kernel related)
Delete .thumbnails folder in /sdcard/DCIM
Create a empty new file named .thumbnails in /sdcard/DCIM
Click to expand...
Click to collapse
Almost tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts to apply them when boots. :laugh::laugh::laugh:
4. Changelog
( Changelog )
Here you can check the detail of changing, for more details: Check Github repo
2015-05-22
Reduce hardware memory reservation, more available ram 630 -> 641MB in task manager.
Change CPU PLL divider to 1
Add smartass v2 cpufreq governor
Disabled gentle fair sleepers
And other bugfixes and improvements.
2014-01-13
Updated to 3.0.101, the final version of Linux 3.0
vibrator: Added a toggle to disable/enable
F2FS
JRCU
Enabled cgroup fair and rt scheduler
Optimized touch screen for shape touch
Removed Samsung debug staff
2014-10-29
LiveOPP: Rewrite the code
PRCMU-QoS: Minimum cpufreq lock by @mkaluza
Updated to upstream samsung opensource - many fixes
zRAM fixes
Tuned virtual memory sysctl parameters
2014-07-22
Restarted kernel project on Samsung clean source.
With all controllers features of the old one, refresh kernel has:
Optimized DVFS API
Updated LiveOPP table for stability
Optional 100MHz CPU clock for power saving
Various bug fixes
Removed tons of junk
For details, please check the Github repository.
2014-04-07
mxt224e: Enabled touch booster code, added a delay to cancel touch booster.
block: SIO-Plus updated.
block: Updated BFQ iosched v5r1 -> v7r2
cpufreq: Add PegasusQPlus, Zzmoove updated.
liveopp: Update CPU OC algorithm, 200Mhz UV by default, Adjusted CPUFERQ table.
mali: Add GPU OC Driver (beta)
abb-fg: Disabled BATTOK detection, Fixed force shut down issues.
abb-fg: Adjusted power off threshold.
abb-fg: Allowed to report battery capacity goes up (more precious battery level)
mm: Removed UKSM forever
abb-codec: ABBamp v2.4.8
mm/slub: Updated to LK 3.0.101
fs/ext4: Updated to LK 3.0.101
fs/fat: Updated to LK 3.0.101
block: Fixed auto readahead size issues
ux500-wdt: Auto off on sleep
mxt224e: Adjusted median error touch thresholds in charging
...for more, check github kernel repo...
2014-02-16
mxt224e: Touch booster code disabled
zRAM: Use Google Snappy compression algorithm (faster)
ARM: decompressor: Enable unaligned memory access for v6 and above
LZO liv: Updated to latest version to speed up boottime
debug: Disabled Dynamic debug
logger: Add an enable toggle for entry storage
UKSM: Disabled to speed up boottime huge (-2700ms)
random: Decreased read/write wakeup threshold
block: Added SIO Plus iosched
block: Updated ROW iosched
abb-fg: Disabled lowbat poweroff wakelock
mxt224e: Fixed touch sensitivity in high noise level
DVFS: Fake Samsung DVFS interfaces
block: Limited default readahead size for small devices
pm: Removed most of ARM KHz Qos requirements
cpufreq: Added InteraciveQ
mach-ux500: LiveOPP 0.9.6 ==> OC supports
abb-codec: ABBamp 2.4.6
ARM: ux500: Enable 100MHz for SD/SDIO/MMC devices
cpufreq: interactive: Sync with android-kernel-common-3.0
cpufreq: Tweak some governors' params
misc: Kernel size reduced
2014-01-05
defconfig: Version tag 8.6
block: Updated ROW io scheduler
abb-charger: Updated Charger Control
abb-codec: Updated ABBamp 2.4 -> 2.4.5
abb-codec: Fix MIC booster show interface bug
abb-codec: Added anaconf4 interface to allow to disable speaker
abb-codec: Adjusted MIC booster level +15dB -> +6dB
cypress-touchkey: Added Touch2Wake with wakelock
cypress-touchkey: LED can be disabled in kernel level
fsync: Optimized sysfs show interface
fsync: Added reboot handler to flush data
samsung: Updated J4FS driver
abb-fg: Disabled LowBat wakelock by default
svnet: Disabled wakelock by default
svnet: Moved wakelock enable to userspace
mali: Added OSK memory allocation order module param
mali: Removed all debug prints
mali: Decreased OSK MEM allocation order
mxt224e: Added wakelock to Sweep2Wake
mmc/core: Fix permission of 'use_spi_crc'
mm: Added UKSM and use Quiet governor
st-mmio: Optimize flash LED interfaces, renamed highlight -> burning
fsa880: Added SWReset workaround
bcmdhd: Added PM_FAST control
defconfig: switch preempt RCU
2013-11-03 hotfix update
defconfig: version tag 8.0 -> 8.1 -> 8.2 …
mxt224e: disable touch booster by default (To save batterylife)
bcmdhd: off-screen pm mode MAX -> FAST (This is made for bcmdhd updated driver)
board-janice: mxt224e threshold batt 17 -> 15 (More sensitive)
block: downgrade bfq iosched v6r2 -> v5r1 (V6R2 has bugs which causes reboots)
power/wakelock: driver updates (Optimizes code)
sysfs: driver updates
fs/nls: driver updates
fs/fat: driver updates (Fixes FatFS name char issues)
tspdrv: driver updates (Optimizes code)
gp2a_light_prox: driver updates (Optimizes code)
ux500_usb: driver updates (Seems that it fixes UMS(USB Mass Storage) issues)
net/wireless: bcmdhd driver updates
(Now CoCore-E has synced up with lastest Samsung Kernel source)
2013-09-21
defconfig: version tag 7.6 -> 7.7 -> 7.8 -> 8.0
rcu: jRCU with lazy mode (To reduce RCU memory usage, designed for multi-core CPU)
mali: reset l2 max reads (According to documents, we have a fixed 32kb l2 size.)
mxt224e: fix threshold on charging (namely, fixed touch issues at the bottom on charging)
ux500 pcm: Proper#ed max pcm buffer rate
sysctl: tweak vm params (supports to fix memory leaks)
2013-09-03
defconfig: version tag 7.2 -> 7.6
rcu: enable fast nohz mode
mali: reduce pre-allocated os memory 24mb -> 16mb (to save some RAM for other things)
board-janice: reset BASEFREQ param of touchscreen (in order to fix the touching issues when charging)
board-janice: reset YEDGEDIST param of touchscreen (in order to fix the touch position offsets)
ramdisk: update TWRP recovery 2.6.0.0 -> 2.6.1.0
ramdisk: enable ADB function in LPM charging
s6e63m0: new gamma mode interface
s6e63m0: entry for tweaking lcdclk
s6e63m0: reduce the level0 illumination of illumination table (dimming more a bit at lowest brightness)
mxt22e: reduce x threshold of sweep2wake
snd_usb: fix sysfs conflicts
block: update BFQ iosched v5r1 -> v6r2
2013-08-24
defconfig: version tag 7.0 -> 7.2 - Stablity Update
misc: fix some small bugs during rebooting
arm: use previous hotplug timer for our platform(in order to reduce the possiblity of death sleep/wakeup)
arm: use simple spinlock (old implementation) instead of the new one (for stablity)
sched: enable /d/sched_features (so that you can tweak some sched features)
abb-chargalg: when real EOC reached, phone will wake up for seconds to notice user: charging has finished
mm: swtich SLQB -> SLUB memory allocator to get more stablity
mm/SLUB: use costly page orders (looks more smooth)
2013-07-25
defconfig: version tag 6.8 -> 6.9 -> 7.0
ramdisk: TWRP Recovery 2.5.0.0 -> 2.6.0.0
ramdisk: CWM Recovery 6.0.2.8 -> 6.0.3.4 (optional)
ramdisk: CWM Touch Recovery 6.0.3.3 (thanks OliverG96)
ramdisk: Fix ADB permission issues (SU permission by default, or it will return ERROR when pushing files)
param: correct param driver indexs
param: add debug module for developers
mxt224e: allow disabling freq requests of touchboost
cypress-touchkey: touch2wake when has wakelocks
mach-ux500: add janice gpio debug driver
mach-ux500: add janice dvfs debug driver
abb-codec: ABBamp audio v2.4 (optimized driver)
debug: disable a lot of debug stuff
cpufreq: remove lulzactivew governor (rather than use Performance governor)
cpufreq/ondemandq: replug up cpu1 when governor starts
cpufreq/ondemand: replug CPU1 when governor starts
cpufreq/performance: replug CPU1 when governor starts
cpufreq/interactive: replug CPU1 when governor starts
abb-chargalg: add private charger control
abb-POnKey: implement PowerOn Key emulator (can emulate power key via sysfs)
ARM: spinlock: use ticket algorithm for ARMv6+ locking implementation
ARM: SMP: use a timing out completion for cpu hotplug
TCP: Proportional Rate Reduction (better TCP performance, tested!)
mxt224e: remove auto calibration
mxt224e: sweep2wake implementation
mxt224e: touchscreen configs control-able
mxt224e: new param control (movefilter, numtouch, custom-able parameters)
mxt224e: new threshold control (this is the real one!)
mxt224e: increase report events frequency
mxt224e: fix touch issues on left and right sides (touch issues of top and bottom sides aren't able to fix, hardware issues!)
audio: Fix for choppy playback in Ubuntu pulse audio (patched it again)
mali: pre-allocated max memory size writable
mali: Pre-allocated memory size 16mb -> 24mb
sched: remove MC/SMT scheduler forever (they are broken and performance dropper)
sched: disable arch power
bcmdhd: reenable ipv6 and disable multicast in suspend
drivers/mmc: SPI CRC configurable
gpio-keys: POnKey emulator on Vol Up/Down
mm: SLUb -> SLAB -> SLQB
st-mmio: add highlight mode for rear flash led (it will heat up your phone, don't use for a long time!)
2013-06-12
defconfig: version tag 6.2 -> 6.3 -> 6.4 -> 6.6 -> 6.8
ramdisk: fix insmoding logger issues
random: read wakeup threshold 512 -> 256
s6e63m0: allow maximum gamma level in manual mode
s6e63m0: fix and add tweakable illumination table
cpufreq/ondemandq: update and fix dead sleep issues
cpufreq: add lulzactivew
cpufreq: add lulzactiveQ
abb-chargalg: enable sysfs charger control
abb-chargalg: update real eoc sysfs entries
fs: update fsync control 0.4
abb-charger: update charger control
audio: Fix for choppy playback in Ubuntu pulse audio
abb-codec: ABBamp audio v2.3b
abb-regulator: add Varm HW mode option
board-janice: add pn544 nfc platform data
misc: support I9070P, still beta now
2013-05-19
defconfig: version tag 6.0 -> 6.1 -> 6.2
block: bfq iosched v6 -> v6r1 -> v5r1 (v6r1 and v6 are unstable)
cpufreq: add and fix ondemandq governor
mxt224e: enhance and update touch params control
mxt224e: rename touch_boost -> touchboost
random: tune entropy parameter
lpm.rc: set hotplug governor when charging in low-power mode namely non-booting charging
abb-regu: add VOTG sysfs interface (otg isnt available yet,i'm sorry,but you can use usb fan now!~)
2013-05-01
defconfig: version tag 5.7.3 -> 6.0
random: entropy tweaks are all the rage nowadays
block: default iosched bfq -> cfq
block: update bfq iosched v5r1 -> v6
mxt224e: clean auto calibration
s6e63m0: add elvss table interface
cpufreq: disable ondemandq,i will fix it later
cpuidle: deepest state 4 -> 3
arm: remove cpu unaligned access path (suposed to fix sudden reboots)
scripts: remove the '+' at the end of local version string
cypress-touchkey: add interface to write touchkey threshold
abb-codec: headset hp filter default 0 -> 1
s6e63m0: color filters and gamma tuner
2013-04-21
defconfig: bump version 5.3 -> 5.6 -> 5.6.2
ab8500-codec: improve sound control
block: fix a bug of zen io scheduler
bcmdhd: fix wifi power in standby
s6e63m0: rename conflicts sysfs file lcd_power -> ldi_power
s6e63m0: fix the permission of ldi_power
s6e63m0: fix gamma mode issues after startup (Samsungs fault)
arm: cpu unaligned access path
fbearlysuspend: increase fbdaley time 50ms -> 350ms
mali: fix l2 cache reads when delete cache cores
mali: osmem max buffer size 64mb -> 16mb
drivers/char: add frandom module
mach-ux500: update prcmu clock control module
mxt224e: reduce threshold chrg 25 -> 20 (fix touch issues when charging)
mxt224e: update touch sensitivity control (touch params control)
mxt224e: default touchboost cpufreq 800000 -> 400000 (for more power saving)
mxt224e: update touch auto calibration
fs: keep param partition R/W for saving boot params (fix cwm reboot commands issues)
cpufreq: add debug mask to shut up annoying noise
s6e63m0: fix samsung's typos(warnings)
ramdisk: add twrp 2.5.0.0
ramdisk: fix sbin permisson
2013-03-31
defconfig: bump version 5.1 -> 5.3
ramdisks: fix bootanimation script
ramdisks: add fstrim binary
mali: osmem buffer size 64mb -> 16mb
mali: fix l2 cache reads when delete core
block/bfq: remove the "optimized" tweaks
fbearlysuspend: delay time 50ms -> 350ms
ab8500-codec: add a gain delay param
mxt224e: chrg threshold 25 -> 20
mxt224e: read threshold params from pdata
s6e63m0: fix a sysfs error
drivers/char: add frandom modulem
mach-ux500: finish prcmu clock control module
2013-03-24
defconfig: bump version 5.0 -> 5.1
ramdisk: remove kill bootanimation
fbearlysuspend: add stop drawing delay param
ab8500-codec: add earpiece widget event
ad8500-codec: add mic2 gain control
ab8500-codec: enhance sound control
mali: osmem max buffers 16mb -> 64mb
2013-03-17
defconfig:bump version 4.8 -> 5.0
ramdisk:update twrp 2.4.3.0 -> 2.4.4.0
ramdisk:add custom bootanimation support
cpufreq:add zzmoove governor
ab8500-codec:move anagain3
ab8500-codec:disable debugging
ab8500-codec:rename parameters
ab8500-codec:remove hs widget event
ab8500-codec:add classD high volume control
ab8500-codec:add ihf dac widget event
2013-03-10
defconfig:bump version 4.4 -> 4.8
ramdisk:twrp update 2.4.1.1 -> 2.4.3.0
mxt224e:improve touchbooster
misc:fix modifier name
ab8500-chargalg:edit eoc messages
ab8500-codec:remove shortcir control
ab8500-codec:improve anagain3 control
ab8500-codec:add detected chipid
ab8500-codec:add hsxgain control
ab8500-codec:add micxgain control
ab8500-codec:add hs lowpow control
ab8500-codec:add hs dac lp control
ab8500-codec:add hs hpf control
ab8500-codec:add classD hp/wg control
ab8500-codec:add hsx diggain control
2013-03-03
defconfig: bump version 4.2 -> 4.4
cpufreq: remove nightmare
cpufreq: add smartassv2 abyssplug
swap: enable zram
2013-02-24
cpufreq: fix nightmare hotplug freqs
arm: disable multi-core scheduler
ramdisk: disable multi-core scheduler
cmdline: extend -> bootloader
rcu: jrcu -> tree preempt rcu
2013-02-23
defconfig: bump version 4.0 -> 4.2
cmdline: select extend cmdline
cmdline: add tty console command
jrcu: disable lazy jrcu
ramdisk: add twrp 2.4.1.0
2013-02-21
defconfig: bump version 3.9 -> 4.0
android-logger: make it as module
ab8500-chargalg: fix eoc_status bug
2013-02-20
sched:disable autogroup
rcu:enable jrcu
arm:disable bpf jit
arm:enable mc sched
cpufreq:add ondemandq
cpufreq:add nightmare
2013-02-19
defconfig:bump version 3.5 -> 3.9
sched:enable autogroup
arm:disable mc/smt sched
ramdisk:disable ms/smt sched
fs:combine dyn fsync control
ab8500-chargalg:add real charged notification
ab8500-chargalg:add full charging cycle control
misc:apply aditya's mismatches patches
svnet:reduce waketime 6s -> 1s
2013-02-18
arm:enable multi-threading scheduler
include:in filter.h add if bpf configs
2013-02-17
defconfig:bump version 3.3 -> 3.5
mali:dlbu size 1024kb -> 4096kb -> 1024kb
ramdisk:make hwreg hwrandom as modules
2013-02-16
defconfig:bump version 3.1 -> 3.3
ramdisk:move cifs.ko out (it is too big)
mali:dlub size 2048kb -> 1024kb
arm:add bpf net jit filter
mach-ux500:fix a inline error
2013-02-15
ramdisk:lzop compression
cypress-touckey:all my experiments failed!
2013-02-14
defconfig:bump version 3.0 -> 3.1
fs/sync:implement fsync control via moduleparam
mm:increase max readahead 128kb -> 256kb -> 128kb
mali:max l2 cache cores 3 -> 5 -> 3
mali:dlbu size 1024kb -> 2048kb
arm:add optimized swab32
arm:enable multi-core scheduler
arm:enable linaro cpupower driver
arm:add xz kernel compression
ramdisk:enable multi-core scheduler
cpufreq:add hotplug governor
2013-02-13
defconfig:bump version 2.9 -> 3.0
defconfig:switch lzop compression
defconfig:disable slub debugging
arm/vfp:fix vfp thread holes
b2r2:increase heap size 4 -> 8 128 -> 256
2013-02-11
musb:add otg extra power support
ramdisk:2nd bootstage kernel boots
2013-02-10
defconfig:bump version to 2.8 -> 2.9
bcmdhd:remove suspend pm control
ramdisk:add cwm ramdisk
2013-02-09
defconfig:bump version to 2.6 -> 2.8
fs:enable cifs as module
drivers/char:include rng-core and hwreg into kernel
bcmdhd:add suspend pm control
bcmdhd:disable support_pm2_only
2013-02-08
mxt224e:add touch sensitivity control
mxt224e:charging threshold 22 -> 25
maxt224e:battery threshold 16 -> 17
ab8500_asoc:remove anc fir iir moduleparams
ab8500_charger:add charger control
2013-02-07
defconfig:bump version 2.4 -> 2.6
defconfig:remove usb otg 2.0 config
ab8500_asoc:remove vcp controls
ab8500_asoc:add anc fir/iir controls
mxt224e:add tsp threshold control
mxt224e:add touch booster control
2013-02-06
mm:disable cleancache (useless,doesnt work)
staging:disable zcache (useless,doesnt work)
kconfig:disable frame pointer debugger
cpufreq:add ondemand idle detection
ab8500_asoc:add two confs control
defconfig:enable usb otg 2.0 config
2013-02-04
defconfig:bump version 2.3 -> 2.4
mali: add pp scheduler control
rcu: enable rcu prio boost
mm: enable cleancache
staging: enable zcache
2013-02-03
defconfig: bump version 2.2 -> 2.3
ab8500_asoc: optimize sound control code
ab8500_asoc: remove power_on detection
ab8500_asoc: track anagain1/2/3/4
ab8500_asoc: add power_on detection add anagain4 control
ab8500_asoc: remove anagain4(useless) control,add shortcir control
2013-02-01
defconfig:bump version 2.0 -> 2.2
mali:add mali pm sampling rate module param
mali:add mali l2 size module param
mali:l2 max cache cores 5 -> 3
mali:gpu utilization sampling rate 500 -> 1000
lib:add glibc version memcpy
lib:add glibc version string
lib:add optimized crc32
ab8500_asoc:implemented headset volume control
2013-01-31
defconfig:bump version 1.8 -> 2.0
defconfig:remove rcu debugging print
defconfig:remove kgdb debugging
arm:remove old sha1
arm/topology:apply linaro patches
arm/crypto:add arm aes sha1 crypto
arm/power:add linaro dual cortex-a9 cpu power driver
arm/makefile:add -pipe
mali:gpu utilization time out 1000 -> 500
mali:add utilization limit module params
block:add bfq flash deivces tweaks
2013-01-30
defconfig: bump version 1.1 -> 1.8
cpufreq: update pegasusq
cpufreq: update pegasusq freq table
mali: gpu utilization time out 500 -> 1000
mali: add utilization sampling rate moduleparam
mali: l2 max reads writable
slub:avoid overahead
fs: add ezekeel fsync control
fs: mount noatime nodiratime by default
arm:add ezekeel rwsem implementation
net:disable hybla conf
2013-01-24
mali: os memory size 20mb -> 16mb
mali: l2 max cache cores 4 -> 5
ramdisk: remove noop,set ondemand
build.sh: linaro gcc 4.6
defconfig: bump version to 1.1
2013-01-22
rcu: remove fast nohz rcu
board-janice: improve mxt224-e sensitivity
ramdisk: disable cfq,ondemand
arm: disable mc scheduler
mali: os memory size 16mb -> 20mb (+4mb)
mali: l2 max cache cores 3 -> 4
2013-01-20
defconfig: u8500_CoCoE_defconfig
defconfig: kernel/ramdisk compression gzip -> lzop
drivers/samsung: merge param driver
drivers/samsung: merge j4fs driver
block: add bfq(v5r1) io scheduler
block: add row(v4) io scheduler
block: fix row compatibility
block: add sio io scheduler
block: add zen io scheduler
block:add vr io scheduler
mali: fix arch link
mali: disable mali state tracking
mali: max l2 reads 28kb -> 48kb
mm: slab -> slub
fs/aio: improve asynchronous io performance
cpuidle: deepest sleep state 3 -> 4
cpufreq: add pegasusq governor
sched: add nr_running symbol
sched: enable arch_power
arm: enable thumbee
arm/vfp: hardfloat+neon
net: enable advanced tcp configs
rcu: enable fast nohz rcu
board-janice: improve mxt224-e touchscreen sensitivity
bcm4330: screen off pm pm_max -> pm_fast
Click to expand...
Click to collapse
Notes
( Notes & ADD-ON & Downloads(continued) )
SManager Scripts:
I pushed the scripts wrote by myself [here], use them with SManager.
Bootanimations:
I have collected some bootanimations.
[Download Bootanimations Here]
Download link?
Thvmh said:
Download link?
Click to expand...
Click to collapse
A dude takes up my post.
I am waiting him to delete
Sorry
AW: [Kernel][10/02/2013] CoCore-E 2.8
Yey new Kernel Does this Kernel have the NFC Driver?
EDIT: Sry didn't read its for 4.1
Gesendet von meinem GT-I9070P mit Tapatalk 2
Nice noob friendly thread. :angel: :good::good::good:
Re: [Kernel][10/02/2013] CoCore-E 2.8
cocafe said:
A dude takes up my post.
I am waiting him to delete
Sorry
Click to expand...
Click to collapse
No problem!
Verstuurd van mijn GT-I9070 met Tapatalk
Karsten95 said:
Yey new Kernel Does this Kernel have the NFC Driver?
Gesendet von meinem GT-I9070P mit Tapatalk 2
Click to expand...
Click to collapse
Kernel source has NFC driver.
If I9070P gets JB,we can provide your guys P kernels too. :laugh:
Ready to sleep,it was Chinese new year yesterday (it is 00:30 now :laugh
Diego is really busy
He will provide us TWRP
We have tried CWM but failed
Will try later
cocafe said:
Kernel source has NFC driver.
If I9070P gets JB,we can provide your guys P kernels too. :laugh:
Ready to sleep,it was Chinese new year yesterday (it is 00:30 now :laugh
Diego is really busy
He will provide us TWRP
We have tried CWM but failed
Will try later
Click to expand...
Click to collapse
Well Done Boy Boy , so happy you are release so quickly in the 0210=Chinese New Year Now !! Thanks alot Buddy & please send my regards to your family and wish them (specially you) a most prosperous new year filled with joy, good life and much love. ..... :highfive:
sr cocafe i contact mod and delete soon :silly:
happy lunar new year everyone 5m to go new years
cocafe said:
Reserved Reserved Reserved
Click to expand...
Click to collapse
Boy Boy , can i know when you will release Cocore v4.1 Final kernel here because i still in GB JetMOD... ?
Re: [Kernel][10/02/2013] CoCore-E 2.8
coolkillermax said:
Boy Boy , can i know when you will release Cocore v4.1 Final kernel here because i still in GB JetMOD... ?
Click to expand...
Click to collapse
Thanks!! :thumbup:
dungeonshard said:
sr cocafe i contact mod and delete soon :silly:
happy lunar new year everyone 5m to go new years
Click to expand...
Click to collapse
Lol i release it with P kernel too
A lot of people are playing outside! Boom boom boom
Okay have to sleep
Sent from my GT-I9070 using xda premium
LOL im sick for 5 days and i cant go anywhere sr u so much, im from vn , now place
0:06 :good:
Any bugs?
kisiel96 said:
Any bugs?
Click to expand...
Click to collapse
Had to. :laugh::laugh::laugh::laugh::laugh:
It just come out. And it is easy to try, and check it yourself.
cocafe said:
Thanks!! :thumbup:
Lol i release it with P kernel too
A lot of people are playing outside! Boom boom boom
Okay have to sleep
Sent from my GT-I9070 using xda premium
Click to expand...
Click to collapse
Yes my side also with alot fireworks like war in the Sky..... Boy Boy you no answer my question yet...
---------- Post added at 01:31 AM ---------- Previous post was at 01:24 AM ----------
kisiel96 said:
Any bugs?
Click to expand...
Click to collapse
shut_down said:
Had to. :laugh::laugh::laugh::laugh::laugh:
It just come out. And it is easy to try, and check it yourself.
Click to expand...
Click to collapse
:good: :good: :laugh: :laugh: :laugh: :laugh:
And you found Bugs have to use this :
:laugh: :laugh: :laugh: :laugh: :laugh:
R: [Kernel][10/02/2013] CoCore-E 2.8
I have 2 questions:
1) Now i have Thunderzap kernel on my GSA, so can i flash this kernel without problems or i have to return to stock kernel??
2) Can I flash this kernel with the tool Universal Flash Kernel??
Thanks
Related
This kernel is self-used.
So something has not been added.
If you want,just tell me and problem you encounter.
Kernel Features:
General:
- Kernel version 3.0.y
- 390MB RAM
- Useful optimization flags
- jRCU [Joe Korty]
- Dynamic dirty page writebacks
- Timer slack controller
- Dynamic management of the minimal timer slack value during suspend/resume
- LowMemoryKiller management of not killable processes
- Android Logger Disabled(++Performance) (Check HOW TO on how-to enable)
- Frandom Read Me!
- Entropy tweaks.
- Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB).
- CWM 5
- LZ4 for Zram swap.
- Elf.3 included for better battery.
- DVFS(Dynamic Voltage and Frequency Scaling).What is DVFS? [Cocafe]
- Disable sched debug stuff
- Optimized SLUB memory allocator
- Optimized ARM RWSEM
- Low memory killer updated to Android 3.10
- Do not kill process
- ARM ThumbEE
- Build with neon
- Remove old version sha1 implementation
- Optimized AES and SHA1 routines for ARM cpu architecture
- Optimized string and memcopy libs
- Ram Console support
- L2 cache max reads writable
- Disable mali state tracking
I/O and Filesystem
SIOplus
CFQ
Deadline
ROW
V(R)
Zen
Noop
CPU
Pegasusq
Conservative
Ondemand
Performance
Interactive
Lazy
Wheatley
Sakuractive
Hotplug
SmartAssV2
Lionheart
Lulzactiveq
Nightmare
Dyninteractive
Download:
Experimental Kernel Stock:
ExperimentalSTOCK-12
Experimental Kernel CM10:
Experimental-CM10-12
Experimental Kernel ASOP:
ExperimentalASOP-12
MIUI v5 Kernel by akkufix:
MIUI v5 Kernel
Module Content::
Logger(Read How-to enable it)
CIFS(Required for SAMBA server)
and other non essential module
Credits:
Cocafe
Mujeni
Akkufix
alivanov79
stratosk
Christopher83
Source:
Github
Changelog:
12/01/2014
-clean and fixed source
-UKSM(disbaled by default)
-ABBamp Audio(thanks @cocafe)
-SLQB memory allocator
11/12/2013
-removed all experimental stuff
-removed DVFS
-fixes and tweaks
04/12/2013
-updated source to 3.0.101
-changed default lmk values
-KSM
-fix and tweaks
07/11/2013:
-fixed reboot problem
-remove compressed copy from zram in-memory
-backport zram from 3.7 kernel
-backport zsmalloc from 3.7 kernel
-lz4 compression for zram
-lz4 compressor module
-lz4 Cryptographic API
-included more Governor
-included more IO scheduler
14/10/2013:
- Change rcu to jRCU for reduced RCU memory usage and optimized for multi-core CPU
- SLQB slab allocator
- Memory compaction
- Built with -O3 optimization flag (both kernel and modules)
- Dynamic dirty page writebacks
- Dynamic management of the minimal timer slack value during suspend/resume
- Change default LMK minfree vlaues.
- Tweak VM params
- Updated governor
- Tweaked IO scheduler
04/09/2013
-Clean Source
-Kexec support
-Automatic zipalign and fstrim
-Not Killable Processes
08/08/2013
-DVFS
-zcache updated to 3.8
-ZRAM updated to 3.8
-replace xvmalloc with zsmalloc used by zcache and zram from 3.8 kernel
-tweak and fixes
31/07/2013
-added dyninteractive
-Tweak and fixed (rwsem,mutex,binder,etc)
-390MB RAM
-Removed DVFS
-XZ kernel compression
20/07/2013
-600mhz added back again
-added HotplugX and Lazy governor
-revert back to 385MB RAM(since lots of user are having random reboot problem)
18/07/2013
-fined tune DVFS...so no more lag with lower freq
-no more random reboot
-added Sakuractive governor
-added SIOplus IO
-increased RAM to 390MB
01/07/2013
-DVFS(Dynamic Voltage and Frequency Scaling)
-Fixes the freq bug(you can now set max and min.check out HOW-TO)
-Better Battery Life
-Hotplug governor cleanup
-388RAM(Much Stable)
-Tweaks
-Added reference 05exp init.d script
25/06/2013
Verison 7.0
-Updated kernel to 6.2.A.1.100
-Auto Hotplug
-CWM5
-Optimized crypto for ARM
-OOM Fixes
-Removed some governor
-Added some governor
-Bug and Fixes
12/06/2013
Version 6b
-390MB RAM
-added Lulzactivew,Lulzactiveq and Lazy Governor
-added zen and row IO
-minor fixes
Version 5
-Started from sratch
-Added 600Mhz
Experimental:
-ported and tweaked some Governor(Hyper,Dynainteractive,InteractiveX,Pegasusq,Hotplug,Interactive) for sola from latest Nexus kernel.
-Tweaks and fixes
07/06/2013
Version 4
-Added some new governor
-Remove some mali tweak
-Removed some governor
-Fixes
05/06/2013
Version 3
-Compiled using latest Linaro 4.8 with optimisation
-Frandom as module
-Logger compiled as module(free up some memory)
-other fix and tweak
04/06/2013
Version 2
-Fix Mali Tweak
03/06/2013:
Version 1
-Initial Version
HOW TO:
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.
You can cd to the folder first,then do echos.
( CPU Freqs )
With DVFS,we cannot tweak min/max scale freqs via apps like SetCPU or nofrill.
but there are two ways you can change cpu freq:
by using this app
[APP][ROOT][4.0+] Performance Control - Open Source
Click to expand...
Click to collapse
or
by using terminal
cd /sys/power
Click to expand...
Click to collapse
For example: set 800Mhz as max limited
echo 800000 > cpufreq_max_limit
Click to expand...
Click to collapse
* When you switch on/off,power saving mode,this tweak will be overrided.
* If you want it to be permanet edit 05exp file in init.d.
No-fills CPU shows a wrong freqs
This is NOT issue. No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
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 do i call it `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:
Quote:
/sys/kernel/abbamp
Click to expand...
Click to collapse
* Use RootExplorer 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 infomation about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abbamp first then do echos, will be more convenient.
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
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.
[APP][ROOT][4.0+] Performance Control - Open Source
Logcat
I have made android logger(logcat) as module to free more RAM.
Create a new init.d script:
Quote:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
Click to expand...
Click to collapse
Then you can use logcat command.
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Quote:
0 0 android
0 1 mali
Click to expand...
Click to collapse
To
Quote:
0 0 mali
Click to expand...
Click to collapse
Init.d script
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permisson of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
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.
zRAM/SWAP
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 100 mb.
Setup disksize first: (example: 96mb= 96×1024×1024)
echo 100663296 > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* 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:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
Enable:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
Last_dmesg
Some Help about posting kernel bugs -last_kmsg:
After you have a random reboot do this to get last_kmsg.txt file:
- via Terminal Emulator apk form play store : do
this:
Open the app, type:
su
Click to expand...
Click to collapse
hit enter.
type(withoutall the spaces) :
cat(space)/proc/last_kmsg(space)>(space)/sdcard/last_kmsg.txt
Click to expand...
Click to collapse
and hit enter.Then go to your internal memory with any
file explorer and you will finde the last_kmsg file
and please post it here.
UKSM
UKSM is more advanced than KSM algorithm which is developed by Chinese.
UKSM is faster 20x than KSM, and it has been disabled by default.
Here is a document about HOW-TO use UKSM in its WebSite.
http://kerneldedup.org/en/projects/u...ge/usage0-1-2/
if you want stop uksm run:
echo 0 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
for (re)activating:
echo 1 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
* I have set cpu_governor mode to quiet by default in order to get smooth.
* If feel laggy, try to disable UKSM.
etch04 said:
FAQ
Click to expand...
Click to collapse
what version?
v3.0.08?
Flashed.. kernel is very smooth with excperience rom
no bads so far..
will provide feedback soon
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
dwaipayanray95 said:
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Click to expand...
Click to collapse
No you can not overclock your gpu but tweak some parameter like l2 cache which can improve performance a bit when used with right setting. I'll update the post soon on how to do it.
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
rakz992 said:
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
Click to expand...
Click to collapse
Interactive is included, I just forgot to include it on the post.
dwaipayanray95 said:
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
Click to expand...
Click to collapse
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
etch04 said:
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
Click to expand...
Click to collapse
Okay thanks
WIll report soon!
Testing!!
worked
Sent from Mayudroid
could u please make your kernel with touch CWM?
because in 6.0.2.8 doesnt work mounting SD-card and Internal memory...
Everything is smooth.. No much battery drain.. Sched_mc_power_savings is missing in sys/devices/system/cpu... Fine job :thumbup:
Sent from my MT27i using xda app-developers app
if it can help you
Commits for gpu clock control interface (MALI400)
So far very good, for me the the best battery life on JB and very smooth and stable. No glitches or hiccups.
Keep it up. Very good job.
Pegasusq/Sio...
Eth4n said:
if it can help you
Commits for gpu clock control interface (MALI400)
Click to expand...
Click to collapse
I don't think it possible right now because it need platform specific dvfs interface.the link u posted is above is for exynos and it would not work with ux500.there is no working implementation of ux500 of which I know and it beyond me implement it.
I gonna try this kernel. BTW will you add Linaro optimizations and frandom? This kernel will be smoother with them
Sent by typing on my Xperia Sola with my fingers using xda premium
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!
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.
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
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 P
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.
+++++++++
not running data rate
kosmos-2011 said:
not running data rate
Click to expand...
Click to collapse
What?
Garcia98 said:
What?
Click to expand...
Click to collapse
i think he means that in miui rom he buiilds the the network transfer speeds dont work..
djkk16 said:
i think he means that in miui rom he buiilds the the network transfer speeds dont work..
Click to expand...
Click to collapse
OK, I think that it will be fixed for next release
btw this is like stable right ?
and it is much better in performance than the stock cm11 kernel ?
Is there a mirror mediafire always causes issues for me
Sent my Xperia P running CyanogenMod
AndroidNoob69 said:
Is there a mirror mediafire always causes issues for me
Sent my Xperia P running CyanogenMod
Click to expand...
Click to collapse
http://builds.hubdroid.com/BraveKernel/
Sent from my D5503 using XDA Free mobile app
tried it last night seems much better than stock cm11 kernel.
battery life seems to be better too and performance is also great.
Been using it for half a day.
It once rebooted unexpectedly while I was browsing a webpage.
Also, the notification LED does not blink.
Using CM11
Thank you
My report..
Notification LED not blinking confirmed
Launcher redraws are more often than usual even if minfree is lowered
I get lag spikes randomly especially when browsing g+
Also on CM11
Sent my Xperia P running CyanogenMod
Great work! It's always nice to see kernel improvements..
the performance increased a little and the load times (when opening an app that is not in the background) are reduced slightly
on the negative side, the LEDs went crazy.. the notification LED is working but does not blink, it stays solid until it is dismissed.
the torch is not working (tried the torch app in the ROM, 3rd party Torch app.. no luck).
Shall i take a logcat when running the torch?
> I use XP (lol) with SlimKat 8.10 which is the latest, i didn't crazily modify the rom so it's almost a fresh install
hliasant said:
Been using it for half a day.
It once rebooted unexpectedly while I was browsing a webpage.
Also, the notification LED does not blink.
Using CM11
Thank you
Click to expand...
Click to collapse
Can you send me the file in /proc/last_kmsg please? Thank you
AndroidNoob69 said:
My report..
Notification LED not blinking confirmed
Launcher redraws are more often than usual even if minfree is lowered
I get lag spikes randomly especially when browsing g+
Also on CM11
Sent my Xperia P running CyanogenMod
Click to expand...
Click to collapse
veiron144lww said:
Great work! It's always nice to see kernel improvements..
the performance increased a little and the load times (when opening an app that is not in the background) are reduced slightly
on the negative side, the LEDs went crazy.. the notification LED is working but does not blink, it stays solid until it is dismissed.
the torch is not working (tried the torch app in the ROM, 3rd party Torch app.. no luck).
Shall i take a logcat when running the torch?
> I use XP (lol) with SlimKat 8.10 which is the latest, i didn't crazily modify the rom so it's almost a fresh install
Click to expand...
Click to collapse
I think that I know why notification LED and Torch are not working, I don't need a logcat
_________________________
Merry Christmas and happy holidays to all of you!
I am unable to browse Twitter. The app opens, freezes, then fc. Did not have this on stock cm 11 kernel. Changing governors and io schedulers did not help.
Sent my Xperia P running CyanogenMod
AndroidNoob69 said:
I am unable to browse Twitter. The app opens, freezes, then fc. Did not have this on stock cm 11 kernel. Changing governors and io schedulers did not help.
Sent my Xperia P running CyanogenMod
Click to expand...
Click to collapse
I don't have such problem in my Xperia U, so I need more reports of that issue.
Sent from my D5503 using XDA Free mobile app
Notification tone in silent mode
I can hear the message notification tone even if I reduce the notification volume to zero
Has anyone tried this kernel on latest MIUI rom by kosmos since it is based on CM?
adittya said:
Has anyone tried this kernel on latest MIUI rom by kosmos since it is based on CM?
Click to expand...
Click to collapse
You must try your self and report here..
kernel++++
adittya said:
Has anyone tried this kernel on latest MIUI rom by kosmos since it is based on CM?
Click to expand...
Click to collapse
kernel works fine on miui.