Fusion Ultimate Kernel for all Sense-based 4.0.3 ROMs
Latest Version: v3.4 (9/1/12)
Disclaimer:
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you. :P
* blah blah blah you get the point.
*/
As many of you probably already know, I had another 'Fusion' kernel for the S4 HTC One S. However, because I incorporated mdeejay's patches, the kernel did not play nice with the CPU and whatnot. I nuked my repo, imported the T-Mobile US kernel sources, and re-built the kernel from scratch. I wanted to start a new thread so people would not mix up this and the old kernel.
Click to expand...
Click to collapse
Post #1: Release, Features, and Downloads
Post #2: Changelog
Post #3: How to compile from source
Post #4: Frequently Asked Questions
Features
[*]CPU frequency control from 192Mhz 1.89Ghz
[*]your choice of stock or overclock options
[*]universal package
[*]zip package with modified init.qcom.post_boot.sh and thermald.conf
[*]voltage control (use System Tuner Lite/Pro)
[*]SmartassV2, Interactive, Conservative, LagFree, Lionheart, BrazilianWax, Intellidemand, InteractiveX, SavagedZen, and Smartass CPU governors added
[*]Simple IO (SIO) and V(R) scheduler added
[*]capacitive LED lights dimmed to 2mA
[*]improved media scanning times (increased readahead buffer)
[*]good multitasking
[*]enabled zRam (see FAQ for a detailed explanation of what it does)
[*]greatly improved I/O performance (disabled fsync() )
[*]XZ kernel compression
[*]overall good battery life and performance
[*]optimized and tweaked
[*]much more; check the changlog or my GitHub if you want to know the specifics
Click to expand...
Click to collapse
Downloads
Do NOT flash versions 3.0 and higher in recovery!! They are 7zips!!
I purposely made it a 7zip archive so people don't flash it. Instead, extract the appropriate zip from the package and then flash like before. You get options of whether you want overclock or stock clock. The zip will flash the correct files and modules according to your choice and then clean out conflicting init.d scripts for the best possible compatibility.
All Downloads are HERE
How to Install
For hboot 1.09 and below:
Just flash the zip in TWRP recovery. It will automatically flash the boot.img for you.
For hboot 1.13 and up:
you have two options
Option #1
Use TWRP's HTC Dumlock feature. It is a pretty neat workaround that allows you to flash boot.imgs in recovery even on a higher hboot.
Look here for instructions from TeamWin. If you are not comfortable with this method, then follow option #2 to manually flash in fastboot.
Option #2
In addition to flashing the zip, you will have to extract the boot.img from the package and flash it manually with fastboot. Blame HTC for the half-assed 'unlock bootloader' offering they give us. Hopefully we will get S-OFF soon...
Code:
adb reboot bootloader
fastboot flash boot boot.img
fastboot erase cache
fastboot reboot
Look here for a guide.
Sources
initramfs: https://github.com/klin1344/initramfs_ville
kernel: https://github.com/klin1344/kernel_ville_US
Enjoy
Changelog/Complete Feature List
Changelog
v1.0 (Initial Release 7/24/12)
re-wrote overclock code
completely re-based on the TMOUS source
init.d scripts support with Busybox run-parts
overclocked up to 1.89Ghz
added 192Mhz step
added SmartassV2 CPU governor (still finicky; needs more testing)
enabled Conservative and Interactive CPU governors
added SIO scheduler and enabled as default
increased readahead buffer
various tweaks for UI responsiveness
stable
v1.1 (7/27/12)
cleaned up CPU code (all frequency issues should be gone by now; check github for full details)
added LionHeart CPU governor
added LagFree CPU governor
reduced capacitive LED brightness to 2mA (looks better)
tuned Interactive CPU governor parameters
many optimizations; check github for more details if you want
v2.0 (7/29/12)
added voltage control capabilities (use SetCPU or similar app to UV)
cleaned up CPU code again to try to get frequencies to stick
v2.1 (7/31/12)
added V(R) IO scheduler
change to a zip package
modified init.qcom.post_boot.sh and thermald.conf
added modules in the zip so it shouldn't break WiFi on EU ROMs anymore
allowed undervolting minimum of 400mV
tweaked minfree and ADJ values for multitasking and performance; the used values were from the V6 OOM Calculator
Conservative CPU governor as default for battery life (use an app to change it if you want)
defaulted CPU frequencies to 192Mhz 1.5Ghz on boot
v2.2 (8/2/12)
enabled zRam
adjusted VM ratios
added NEON and Snapdragon optimizations
v3.0 (8/8/12)
fixed SmartassV2 for performance and battery life
available with overclock or stock CPU clock
enhanced compatibility with many ROMs
cleaned up post_boot script and many parameters now handled @ kernel
fixed CPU reverting to min 384Mhz
overall much, much cleaner implementation and settings will stay
v3.1 (8/16/12)
a universal package
disabled fsync() for I/O improvement
optimized Ondemand CPU governor settings
v3.2 (8/22/12)
lighter OOM and ADJ settings for better multitasking
v3.3 (8/29/12)
added BrazilianWax, Intellidemand, InteractiveX, SavagedZen, and Smartass (V1) governors
added tun.ko and cifs.ko
XZ kernel compression
optimized SmartassV2 CPU governor
v3.4 (9/1/12)
added wifi module to the zip
tun.ko and cifs.ko now built into kernel
tweaked deadline I/O scheduler for better performance
make kernel use AC charging mode for unknown chargers
various lowmemorykiller fixes
fixed and tweaked a few other things
Click to expand...
Click to collapse
For Developers
How to build this kernel from source:
This is assuming you already have your Linux environment setup and installed the required packages for compiling a kernel.
1. Clone my initramfs and kernel sources.
Code:
git clone git://github.com/klin1344/kernel_ville_US.git
git clone git://github.com/klin1344/initramfs_ville_4.0.3.git
2. Compress the ramdisk into a gzipped archive. First navigate to the initramfs_ville_4.0.3 directory, then:
Code:
find . | cpio -o -H newc | gzip > ../ramdisk.gz
3. Grab the toolchain from DoomLord's handy repo:
Code:
git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
4. I have created an easy build script. Modify the top four lines to be applicable to your setup. Make sure CROSS_COMPILE is set to the directory of the toolchain we just downloaded earlier (there are two; not the Linaro one). And change INITRAMFS_DIR to the directory of the ramdisk.gz you created earlier.
5. Build. First navigate to the kernel_ville_US directory.
Code:
./build.sh ville_defconfig
for the stock option or
Code:
./build.sh ville_oc_defconfig
if you want the overclocked option.
The script will detect the number of cores of your CPU and automatically make with the optimal -j#.
6. If all goes well you should end up with a boot.img in the kernel_ville_US directory.
FAQ.... Please read this before posting questions!!!
FAQ
Frequently asked questions. Please read all of this first, and then if it doesn't answer your question, feel free to ask in the thread. I just don't want to have to keep answering Is this kernel SENSE based? or How do I jailbreak my HTC One S??? type of questions. Lol. :silly: Thank you.
Click to expand...
Click to collapse
What ROMs is this kernel compatible with?
As stated in the OP, this kernel is compatible with all S4 devices running a 4.0.3 Sense-based ROM. It is NOT compatible with the new 2.21 RUU, which is Android 4.0.4 based. We will have to wait until HTC releases the new kernel source because the differences are not only in the initramfs.
What is the best governor for me to use?
It really depends on what you're looking for. If you want performance, go with Lionheart or Ondemand. If you want battery life, go with Conservative. And if you are looking for a balance between battery life and performance, then use either SmartassV2, Interactive, or LagFree. These are just my opinions. Look here for a great reference of all the CPU governors. Test them out and decide which works best for you.
Which I/O scheduler is the best?
I personally use SIO, but you can test and decide which is the best for you. Read here to find the pros and cons of each one.
How do I overclock?
The kernel should default at 192Mhz 1.5Ghz CPU clocks. To overclock, use SetCPU, No-Frills CPU, System Tuner Lite/Pro, or any similar CPU control app. Some apps don't allow the settings to stick properly. I recommend using No-Frills or System Tuner.
How do I undervolt?
Right now, the only app that works for voltage control is System Tuner. Both the Lite and Pro versions allow you to change the voltages. Do not use SetCPU as it doesn't work.
Here is the voltage table I am currently using:
Code:
1890mhz: 1250 mV
1809mhz: 1225 mV
1728mhz: 1200 mV
1674mhz: 1175 mV
1512mhz: 1150 mV
1458mhz: 1137 mV
1404mhz: 1125 mV
1350mhz: 1125 mV
1296mhz: 1100 mV
1242mhz: 1100 mV
1188mhz: 1075 mV
1134mhz: 1075 mV
1080mhz: 1025 mV
1026mhz: 1000 mV
972mhz: 1000 mV
918mhz: 975 mV
864mhz: 975 mV
810mhz: 950 mV
756mhz: 950 mV
702mhz: 900 mV
648mhz: 900 mV
594mhz: 875 mV
540mhz: 850 mV
486mhz: 800 mV
384mhz: 725 mV
192mhz: 650 mV
Please just take these as a grain of salt; not all chips are created equal! Some devices can become an ass when it comes to undervolting, while others can starve the CPU to death and still run fine. Experiment little by little until you find your perfect voltages.
What is zRam and how does it work?
Originally Posted by faux123
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Click to expand...
Click to collapse
WiFi doesn't work???
Flash the alternative modules package in the OP. It is for EU based ROMs as well as MIUI Sense-based. You only need to flash it once, unless you change or update your ROM.
Nice..Will do testing...
Hopefully it give the best battery life than stock
Thank you sir!
(S4) HTC 1s
Here is a zip to flash the kernel! Testing with Axiom S v1.8, will test battery with SmartassV2
nieves53 said:
Here is a zip to flash the kernel! Testing with Axiom S v1.8, will test battery with SmartassV2
Click to expand...
Click to collapse
Thanks. But unfortunately the reason I did not make it a zip is because that some of us who are on hboot 1.13 or higher can't flash boot.img's in TWRP recovery at all. The same goes for radios. I stupidly ran the 1.78 RUU, which update my hboot from 1.09 to 1.13. :crying:
klin1344 said:
Thanks. But unfortunately the reason I did not make it a zip is because that some of us who are on hboot 1.13 or higher can't flash boot.img's in TWRP recovery at all. The same goes for radios. I stupidly ran the 1.78 RUU, which update my hboot from 1.09 to 1.13. :crying:
Click to expand...
Click to collapse
Should have just flashed the radio
How do you like the new radio? I seem to be getting a lot better service and a more stable WiFi connection.
Liking the kernel so far
Sent from my HTC VLE_U using xda premium
Bug I found -
-While install apps it take awhile for it to install. (1mins or 2min). I just phone the sit until it finish install
-After reboot ...the kernel take awhile for it kick in. For example..If you have email it will take awhile to prompt on notication bar .
Is it possible you can post zips for download in the OP? Thanks. Will try tomorrow.
x1tyme said:
Bug I found -
-While install apps it take awhile for it to install. (1mins or 2min). I just phone the sit until it finish install
-After reboot ...the kernel take awhile for it kick in. For example..If you have email it will take awhile to prompt on notication bar .
Click to expand...
Click to collapse
Maybe try wiping data / factory reset? To be honest those sound more like rom issues rather than kernel related issues.
I cannot reproduce it.
Sent from my One S
klin1344 said:
Maybe try wiping data / factory reset? To be honest those sound more like rom issues rather than kernel related issues.
I cannot reproduce it.
Sent from my One S
Click to expand...
Click to collapse
My fault. I was lazy and flash the flashable zip on post #7 and create this error. Reflash rom and fastboot usb and works like a charms..:good:
If you need another guy to test a 4.0.4 Pre-Release...
(i'm under Trick 6.0)
plakers said:
If you need another guy to test a 4.0.4 Pre-Release...
(i'm under Trick 6.0)
Click to expand...
Click to collapse
+1 but the thing is a bit complicated because we need current modules because of better wifi signal.
I guess we'll just have to wait for the new kernel source from 2.21 base
just flashed it with axiom v1.8.0
everything seems to be working fine.. it's fast smooth stable
nice stuff, Klin
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Elloco305 said:
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Click to expand...
Click to collapse
Have anybody experience there screen blink? Or just Rom issue
Sent from my HTC VLE_U using Tapatalk 2
Elloco305 said:
Trying this now in hopes my frequency changes stick after a reboot unlike stock :/
Sent from my HTC VLE_U using Tapatalk 2
Is it normal for CPU settings to not stick after a reboot?
I set 1.3ghz/384mhz max/min for both cores. I reboot and it defaults back to 1.5/192
Basically same issue with stock kernel.
Click to expand...
Click to collapse
What app are you using? I use No-Frills CPU and it has the "apply on boot" option.
klin1344 said:
What app are you using? I use No-Frills CPU and it has the "apply on boot" option.
Click to expand...
Click to collapse
Setting don't stick after reboot. I'm using setcpu
Also, When I applied this kernel..my screen flick across the screen while exit app (es explorer)
hi guys...Greets from Italy! i've builded this kernel for getting optimal performances with my acer liquid glow. This can be used with Stock rom and with Vache's glowing liquid rom.
HOWEWER , SINCE THAT SOME USERS REPORTED THAT VACHE'S KERNEL(LIKE ME) DOESNT' WORK ON SOME DEVICES, DO A NANDROID BACKUP WITH CWM RECOVERY FIRST.
Flash this .zip with recovery
This is the changelog
V1:
Added lazy, smartassv2, intellidemand, lagfree governor (change that with nofrills or setcpu)
Added Sio and vr I/O schedulers (change with nofrills or setcpu also that)
Added a Cortex A5 optimization
fixed wrong format for Adreno200 (first was RGBA_8888 now it's RGB565 that's is handled well with this GPU)
increased read-ahead values
new memory allocator : SLUB
improved the performances of memcpy and memmove of the general version
Click to expand...
Click to collapse
Download Link: https://hotfile.com/...nel_v1.zip.html
Sources are here: https://github.com/l...uid_Glow_Kernel
I also want to thanks Vache for his hints and porting recovery to this device. Without his help this couldn't be possible.I'm also starting to work to jelly bean update but i have no time for now
Links are not good with the '...'
[EDIT] Found correct link in other forum, will try it soon
Some random reboot, directly in fastboot mode, but very rare and less than Vache's kernel. If I do a clean cache and dalvik, it's ok for 3 weeks, and boom, reboot.
New Edit: I found this thread with V3 version, will try it soon:
I compiled this kernel using linaro 4.8 toolchain from official LGE-D295 kernel sources and adding these some features:
Added CPU underclock to 249 & 192 Mhz (default CPU freqs is 0.3-1.2 GHz, so you need to set up underclock in Kernel Auditor)
Added support for FAST CHARGE function (disabled by default - for enable use Fast Charge)
Default governor changed to ondemand
Default I/O sheduler changed to CFQ
Added new CPU governors: interactive, conservative, pegasusQ
Added some new I/O shedulers: BFQ, SIO, SIOPLUS, FIOPS, FIFO, VR, ZEN.
Information:
Developer: Nikita Pro Android
Tester: kubarek777 (4pda)
Kernel version: 3.4.10
Device model: D295
ROM: STOCK 4.4.2
Installation:
1. Download and put to storage: >>>LINK<<< (v1.0)
2. Go to recovery and wipe cache.
3. Flash downloaded .zip and reboot.
4. Reboot again!
5. This is all.
To set up CPU frequency and another kernel parametres use: Kernel Auditor
Source code: https://github.com/NikitaProAndroid/android_kernel_lge_msm8610_l70pds/tree/master
Nikita Pro Android said:
[/HIDE]
Installation:
1. Download and put to storage: []>>>LINK<<< (v1.0)[]
2. Go to recovery and wipe cache.
3. Flash downloaded .zip and reboot.
4. Reboot again!
5. This is all.
Click to expand...
Click to collapse
The link not available, new link please..
Introduction
I always disliked the using of some apps for changing my I/O scheduler and/or my CPU governor. Using Hells Fusion kernel, I decided to make a script which changes the I/O scheduler simply by a script.
Utilization
Open the script file, and change the I/O scheduler name of the following line which is present at its top, with the one you want to use between the quotation marks : sched="sio".
Requirements
Rooted device with Busybox installed.
Init.d support.
Custom recovery.
Installation
Download the ZIP file and put in inside your SDcard.
Reboot your phone in recovery mode.
Flash the ZIP file and reboot again your phone.
LINK?
Experience more battery life and a cooler phone on Samsung Galaxy note 3(All variants) with any kernel/custom kernel
Disclaimer: I am not responsible for any damage or soft/hard brick that may happen to your device...please make sure you know what you are doing and follow the installation instructions below !
Installation 1 :
1) You must be rooted
2) Download the attached ZIP
3) Extract the script
4) Move file i.e(ondemand, Interactive, Conservative) depending on the one you downloaded to the following location;
/sbin/.core/img/.core/service.d and give it the following permissions (0755) or rwxr-xr-r using your root browser(explorer)
5) Reboot your phone, let Android boot to the launcher and let Magisk boot service do its crucial magic (takes about 60-65 seconds before the script is fully up and running behind the scenes)
6) Now logs can be found in the logs directory /storage/emulated/0/logs
7) Enjoy! :good:
For now:
Join telegram group here's the invite link https://t.me/tweakmypixel
Installation 2:
1) You must be rooted
2) Download the attached ZIP
3) Extract the script
4) Open and Grant the app root access and go the script manager of any kernel app of your choice(SmartPack kernel Manager,Franco Kernel manager FKM(paid),Ex kernel manager(Paid))
5) Then import the extracted script(.sh)
6) Run or Execute
7) You can check apply on boot if you want it to always run after boot.
8) Reboot your phone, let Android boot to the launcher and let Magisk boot service do its crucial magic (takes about 60-65 seconds before the script is fully up and running behind the scenes)
9) Now logs can be found in the logs directory /storage/emulated/0/logs
10) Enjoy! :good:
For now:
Join telegram group here's the invite link https://t.me/tweakmypixel
CPU GOVERNORS SUPPORTED
1) Ondemand:
Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system.
2) Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle
3) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle
Features
1) CPU Governors Optimized for better battery saving
2) Enabled dimmer blacklight to save battery
3) faster internet speed
4) Fstrim data,cache,system included
5) Completely Stop and Disable performance daemon at boot
6) Killed GAPPS processes that drains battery
Code:
ChangeLog
12/3/2020
-Added Conservative
-Added Interactive
-Added Ondemand
FAQ
Q: Will these work without Root?
A: NO. you can use magisk or superSu to root your device
Q: Does this work for xyz kernel?
A: Works on xyz kernel just follow the installation Instructions
Q: What are the advantages of this?
A: Better battery life.
Q: How do i check if I have the scripts installed correctly?
A: Check the logs directory /storage/emulated/0/logs
XDA:DevDB Information
Kernel Tweaks, Tool/Utility for the Samsung Galaxy Note 3
Contributors
enweazudaniel
Version Information
Status: Testing
Current Stable Version: V1
Stable Release Date: 2020-03-13
Created 2020-03-12
Last Updated 2020-03-12