[Kernel] [.38.8] intersectRaven's Kernel (AVS/CAVS)01/08/2011 22:00 - Nexus One Android Development

This is my own personally compiled kernel based on the latest kernel from Cyanogen's Github repository with Kmobs' undervolt modifications, CodeAurora's AVS code, pershoot and rotohammer's audio gain mod and several compiler optimizations based on initial idea from psyq.
Only major releases will be advertised here.
All changes since 05/05 can be found at my Euroskank host:
http://intersectraven.euroskank.com/kernels/
*Thanks to RyanMacG for the free hosting!
Old uploads with minor changes can be found at my MediaFire folder or my Bitpad folder:
http://www.bitpad.co.uk/intersectraven
http://www.mediafire.com/intersectRaven
Major features:
- based on latest Cyanogen Mod kernel source from his GitHub repository
- numerous compiler optimizations with a custom compiler by redstar3894
- all CPU power governors for user dependent tweaking of power saving method
- Hybrid AVS (Adaptive Voltage Scaling combined with Static Voltage Scaling) support for maximum possible power savings dependent on CPU requirements and a customizable version (CAVS) for people who like to tweak how far their N1s can go
- universal update.zip template made by Koush
Instructions:
1.) Reboot to recovery and flash the update.zip directly.
OR
Instructions for zImage and bcm4329.ko driver extracted from the update.zip(from command line):
1.) adb remount
2.) adb push bcm4329.ko /system/lib/modules
3.) adb reboot bootloader
4.) fastboot flash zimage zImage
5.) fastboot reboot
OR
Use ADB GUI by minooch found here:
http://forum.xda-developers.com/showthread.php?t=666964
*please note the instructions...push the wifi driver BEFORE rebooting for flashing zImage...if your wifi is turned on when you reboot before you pushed the wifi driver for the kernel, there is a chance that you will go into a bootloop due to the incompatible wifi driver!
Changelog:
20120108_2143:
- just merged pershoot's commits
20111203_11XX:
- enabled MSM EHCI
20111114_23XX:
- integrated CM's commits (mainly bluetooth and WiFi fixes)
20111111_19XX:
- compiled using updated Mjolnir/Linaro compiler hybrid (having problems with our Mjolnir GCC)
- enabled SYN_COOKIES as requested
- some tweaks to the VFS settings
- switched network scheduler to SFB
- switched TCP congestion to Veno from YeaH (seems it's better for devices with a greater chance of random drops of packets)
20111010_11XX:
- disable CleanCache for YAFFS (too complex to change)
- more proper reapplication of changes from 3.0
20111009_22XX:
- enabled CleanCache for YAFFS, EXT3 and EXT4 (experimental)
20111008_23XX:
- ported BogoMIPS calibration from 3.0
- added CleanCache from 3.0
- switched to SIO from BFQ
- block IO batching from 3.0
- activate_pages batching from 3.0
20110904_07XX:
- added SmartAssV2 CPU governor
20110828_13XX:
- fix AVS to actually work (see previous latest post for apology... )
*this should restore the instability on some devices that can't handle AVS
20110828_00XX:
- prevent excessive suspend attempts
- optimized sha1 implementation
20110813_15XX:
- increased NAND buffer to 8k similar to codeaurora's version
- enabled 8-bit transfers for when the MMC card supports it
20110724_20XX:
- SmartAss improvement from the test kernels
- AVS code improvement also from the test kernels (hopefully improved the stability)
- RCU optimizations
- updated Mjolnir compiler
20110713_10XX:
- re-hauled SmartAss governor:
* interactive threads instead of workqueues to improve responsiveness when ramping-up frequencies
* reduced stepping frequency to use lower frequencies more
20110707_08XX:
- fixed the Voice Search problem
20110706_09XX:
- code cleanup
- additional tweaks
20110628_09XX:
- ARM improvements to memcpy and memmove operations from Wildfire (arco's kernel source)
- cherry-picked serial number commit from CM kernel
20110608_21XX:
- rebased everything together with removal of worthless commits
- added 2 new governors from SavagedZen kernel (SavagedZen & InteractiveX)
- updated code of Smartass governor to the one in SavagedZen since it seems more updated than the one I found
20110527_21XX:
- new method for addressing slow writes on USB from CodeAurora (although it's still slow using native USB mount and I didn't test using another mounter)
- some SIRC potential bug fixes
- input event handling modification from Google
20110523_08XX:
- compiled using updated Mjolnir
20110522_11XX:
- upgraded to v2.6.38.7
20110521_15XX:
- interrupt masking
- smd_tty buffer limit implementation
20110519_22XX:
- fix for potential bug and power leak improvement in DSP driver
- GPIO tweaks
20110516_19XX:
- increased DMA zone to 14MB (may speed some things or may not)
- timer workarounds have been removed as they're unneccessary on Scorpion
- prevent reading from write-only registers (just silly)
- used relaxed access functions for some functions
- remove extra interrupts sent from the SMD channel
20110515_21XX:
- added another commit from android unmerged which implements a watchdog to catch lockups during device resume
- fix for wakelocks which addresses the problem where while being connected to a computer, any attempt to power up will result in display immediately shutting off with touchscreen buttons still on
- uses an updated Mjolnir compiler
20110514_17XX:
- rebased everything
- removed some commits which were useless on the N1
- more zen branches merged
- WiFi-Fast patch has been integrated in all kernels since it seems to have no effect on battery (no more separate WiFi-Fast release)
20110511_22XX:
- reverted a change made to PMEM driver since the commit it was reliant to was reverted (sorry! didn't notice this...I wasn't too critical of my earlier cherry-picks... )
Link to a file which contains all kernels:
http://hotfile.com/dl/117478444/390f688/intersectR_-_20110511_22XX.zip.html
20110510_18XX:
- updated to 2.6.38.6
- committed some more video driver commits from CodeAurora
Link to a file which contains all kernels:
http://hotfile.com/dl/117350839/0a9a504/intersectR_-_20110510_18XX.zip.html
20110509_14XX:
- merged some commits from Android repositories that were still unmerged yet may prove useful for Ashmem and RPC
Link to a file which contains all kernels:
http://hotfile.com/dl/117209820/5b7fe7b/intersectR_-_20110509_14XX.zip.html
20110507_21XX:
- even more improvements from CodeAurora
Link to a file which contains all kernels:
http://hotfile.com/dl/117048553/0831385/intersectR_-_20110507_21XX.zip.html
20110506_15XX-16XX:
- enabled cache error reporting as this is indicative of how tolerant your N1 is to AVS undervolting
- smartass governor (from Temasek)
*this was mistakenly included in the previous release
- a minor kernel scheduling statistic commit
Link to a file which contains all kernels:
http://hotfile.com/dl/116922979/5fb2ec0/intersectR_-_20110506_15XX-16XX.zip.html
20110505_16XX-17XX:
- updated Mjolnir compiler
Link to a file which contains all kernels:
http://hotfile.com/dl/116827854/5839b43/intersectR_-_20110505_16XX-17XX.zip.html
20110505_08XX-09XX:
- AVS and CAVS now both allow changing of voltages on-the-fly. The only difference now is that AVS is undervolted by default while CAVS is undervolted to the same voltages that CM uses in his SVS kernel
- uses eviollet's on-the-fly voltage modification system instead of the previous one I had which is a lot more flexible
Link to a file which contains all kernels:
http://hotfile.com/dl/116798881/0d5b5bf/intersectR_-_20110505_08XX-09XX.zip.html
20110503_09XX:
- updated to version 2.6.38.5
Link to a file which contains all kernels:
http://hotfile.com/dl/116600585/b76a4b6/intersectR_-_20110503_09XX.zip.html
20110502_10XX:
- synced with pershoot's latest modifications which mirror CM's latest addition with regards to USB accessory function (not too important I think since it seems to be for future ADB use)
- uses an updated Mjolnir compiler (20110429)
Link to a file which contains all kernels:
http://hotfile.com/dl/116528049/1865aa6/intersectR_-_20110502_10XX.zip.html
20110424_11XX:
- reverted WiFi driver to same version CM uses for mainline kernel to fix channel 11 issues with the newest one
20110422_12XX:
- updated to 2.6.38.4
- compiler updated
20110421_15XX-16XX:
- first files to be hosted by Bitpad (http://www.bitpad.co.uk/intersectraven/)
*Thanks to MajorProbes
- just a minor release since I only updated the compiler
20110416_20XX:
- several compiler optimizations enabled (loop unrolling, peeling, etc.)
- zen-kernel cherry-picks for memory and fs optimization
20110415_23XX:
- updated to 2.6.38.3
- compiled using latest Mjolnir with an experimental merge by redstar
20110409_23XX:
- integrated a bluetooth fix and MMC quirks improvement from official Google repositories
20110407_13XX-14XX:
- integrate CM commits on futex optimization and removal of dodgy optimizations
20110403_12XX:
- fix for USB transfer speed (should now hold at 1MB/s without dropping)
20110401_22XX-23XX:
- first 2.6.38.2 release based on pershoot's 2.6.38
- added the usual mix (AVS, SLQB, CodeAurora patches, etc.)
- compiled using Mjolnir GCC 4.6.1
- changed FPU optimization to NEON
20110328_08XX-09XX:
- updated to 2.6.37.6
20110328_07XX:
- compiled using Mjolnir GCC4.6.0
- enabled Link Time Optimization and Graphite Optimization (use Google for definitions)
20110326_08XX:
- updated BFQ to v2-r1
20110324_18XX:
- updated to 2.6.37.5
20110320_17XX:
- merged Nick Piggin's RCU patches which were originally for 2.6.38 (one of the things Linux was excited about according to Phoronix)
20110319_09XX:
- merged latest CM kernel commits which enables the ff:
- enabled RCU boost
- enabled touchscreen filter (reduce CPU load made by touchscreen)
20110315_22XX:
- updated to 2.6.37.4
20110312_23XX:
- round 2 of CM's wonk fix attempt integrated
- toolchain update
*for links, go to my MediaFire folder as specified above
20110311_1623:
- integrated cyan's wonk fix attempt
- VPN "fix" (I don't like this one since it's just a backport of the old PPP interfaces)
*for links, go to my MediaFire folder as specified above
20110308_2246:
- updated to .37.3
- based on CM's latest kernel source
- with SLQB and BFQ v2
- regular and customizable AVS
- some CodeAurora patches
*for links, go to my MediaFire folder as specified above
20110213_1506:
- corrected minimum voltage value to 800mV
CFS-HAVS-CM7-NOBOOST -> http://www.mediafire.com/?m32mi1744ksb55m
20110213_1035:
- test release for new AVS-CUSTOMIZEABLE build which allows for runtime customization of AVS minimum and maximum limiters for more flexible AVS voltages depending on your CPU tolerance (/sys/module/avs/parameters/avs_adjust)
- AVS debugging outputs can also be toggled in runtime (/sys/module/avs/parameters/avs_debug -> set to 0 to not display, 1 to display)
CFS-HAVS-CM7-NOBOOST -> http://www.mediafire.com/?bt7mmtlmg407ne1
*format for avs_adjust is:
frequency,minimum voltage,maximum voltage
e.g.
echo 245000,925,975 > avs_adjust
**AVS debugging output will be enabled by default when you modify the limits
Finally created a github to store all of my kernel modifications:
http://github.com/intersectRaven/
To follow me for updates on Twitter:
http://www.twitter.com/intersectRaven

[Kernel] [.35.10, .37] intersectRaven's Kernel (HAVS-AXI-FM-720p-Zen)1/9/2011 10:13
Reserved for intersectRaven - Added 2post to allow OP to have more place for futur update

Finally a thread!
been using your kernels for some time now, good work!
---------------------------------------------------------------
Updates: I thought I'll use this space to provide some info since its right next to the OP
BFS:
BFS is the Brain **** Scheduler. It was designed to be forward looking only,
make the most of lower spec machines, and not scale to massive hardware. ie
it is a desktop orientated scheduler, with extremely low latencies for
excellent interactivity by design rather than "calculated", with rigid
fairness, nice priority distribution and extreme scalability within normal
load levels.
http://ck.kolivas.org/patches/bfs/bfs-faq.txt
CFS
Completely Fair Scheduler is the name of a task scheduler which was merged into the 2.6.23 release of the Linux kernel. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while maximizing interactive performance.
http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Comparison of BFS vs CFS: http://www.cs.unm.edu/~eschulte/data/bfs-v-cfs_groves-knockel-schulte.pdf
Conclusion
The results indicate that CFS outperformed BFS with minimizing turnaround time but that BFS
outperformed CFS for minimizing latency. This indicates that BFS is better for interactive tasks
that block on I/O or user input and that CFS is better for batch processing that is CPU bound.
Click to expand...
Click to collapse

can i use this kernel along with the desire camera app?

britoso said:
Finally a thread!
been using your kernels for some time now, good work!
Click to expand...
Click to collapse
Had my dog press the enter key to prevent me from chickening out.

jblazea50 said:
can i use this kernel along with the desire camera app?
Click to expand...
Click to collapse
I haven't tested it so I don't know if it needs something from the kernel to work.

@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!

cortez.i said:
@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!
Click to expand...
Click to collapse
Hmmm...thanks for pointing that out. I'll probably release a new version later which will have this. (loading my Nexus Compilation Environment VM now...)
*Edit: I recompiled with the .min and .max settings he specified but reading further back it seems he changed some other things so I can't be sure if just this will provide the volume increase desired.

cortez.i said:
@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!
Click to expand...
Click to collapse
Hmmm...thanks for pointing that out. I'll probably release a new version later which will have this. (loading my Nexus Compilation Environment VM now...)
*Edit: I recompiled with the .min and .max settings he specified but reading further back it seems he changed some other things so I can't be sure if just this will provide the volume increase desired.

intersectRaven said:
I haven't tested it so I don't know if it needs something from the kernel to work.
Click to expand...
Click to collapse
It works. I thought you incorporated the audio fix yesterday too!

britoso said:
It works. I thought you incorporated the audio fix yesterday too!
Click to expand...
Click to collapse
I just compiled one with higher settings based on rotohammer's research. I think I'll stick with the default ones in my previous version though so its okay to skip this latest one.
For those who wanted to try out the modified values:
http://www.mediafire.com/?dqynw1inh3y <= 2.6.32
http://www.mediafire.com/?mmjwxzjlmmw <= 2.6.33

I'm working on a mod that will allow us to change the min_vol and max_vol from a file. Kernel SOP dictates this not advised, but I don't have time to learn how to implement a procfs hook.

I also used the voltages specified by kmobs so there should be no difference with the voltages. .32 is from the android kernel source while .33 is from cyanogen's. .32 is the stable kernel while .33 is still in its experimental stage.

Thanks a lot I've been looking for something like this!

intersectRaven, any chance to release Overclock kernel ?
1267Mhz on the nexus one will be great. hahahaha

rheza02 said:
intersectRaven, any chance to release Overclock kernel ?
1267Mhz on the nexus one will be great. hahahaha
Click to expand...
Click to collapse
haha...I'll think about it...I don't have the courage to try an OCed version though so you'll have to test it yourself if ever!

intersectRaven said:
I just compiled one with higher settings based on rotohammer's research. I think I'll stick with the default ones in my previous version though so its okay to skip this latest one.
For those who wanted to try out the modified values:
http://www.mediafire.com/?dqynw1inh3y <= 2.6.32
http://www.mediafire.com/?mmjwxzjlmmw <= 2.6.33
Click to expand...
Click to collapse
i'm currently using MoDaCo Alpha 19, which reports using a 2.6.33.1 kernel. so i would use the 2.6.33 version, correct? just to confirm, are your volume values the same as used by rotohammer? also, where is the zImage stored on my device, that is if it's actually saved at all (yes, i am a newbie, lol). thanks!

cortez.i said:
i'm currently using MoDaCo Alpha 19, which reports using a 2.6.33.1 kernel. so i would use the 2.6.33 version, correct? just to confirm, are your volume values the same as used by rotohammer? also, where is the zImage stored on my device, that is if it's actually saved at all (yes, i am a newbie, lol). thanks!
Click to expand...
Click to collapse
yes u would use the .33 if ever...the links u quoted does use rotohammer's values...and lastly, the zimage is flashed onto the image/kernel area in your device's boot partition...oh and no shame being a noob...we were all noobs once...

This kernel crash on my nexus one with desire camera when I try to see a video.
Anyone can confirm this?

www1 said:
This kernel crash on my nexus one with desire camera when I try to see a video.
Anyone can confirm this?
Click to expand...
Click to collapse
I just recorded a video with the desire camera app and played it back fine.

Related

[KERNEL][UV][CWM] Entropy's Daily Driver-GB, 03/07/2012 (Small Fixes))

OK, I figure it's time to start providing my kernels to the general public.
This should be compatible with most stock-derived Gingerbread firmwares. It is NOT compatible with CM7/MIUI or any other AOSP-derived firmware. It is NOT compatible with ICS and WILL NOT BE until ICS kernel source for the I9100 is released. At that point a new thread will be created for those kernels. I am testing it currently with self-deodexed/debloated/Hellraised XWKL1.
This kernel series is intended to be similar in spirit to my Daily Driver series for the Infuse at http://forum.xda-developers.com/showthread.php?t=1212795
It is built from sources at https://github.com/Entropy512/linux_kernel_sgh-i777/commits/master, and initramfs at https://github.com/Entropy512/initramfs_sgh-i777/commits/master
My general goals are to focus on stability and battery life. If it comes to a tradeoff between performance and the above two, I will choose stability/battery life. In general I will choose stability first, with the exception of undervolting.
Current features:
codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
JHash 3
BFQ I/O scheduler
CIFS module in initramfs
CWM 5.0.2.8 pulled from latest CM7 source tree as of 2/28/2012
"insecure" kernel (meaning root in ADB)
CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it, or reduce the conservative polling interval
Filesystem readahead tweaks in initramfs
netarchy's Sleep of Death fix
netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor if you reduce the polling interval (misnamed as sample_rate) - the I9100 community calls this "lionheart" even though it's really only a 2-line patch
Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
Miscellaneous bugfixes pulled from Ninphetamine and CM7 sources - see github for details
/system/etc/init.d support in initramfs - Note that this only runs stuff in /system/etc/init.d - ROM developers or you need to create it. Attached is an example script that will change the CPU frequency governor to ondemand if placed in /system/etc/init.d and set to executable
Four "use at your own risk" features that trade performance for stability - See Post #4 for details
Standard bootanimation support
/proc/last_kmsg crash debugging support
NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
Fix for fuel_alerted perma-wakelocks
Fix for wifi tethering on I9100 ROMs that have been Hellraised
Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
cpuidle driver from Tab 7 Plus kernel - allows entry into AFTR more often
Support Bluetooth HID on newer firmware bases
3-step GPU clock/voltage control
Extended hotplug tuning
Support for Xan's ExTweaks universal tuning app - https://market.android.com/details?id=com.darekxan.extweaks.app
Planned features, short term:
Pull in some improvements from myfluxi and arighi's trees
Planned features, mid-term:
????
Planned features, long-term:
Improved battery charge algorithm for faster charging - Initial research indicates we have an alternate battery charger chip (MAX8922) that differs from the MAX8997 used in the I9100. We DO have an 8997 also - but on our device for some reason Samsung decided to use an alternate chip instead of using the 8997's built-in charging. This means we have far fewer options (90,400,660 mA) in terms of charge rates compared to the I9100 (from 200 to 950 in 50 mA steps). So we might not be able to implement any fancy charging algorithms.
Features not planned:
BFS process scheduler - I have only once ever seen a test case where this clearly outperformed the mainline Linux scheduler (multithread x264 encoding) - The mainline schedule was fixed in the next release and BFS now has no performance benefits
Any feature that trades off stability or data integrity for performance unless it can be disabled entirely and defaulted to "off"
Any feature that cannot have functionality tested without a paid app. Interface-only checks don't cut it - I don't want users complaining that the app they paid for didn't work because an interface check worked but function didn't
Touch recovery - too prone to accidental user errors - Maybe I will revisit when ICS hits.
Known issues:
Power management regression somewhere between 12/8/11 and 1/2/12 - Intermittent high drain without high AOS or reduced deep sleep percentage when on some wifi networks - seems more likely if GPS is used when connected to wifi. Wifi with high AOS/reduced deep sleep is not a kernel problem. This appears to only happen on some firmwares - it happens on XXKI3 but not XWKL1. It is likely connected to a wifi power management bug in some firmwares. A debugging feature in 2/7 and later will allow identification of such firmwares - see http://forum.xda-developers.com/showpost.php?p=22581928&postcount=1777 for details
Some people have reported touchkey lights becoming disabled until the screen is turned off and back on again. Under investigation - seems to mainly happen on firmwares with BLN-modded liblights even if the BLN app isn't used
Internal and External SD card are swapped in CWM currently
Basic flashing instructions for .tar releases (NOTE - There are currently no releases in this category. These instructions only remain for heimdall+ZIP users:
(Tested on Linux, not tested MacOS/Windows but should work) Heimdall - Extract the contents of the tar file, enter download mode, and flash with the following command line:
Code:
heimdall flash --kernel zImage
Flashing instructions for .zip releases:
Flash in CWM, or extract the zImage and use the Heimdall instructions above.
Please do not ask how to enter download mode or install Heimdall/Odin in this thread - these are basic generic skills anyone flashing custom firmwares on Samsung devices should know and plenty of documentation exists elsewhere. If you really need to ask, use the General forum, or if created, the Q&A forum. I want to try to keep this thread clean and only with bug reports and issues specific to this release, not general HOWTO or troubleshooting posts. Some of the information you need is in jivy26's FAQs thread at http://forum.xda-developers.com/showthread.php?t=1288112 - Reading at least the first post of this thread in its entirety is STRONGLY recommended.
Bug reports:
If you have a crash (reboot all the way to Galaxy S I9100 screen), use ADB dump the contents of /proc/last_kmsg and post
If you have oddball behavior, include a clearly reproducible test case with your report, or use ADB to obtain a dmesg and logcat capturing the odd behavior at the time of error.
Similar to flashing - using ADB and obtaining last_kmsg, dmesg, and logcat dumps are basic skills that anyone working with custom firmwares on Android devices should have. If you need help with these, do some searching, or post in the General forum or, if created, Q&A forum.
Firmware ("ROM") Developers:
While I cannot restrict anyone from putting this kernel into a ROM as long as links are given to the github sources for GPL compliance, I request that anyone who includes this kernel in a firmware release does the following out of courtesy:
Link to this thread
Clearly indicate in your firmware changelog which Daily Driver kernel release is included in your firmware release whenever you change DD releases - this lets users identify whether a fix is present in the kernel they're using or not
Kernel Developers:
Similar to my request for ROM developers, while I can't restrict you from doing anything, I ask as a courtesy that if you cherry-pick my commits, you do the following:
Please don't rebase my commits into a large multi-feature without consulting me - rebasing related bugfixes together is OK.
Please try not to implement lots of unrelated features or bugfixes in a single git commit - it makes it hard to reimplement that when Samsung drops new sources or releases a new device
ALL OF MY RELEASES ARE NAMED BY RELEASE DATE - MMDDYYYY. See the changelog for differences between Experimental (exp) and non-exp versions for days where dual releases are made.
Change Log
3/7/2012 Release:
Default GPU voltages were slightly too high (but not dangerously so) due to misreading some #ifdefs. Adjusted them downwards.
03/05/2012 Release:
3-step GPU voltage control (thanks to gokhanmoral of SiyahKernel)
Extended CPU hotplug tunables (also thanks to gokhanmoral of SiyahKernel) - I didn't bother with Tegrak Second Core support as it offers nothing these tunables don't offer that makes sense
Preliminary support for Xan's ExTweaks tuning app - https://market.android.com/details?id=com.darekxan.extweaks.app (Yes, it currently says SiyahKernel only, but I added support) - use this to tweak the new features
03/04/2012 Release B:
Add GPU voltage control in addition to existing clock control - see http://forum.xda-developers.com/showpost.php?p=23260574&postcount=64 for more
Reduce default sampling_rate of conservative governor from 100ms to 50ms - conservative uses deferred ticks that shouldn't impact cpuidle
03/04/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/0746aeb285341896877a3adddd79bdaa0cf4a6f6 (disable second core when screen is off)
03/03/2012 Release B:
Readd a couple of cpuidle register restore/saves that were removed by Samsung between the I9100 and Tab 7 Plus sources - Small chance this might be where the SoDs come from.
03/03/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/373425c3130fbbb67cdae74793bd3df363a5dc04
Remove powersave governor - it's a guaranteed SoD if used and the same results (without SoD) can be achieved by setting conservative with min=max=200 MHz
03/02/2012 Release:
Revert https://github.com/Entropy512/linux_kernel_sgh-i777/commit/3954900055afe0d22a7ce71b50e4a5cb439c24bf - It turns out it's not actually in the mainline tree, and it has had questionable results from users. It may have caused power regressions for shoman94
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/ec9e34085c2e1284b3e30926862161fa63d498ea - Should improve performance a little on devices with "small" memory (compared to PCs, 1GB is "small")
02/28/2012 Release:
Revert https://github.com/Entropy512/linux_kernel_sgh-i777/commit/634b73c2d0b7e156b5c1626fd268662fcaa5fabe again - It was causing severe performance regressions for red5, and was clearly narrowed down to a single patch (red5 swapped between 18B and 26 multiple times, these are adjacent releases that differ by only one patch.)
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/9c10cd423cdcb0039c5f7730076d1f8db9c09442
Reduce minimum polling interval of conservative from 25 msec to 20 msec
Make defaults of conservative governor consistent with battery-optimized tuning - won't affect anyone using SetCPU to tune governors
Initramfs: Clean up cruft that was doing nothing but taking space
Initramfs: Compiled latest CWM 5.0.2.8 from sources - should fix advanced restore
Initramfs: Swap internal/external SD in CWM to be consistent with newer Android standards
02/26/2012 Release:
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/634b73c2d0b7e156b5c1626fd268662fcaa5fabe
02/16/2012 Release B:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release B.
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/3954900055afe0d22a7ce71b50e4a5cb439c24bf (cpuidle: governor: menu: don't use loadavg)
02/16/2012 Release A:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release A. (CWM will report this as 2/17A - ignore this, CPUSpy should report afternoon in 2/18)
Readd https://github.com/Entropy512/linux_kernel_sgh-i777/commit/4d8a7e7834e29cee232d6634454c0c38e9903d49 (Add MSHCI Power Control)
02/15/2012 Release C:
Fixes to multiple drivers that were attempting to lock frequency to certain levels. On an overclock kernel, these were all two frequency steps higher than originally intended:
Application-controlled lock in kernel/power/main.c - Likely this combined with arighi's frequency scaling patch was the cause of most 2/7 stability issues
Camera locking to 1.2 GHz is fixed
Thermal limits (reducing clock frequency while overheating) was broken, should now work properly
02/15/2012 Release B:
Readds the following patches, should be safe:
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/35187426d15d05d465d07b6d743e1eb37c629a24 - small network performance improvement
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/733758d888e4a23d7ae6487de0dbb525e9d7433c - another small network performance improvement
https://github.com/Entropy512/linux_kernel_sgh-i777/commit/325cdbf1b89e7d2138482e76879fabf9a6dac5b7 - Provide a warning when a broken firmware is preventing proper wifi power management
02/15/2012 Release A:
Revert most patches from 1/30 and 2/07 due to stability issues EXCEPT:
BTHID interoperability fix
MFC/new cpuidle interoperability fix
A BCM4330 patch revert (it was a revert to begin with)
There will be a second "B" release containing patches that I think should be safe stability-wise but want to have separated anyway. After that, I will be making releases 1-2 times a day, each with only one new patch. This will allow the offending patches for recently reported stability problems to be identified. As a result, releases will have A/B/C/etc letter codes after the date until I no longer expect multiple releases per day. Until the stability issues are resolved, Experimental releases are suspended.
02/07/2012 Release:
Lock out AFTR during hardware accelerated video playback - should fix issues with hwaccel video that some people had with 1/29 and later
Disables second core when the screen is off (this patch comes from arighi)
A patch from arighi ("smooth scaling") that prevents the performance governor from getting "stuck" at the wrong frequency, and should make ondemand a bit more responsive
Small cpuidle governor fix from mainline
Revert a wifi patch that did nothing at all if you read the code
Print an error in dmesg when suspend handling in the wifi driver is blocked by the system firmware for whatever reason (XXKI3 does this) - System firmwares that do this will make you vulnerable to battery drain on "dirty" networks (ARP spam, broadcast traffic)
Small performance patch by Russell King of ARM (see github for details)
Standard only for now - will release experimental in a day or two
Warning - This doesn't have as much testing as I normally put into a kernel, but I needed to get a cpuidle fix out ASAP in my opinion
1/30/2012 Releases:
Backport Bluetooth HID fixes from Epic 4G Touch EL29 sources - Seems to fix Bluetooth HID on UCKK6, should also fix it on newer I9100 bases
Backport a power management change (MSHCI power control) from E4GT EL29 - Actually, I think this is something that was in the AT&T drop and I9100 Update3 removed
ashmem deadlock fix - might fix nizda1's issue (unknown, I thought I had this in already but I guess I didn't) - found by arighi
Tweak from arighi - set SLUB_MAX_ORDER to 0 since our device doesn't have ginormous amounts of RAM
Increase TCP initial receive and congestion windows - should improve throughput on new TCP connections (such as web page loads)
Remove a small dmesg spam introduced by the cpuidle backport
Add ARM Errata 753970 (bugfix)
1/29/2012 Releases:
Backported cpuidle driver from the Tab 7 Plus - Allows AFTR idle to be entered more often, enables it my default, and permits it to be tracked separately from LPA idle mode.
Reverted some small I9100 changes to GPIO configurations - These changes may do nothing, the functions of these GPIOs are undocumented but appear to be somehow sleep related. See github commit for details
1/24/2012 Releases:
Include tun.ko
The above change is so small I'm removing the 1/23 download
1/23/2012 Releases (Note: Experimental might not actually be posted until 1/24):
Enable building for I9100 targets (source code change only, see github)
Revert some unnecessary patches from arighi's tree, prep for implementing more useful ones
A pile of upstream Linux kernel bugfixes, huge thanks go to myfluxi for finding these and testing them on himself: https://github.com/myfluxi/xxKernel
Bring in two small missing updates from I9100 update3 sources
Enable separate debugging of wake_lock_destroy() to enable diagnosing high deleted_wake_locks time
1/2/2012 Releases:
Road to I9100 Update3: COMPLETE - Video changes, media changes, battery/PMIC changes, Samsung-specific arch/arm changes
Road to I9100 Update3: Revert touchscreen drivers to I777 source codebase. SiyahKernel also did this, it seems to solve the wake lag issues. However those that didn't encounter lag may see reduced responsiveness. There's a possible workaround though.
12/21/2011 Releases:
Road to I9100: USB Host (untested), Touchkey, Broadcom DHD (Bluetooth, WiFi)
Initramfs: Bring in a few updates from UCKK6. Might fix wifi for KK6 people (UCKK6 compatibility UNTESTED.)
12/12/2011 Releases:
Road to I9100: Touchscreen Drivers
Irrelevant Road to I9100: DPRAM, WiMax, staging drivers
12/8/2011 Releases:
Resume dual-release standard (2.6.35.7) and experimental (2.6.35.14) builds - note exp does NOT fix the AOS bug, just hides it - see http://git.kernel.org/?p=linux/kern...it;h=a3fe22ee824895aafdc1b788e19c081a2e6dd9da
Remove some debugging printk()s from the AFTR cpuidle driver for those who enable AFTR deep idle mode (see init.d scripts thread linked below)
More components of I9100 update3 sources - MMC, filesystem, and generic arch/arm changes
Removed filesystem I/O scheduler tweak script from initramfs - this belongs as a separate init.d script. See http://forum.xda-developers.com/showthread.php?t=1378080 for this script's new home along with other scripts
Enable compilation of FUSE module. Combined with an ntfs-3g binary this should allow people who want to mount NTFS drives with OTG cables to do so. I cannot provide any additional support for this though - no OTG cable
12/1/2011 Release:
Disable interactive governor - it was causing kernel panics in LPM (e.g. reboot to normal poweron when power-off charging), too much risk of it causing a panic during normal operation so it's gone
Two small fixes, one to MMC power management and one to cpuidle - see github for details
Per-file fsync disable - see HERE BE DRAGONS post #4 and USE AT YOUR OWN RISK
First step of patching up to Samsung I9100 update3 sources - New sound drivers. Please focus on sound until the next release.
11/23/2011 Release:
BLN from Ninphetamine - WARNING: An active BLN notification WILL drain your battery by holding a wakelock. Also, you need to install a compatible liblights if your ROM doesn't already have it. VillainROM 3.0 has it, I'll try to post a library and installation instructions after the Thanksgiving weekend ends
Permissions changes for /data/misc/wifi that allow tethering settings to persist on Hellraised ROMs (EDIT: Not working for fresh flashes... Maybe not working at all. what the **** is overriding the perms?)
Enabled Interactive governor in defconfig. drowningchild says it's stable - I tend to be paranoid when it comes to governors
11/13/2011 Release:
Upgrade to CWM 5.0.2.7 pulled from Cyanogenmod 7 nightly 12 - adds nandroid backup/restore to external SD - advanced restore from extSD not working yet, also CWM labels external SD as "internal"
11/10/2011 Release:
Removed automatic root injection from the initramfs - It causes too many problems. Flash ChainsDD's Superuser package from CWM instead.
11/03/2011 Release:
Fix for wifi tethering on I9100 ROMs
Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
Experimental (2.6.35.14) releases discontinued until further notice - They provided no discernible benefit, and hid the infamous "AOS Bug" making it harder to diagnose. (It did not fix the drain)
10/20/2011 Releases:
Fix for fuel_alerted perma-wakelocks
GPU clock control, same method as Ninphetamine - see Ninphetamine kernel for documentation. Completely untested other than that the default values don't change or break anything. Same rules as for my overclock code... Credit goes to Netarchy for this, it's his git commit 100%
10/16/2011 Releases:
Make root injection script less aggressive
NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
Miscellaneous bugfixes, see git
10/13/2011 Releases:
Make root injection script in initramfs less aggressive
10/09/2011 Releases:
Update root injection script to install su-3.0 - Still need work on this to make it more robust when su updates again.
Misc. fixes from codeworkx's CM7 tree and Ninphetamine
Start of Experimental dual-release series - Experimental updates base to 2.6.35.14 using arighi's patches
10/07/2011 Releases: (There were multiple, but as their files are no longer posted I'm merging it into one changelog entry)
Conservative tuning patch no longer considered experimental
/system/etc/init.d support in initramfs
Overclocking/Undervolting implementation by codeworkx - USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV
Standard bootanimation support
10/06/2011 Experimental Release:
netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor
10/06/2011 Release:
Automatic root injection in initramfs
Filesystem readahead tweaks in initramfs
netarchy's Sleep of Death fix
Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
Miscellaneous bugfixes pulled from Ninphetamine sources - see github for details
Initial Release: 10/04/2011
codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
JHash 3
BFQ I/O scheduler
CIFS module in initramfs
CWM 5.0.2.3 from Codeworkx's CWM kernel
CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it
"Insecure" kernel - ADB sessions ALWAYS have root
Here be dragons
This post is for features present in the kernel that are "use at your own risk" - They have either potential or guaranteed negative side effects if used.
Overclocking (CPU):
Enable using SetCPU or a similar app
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV
Overclocking (GPU):
See Ninphetamine kernel for documentation - Same control method
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC
Per-File fsync() disable:
This allows you to disable per-file write forced syncs. (e.g. if an app tries to force a write straight to disk, it'll just go to cache). This achieves the same goal as the modded sqlite hacks seen in tweaks such as USAS, however it can be disabled at runtime.
WARNING: THIS CAN CAUSE DATA LOSS OR CORRUPTION IN A CRASH
To enable, do the following in a terminal, or add it to an init.d script (look at my ondemand script as an example):
Code:
echo "1" > /sys/module/sync/parameters/fsync_disabled
And to disable (return to the default):
Code:
echo "0" > /sys/module/sync/parameters/fsync_disabled
Good for around 200 points of epeen in the database benchmarks in Antutu or 500-600 points of epeen in Quadrant. Real-world benefit: Probably not worth the data integrity risk, but you've got a choice now.
Backlight Notifications (BLN):
This allows the touchkey backlights to be used for notifications. Some stock apps (such as stock MMS) don't support it. Supposedly services.jar mods can change this.
This WILL drain your battery when a notification is active due to a wakelock that holds deep sleep. Sorry, it's either this or instability for the time being.
In addition to the BLN control app, the ROM needs a modified liblights file for this to work
Attached here - Liblights - both BLN-modified (extracted from VillainROM 3.0) and stock I777
To install, take the file and push it to /system:
Code:
adb remount
adb push <file> /system/lib/hw/lights.SGH-I777.so
adb chmod 644 /system/lib/hw/lights.SGH-I777.so
Then reboot
Note that on a Hellraised ROM, you need to replace SGH-I777 with GT-I9100. This includes manually ported ROMs like Cognition 777
Like my prerooted system image, this file is compressed using 7-Zip to prevent people from trying to flash it with CWM
OK, right now this post only has documentation of one "special but safe" feature:
To enable debugging of high deleted_wake_locks time, I've set this up to allow wake_lock_destroy() to be debugged without enabling DEBUG_WAKE_LOCK (which spams dmesg with a ton of stuff not needed for wake_lock_destroy() debugging). To enable, add 32 to the value of /sys/module/wakelock/parameters/debug_mask - This defaults to 3, so the proper value is 35.
Code:
echo "35" > /sys/module/wakelock/parameters/debug_mask
Return this to 3 to set it back to the default.
With this, you'll see wake_lock_destroy debugging information in your dmesg output. This is only needed if you have very high deleted_wake_locks times.
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
eep2378 said:
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
Click to expand...
Click to collapse
If it's in "planned features" - it's not in yet.
However it can be SOCed just like codeworkx's kernel
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
Thanks for using the recommended toolchain to compile
all the newer ones seem to cause the SGS2 to get very warm.
shishir95 said:
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
Click to expand...
Click to collapse
Shouldn't be any difference in speed - might even be slightly slower since I make conservative governor default for battery saving purposes. You can change this with SetCPU.
wonner said:
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
Click to expand...
Click to collapse
In About Phone, yes. If you use a more advanced info tool that shows the localversion, the git tag should be appended and the [email protected] build info should be [email protected] I'm going to be adding a CONFIG_LOCALVERSION tag in the future.
I just had my first Sleep of Death and realized I'm missing last_kmsg support. That's on the list for Planned Features, short-term now.
designgears said:
Thanks for using the recommended toolchain to compile
all the newer ones seem to cause the SGS2 to get very warm.
Click to expand...
Click to collapse
Newer ones make the Infuse die a horrible and painful death, if the kernel even compiles, and I want to retain that compatibility for now.
Sorry for my ignorance regarding Samsung Hardware, this is my first device from them.
Is this kernel aimed at CM or any Rom such as Cognition?
Drew
drewdatrip said:
Sorry for my ignorance regarding Samsung Hardware, this is my first device from them.
Is this kernel aimed at CM or any Rom such as Cognition?
Drew
Click to expand...
Click to collapse
Right now, stock-derived ROMs. NOT CM7/MIUI.
Regarding BLN - I am very unhappy to hear it may not be easy/possible to implement this on our phones. It appears that they've got it working on the international galaxy s 2s, do our phones have more in common with the Infuse than with those?
By the way, I almost forgot -- thank you for this! Flashed it with ODIN, no problems at all, and super-one-click-rooted as well. So far so good!
Any chance of adding a date to the thread title do I can know when you've updated and flash it again lol
jivy26 said:
Any chance of adding a date to the thread title do I can know when you've updated and flash it again lol
Click to expand...
Click to collapse
Will do. If you look at my Infuse series, I usually edit the first post with the update, and post to a post within the thread with a list of changes. The post in the thread will cause a bump - but since bumps don't always mean updates this is a good idea.
Initial observation.
With setting i/o to deadline i did not see my phone go into deep sleep much last night.
Today using noop the phone seems to sleem more often
Drew
drewdatrip said:
Initial observation.
With setting i/o to deadline i did not see my phone go into deep sleep much last night.
Today using noop the phone seems to sleem more often
Drew
Click to expand...
Click to collapse
Hmm... Interesting. That might be part of why battery life in CM7 on my Infuse seemed to be less the last time I used it, I never got tweak_scheduler.sh running on that.
Default in this kernel is CFQ, I've added BFQ but I've had bad things happen when it's the default at boot.
Is this a common issue that we're supposed to be having? Sleep of deaths? I haven't gotten any since I started using your kernel.

[KERNEL]»»Bexus-N [V4] »»CM-11/10.2/10.1~Clean->Lean->Mean

So...new cm10.2 and new kernel for you guys to enjoy :highfive:
Kudos once more to the team for taking this tablet beyond the BN wildest dreams
Android 4.3.1!!!!
So and the name of this kernel is inspired by this paradox B(arnes) exus-N(oble) :silly::silly:
It sounded like a good name for my taste and my mood right now
Is not a super duper or anything fancy but i hope will do it's job as smooth and bug free as it can be done
and my chit chat on a white background ends here :victory:
So the download links:
Bexus-N for CM11/4.4.2 AOSP
http://goo.im/devs/demetris/Acclaim/Bexus-N//Bexus-N-CM11.zip
Bexus-N for CM10.2/4.3.1 AOSP
Initial Release: http://tinyw.in/xWdi
V01 http://tinyw.in/uU2x
V02 http://tinyw.in/Yrv2
V03 http://tinyw.in/RF1W
V06 http://tinyw.in/9bKm
V07 http://tinyw.in/c3KN People who want battery life and the ext-sdcard as default must stay with this kernel
V08 http://tinyw.in/xMz3
V09 http://tinyw.in/WHNW
V0.91 http://tinyw.in/mrKI
V0.96 http://tinyw.in/raZA
V1 http://tinyw.in/xOtU
V1b http://tinyw.in/u0gW
--------------------------------------------------------------------------------
Bexus-N Respin(CM10.2 Only)
V2 http://tinyw.in/FpUt
V2.21 http://tinyw.in/ghUf
2.4 http://d-h.st/caF
V3 http://d-h.st/vyM
V3.1 http://d-h.st/HXI
3.5 http://d-h.st/YvJ
3.6 http://d-h.st/trJ
V3.71
1. Internal SDCARD as default http://d-h.st/jai
2. External SDCARD as default http://d-h.st/8jM
V3.75
Internal SDCARD as default http://d-h.st/7yF
V3.8
http://d-h.st/fRe
V4
Goo.im: http://goo.im/devs/demetris/Acclaim/Bexus-N//Bexus-N-V4-No SDCard.zip
Dev-Host: http://d-h.st/nbI
Bexus-N for CM10.1/4.2.2 AOSP
V07 http://tinyw.in/MgxH
V08 http://tinyw.in/DikR
V09 http://tinyw.in/C3gf
V0.91 http://tinyw.in/IKlT
V0.95 http://tinyw.in/m3C7
V0.96 http://tinyw.in/wMND
V1 http://tinyw.in/frrq
V1b http://tinyw.in/j7gR
--------------------------------------------------------------------------------
Bexus-N Respin CM10.1 Edition
3.71 http://d-h.st/1dO
V4 http://d-h.st/pO2
As usual and well known
Flash in recovery
Changelog at post #2
Source code:
https://github.com/Ntemis/Bexus-N
And again if you find my work useful there is a thank you button, use it! :highfive:
Changelog:
Initial->01 Inlined with Omap4460 Google Source code (Gnex/Tuna) as of our kernel revision 3.0.62
Version 02: Many many addictions from Google code pass our kernel 3.0.62 code
V02 has upgraded Kernel Revision to 3.0.67 for now and i am going to take this kernel as far as it can go following google this time
- BFQ i/o removed
- Cfq i/o removed
V03 Inlined as of Google GNexus 3.0.71 kernel source
- Dynamic Interactive and Lazy are removed
- Interactive updated to the latest Omap Upstream
V06 After a lot of hours and hard work we made it to 3.0.88 and we are inline with google Gnex.
I even merge Google's 4.3(mr2) android changes into our kernel
We now have a complete kernel, up2date and i hope solid too :fingers-crossed:
Now i will start the real fun:
Merging our device tweaks in and if you want to play a big part in this go to post #19 for the details.
V07 Inline with Kindle Fire CM10.2 source common. We are now at a turning point, people who want a clean mainline kernel stay with V07, thank you.
V08 Bexus N changelog
- Ramdisk changes/Internal sdcard as default(Only for CM10.2)
- Linux Kernel at 3.0.89
- Silicon Performance enabled max cpu at 1.2Ghz
- Lcd Panel at optimal settings
V09 Bexus N changelog
- Linux Kernel at 3.0.90
- Tweaks for better I/O
V0.91 Bexus N changelog
- Enable Bluetooth compile to fix cm compile error (Thanks Chris)
- Added ZZmoove Governor
- Added Fstrim (Only on CM10.2)
V0.95 Only For CM10.1 for now, mysteriously kernel doesn’t like 10.2 right now, looking into it.
V0.96 GCC ICE bug defeated, now it compiles on CM10.2 glamorously
- Well if i type it here you wont believe it, but now emmc I/O is 30% faster approximately, you will notice the speed boost on emmc reading or browsing or on games loading times
- Many Graphic engine optimizations you will notice the difference when you play a game is like colors are popping out of screen.
- Some changes here and there borrowed from B&N Nook HD/HD+ [Thanks goes to VeryGreen]
- Linux Kernel at 3.0.91
V1
- Added Touchfocus driver
- Added Sensitivity driver
- Updated to latest GCX driver V2.2.2
- Disabled GENTLE_FAIR_SLEEPERS in favor of UI Smoothness
- Various other added features and addictions from Nook HD/+
V2
- We have deep sleep back
- Kernel at 3.0.91
- Kernel Source code clean up
- Only for CM10.2 for now
V2.21
- We are now of the very few that we have kernel V3.0.101 with deep sleep too
- ZZmoove is back
- LZO of 2012
- Zcache latest 2012
- ALSA fixes
- Optimized AES and SHA1 routines -> This has provided
up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1.
- Lots more changes, look at github if interested
V3
- Exfat Driver Version 1.26 <- is the latest there is approx 1 month old
- BFQ I/O Sheduler V6.1
- Updated Row i/o and Wheatley Governor.
- Plenty of Graphic driver updates.
- Gpu at 384Mhz
- Lcd Panel at 90Mhz for even more clarity and performance
- A very good Undervolting , now we operate at OEM 800Mhz Volts when we use the 1.2Ghz one that’s almost at half volts as factory B&N Volt settings
V3.1
- Added tripndroid io scheduler
- Shorten time to enter sleep state
- Improved data writeback operations
- Improved VR scheduler
- Updated Crypto to upstream 3.4 kernel
- MAC80211 and WL12XX (Driver and Wifi) updates.
- RCU Updates.
Changelog from 3.1 -> 3.71
- add gpu trace events
- fix gpu event timestamp formatting
- DPLL cascading: memory leak fixing
- OMAP44xx: i723 fix. Reconfigure ABE DPLL on early kernel init
- Reduce android logger reserved memory
- Add support for mempool stats
- omapdss: set/get fps for displays
- B&N dss changes
- Fix insecure permissions in a bunch of sysfs files
- Add sensitivity setting to ft5x06 touchscreen sysfs
- ft5x: TS touchfocus setting in sysfs
- Give GPU 16mb RAM for its framebuffer
- Completely remove RAM CONSOLE to reclaim some RAM
- Add Hyper governor and make it faster.
- Add Smartass V2 governor
- Replace sio i/o with a newer version
- Add some compiler optimized flags
- Add krait optimizations plus some makefile clean up
- Add 460Mhz cpu frequency and together with the other added previous ones our
Cpu frequencies are now:
180Mhz/230Mhz/350Mhz/460Mhz/700Mhz/920Mhz/1.2Ghz/1.308Ghz
- Make OMAP Voltage values manual addendum v0.9 useful for us.
- We are now rock stable even if we are under volted and overclocked.
I want to clear something out here:
Based on OMAP Voltage values manual addendum v0.9 by TI latest 2012,officially we are NOT Undervolted
BUT based on what B&N settings were in our sources we are!!!
Click to expand...
Click to collapse
- I fixed our source code in emif.h we had competely wrong ram settings
our EMIF_DDR_PHY_CTRL_1_BASE_VAL was 0x849FF it should be 0x049FF and am guessing that it was the cause of our random reboots and crashes *fixed*] together with wrong elpida ddr2 466Mhz settings also *fixed*
- OMAP2+: clock: Fix DPLL clock rounding
- Added 5mV into 1.3ghz frequency as a precaution(not that we weren’t stable! Based on OMAP Voltage values manual addendum v0.9
Reference OMAP4430_VDD_MPU_OPPTURBO_UV 1325000 Link
Issues fixed:
- Wake on charge
- Random Reboots are history
- Random Playback Crashes are less frequent.
Known Issues
- Alarm Clock can't wake up system so will never fire while system deep sleeps
The white flash on boot is on purpose and is a feature introduced by B&N to get Display exact fps so..NOT a bug
And again if you find my work useful there is a thank you button, use it! :highfive:
This is just a kernel correct? Not a cm10.2 rom?
Sent from my Barnes & Noble Nook Tablet
Correct!:thumbup:
Sent from my LG-P880 using Tapatalk 2
Do you have to use it with cm 10.2?
I tried it with cm 10.1 and it doesn't boot. Just sits at black screen.
Yes its only for android 4.3, there is another thread for 4.2 kernel
Sent from my Acclaim using xda premium
V01 Released, Enjoy.
demetris_I said:
V01 Released, Enjoy.
Click to expand...
Click to collapse
The initial release worked very well for me. I watch movies using MX Player. The Hardware acceleration worked flawlessly. When I installed V01 the hardware acceleration stopped. I could only use software. I reverted back to the initial release. Just passing along.
Thanks,
JT
Thanks for the feedback.
New version coming up.
V01 didn't have any hardware acceleration issues on my nook. Running very stable for me.
Sent from my Galaxy Nexus
Second day for me with the initial version. So far no major issues. Also It seems that the battery life is improved over previous versions.
Thanks demetris.
Sent from my Barnes & Noble Nook Tablet using xda app-developers app
Bexus-N 02 Out!
Test and report
Thanks
Do you plan on implementing the 1.2ghz overclock into this kernel? Just curious seeing as though your 3.22 kernel had it.
topdawg7793 said:
Do you plan on implementing the 1.2ghz overclock into this kernel? Just curious seeing as though your 3.22 kernel had it.
Click to expand...
Click to collapse
After i finish with kernel levelling i will put all missing pieces Panel/Cpu/gpu and maybe undervolt.
No issues with N02 here...
demetris_I said:
Bexus-N 02 Out!
Test and report
Thanks
Click to expand...
Click to collapse
Been running Version 02 since 10 pm last night (8/7/13) 4 hours reading time, 3 sleep. Battery down to 75% as of 5:20 am. I would have to give it some more time in order to tell if that is good or not.
Voice, sound, WiFi, locations for maps and weather all work.:good:
demetris_I said:
Bexus-N 02 Out!
Test and report
Thanks
Click to expand...
Click to collapse
Hardware acceleration is working for me again. (HW Acceleration didn't work on 01 for me for some reason) So far everything is working great! Thanks for all you do!
JT
Bexus-N 03 Out!
Test and report
Thanks
So as OP V06 is out
I want to make some big changes after this release but you must post here in this thread your requirements and opinion on it so we can collaborate.
1st is the sdcard change
I am thinking put the internal sdcard as default and as it should have been from the start imo.
I want to hear your views on this subject.
2nd is battery life
Subject
A) If i take Cpu at 1.2GHz 0r even 1.35Ghz more heat and lower battery life
B) If i set the lcd panel at the maximum manufacturer specification we will have more clarity better refresh rate but lower battery life
C) Gpu at 307mhz or 384Mhz(more heat and lower battery life )?
I await your responses so i can continue developing
Go for gold
demetris_I said:
So as OP V06 is out
I want to make some big changes after this release but you must post here in this thread your requirements and opinion on it so we can collaborate.
1st is the sdcard change
I am thinking put the internal sdcard as default and as it should have been from the start imo.
I want to hear your views on this subject.
2nd is battery life
Subject
A) If i take Cpu at 1.2GHz 0r even 1.35Ghz more heat and lower battery life
B) If i set the lcd panel at the maximum manufacturer specification we will have more clarity better refresh rate but lower battery life
C) Gpu at 307mhz or 384Mhz(more heat and lower battery life )?
I await your responses so i can continue developing
Click to expand...
Click to collapse
Let me be honest, I'm a performance monger and would like to see all of these incorporated. I'll sacrifice some battery life.

[KERNEL][ALL ROMS][SEP 14] Glitch for Flo/Deb - r574

These kernels are provided as-is without warranty. I'm not responsible for any problem you may encounter with your phone or tablet or if your cat suddenly dies.
Although, don't expect support even if I will eventually help because I love cats.
{
"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"
}
​
Overview & features :
"With great power comes great responsibility". Don't go crazy with overclocking, only the best devices will be able to get 2.3 GHz stable or even bootable, though heat will be your main issue.
- Based on Google AOSP 3.4.0 and LineageOS's kernel sources for MSM devices
- CPU OC up to 2.3Ghz with OV/UV support / minimum frequency down to 81 MHz (configurable)
- L2/bus speed OC up to 1.49GHz / 4.8GBPS
- GPU OC up to 627 MHz with OV/UV support
- CPU governors : Faux's intellidemand, interactive, ondemand, smartmax, intelliactive, conservative, elementalx
- I/O schedulers: noop, deadline, cfq, fiops, sio, BFQ, zen
- Kernel based intelli-thermal driver by Faux123
- Kernel based msm hotplug driver by Fluxi
- tni.andro's battery life extender support
- Magnetic on/off setting
- USB fast charge support
- USB OTG charge hack support by flar2
- FauxSound support
- LineageOS's PCC color tweaking
- Fsync switch on/off
- Touchscreen patches by Showp1984
- Touchscreen wake/sleep gestures by flar2
- Kali Pwn Pad experimental support
- Optimized algorithms and libraries
- Various performance and power saving tweaks
- NTFS, NFS and exFAT support
- F2FS support up to all-F2FS with automatic ramdisk patching at flash time (reflash if you change partition format !)
- Kexec-hardboot support for Multirom compatibility
- Full package comes with Aroma installer to set core features at flash time (L2 OC level, CPU OC, etc.)
- Pure package will restore Aroma settings backup if present, or else will offer you a balanced preset for day to day usage
- Custom Synapse support with various settings and core features tweaks
- Compiled with Linaro 6.1.3 toolchain with various optimizations
- SELinux Permissive patch (Disabled by default, can be enabled in Aroma)
- Wifi firmware overrider to fix wifi on 4.4.3 & lower or on roms using old wifi firmware (up to r226 - Kitkat only)
CHANGELOGS IN #2 POST
You can tweak multiple options of this kernel with TricksterMod, FauxClock, Kernel Adiutor, Synapse(r500 and up, definitely recommended to get the most available options) or similar apps. (They are all available on the PlayStore)
Note to MultiROM users : don't use the kernel sharing feature. Flash the kernel on each rom instead. Also, it may take more time booting on secondary roms when using F2FS. Don't worry and wait for a bit ​
Downloads (all kernels are compatible with both flo and deb)
Grab your build from here :
Glitch kernel r574 download - For AOSP 6.0.1/7.x.x and LineageOS 14.1​
Mirror + older builds : Mediafire​
FAQ :
What are the differences between "Full" and "Pure" builds ?
The "Full" builds are using Aroma Installer so you can tweak various options at flash time. At the end of the process, a file containing your settings will be created (/sdcard/glitch-settings.conf). The "full" builds are also able to restore your settings from Aroma after a rom flash or wipe for example.
On the other hand, "Pure" builds aren't coming with Aroma and will try to restore your settings from your SDcard, or use a default profile if none is found. Both Full and Pure builds are coming with a custom Synapse support to let you tweak all the core options on the fly once booted.
If you flash a "Pure" build without a profile, the default preset will be applied. It's been tweaked for a good balance between performance, power consumption, stability and functionality for day to day usage. The default settings applied are as follow :
- 1.7GHz max CPU freq (from 1.5GHz stock) / 1GHz max CPU freq when the screen is off / "Balanced" L2 OC
- msm_hotplug driver in place of msm_mpdecision
- 450MHz max GPU freq (inline with other Snapdragon 600 devices - from 400MHz stock)
- Safe CPU and GPU undervolting for lower heat and power consumption
- Deadline I/O sched / Interactive CPU governor
- Doubletap to wake and fastcharge enabled (Doubletap to wake will slowly drain power during suspend, so disable it if not used)
- Everything else is kept stock
What do I have to do to use F2FS on one (or more) of my partitions ?
First, BACKUP your data if needed, especially if you're planning to use F2FS on DATA partition, as changing filesystem will wipe the partition. Change partition formats as needed in your recovery. It is NOT recommended to convert system partition as F2FS as it'll be slower than EXT4 to begin with (as the partition is mostly read only) and will alter compatibility with many roms (especially CM/LineageOS based). The last thing to do is to flash any Glitch kernel with a revision number past r150. You can restore your settings from SDcard if any, the install process will detect the partitions and modify the ramdisk accordingly so you can finally boot and use your fresh FS.
What L2/cache OC setting should I use ?
This setting will overclock bus speed and RAM so it's a bit delicate to tweak, yet it can give a nice "free" global performance boost. A simple test to check for stability is to run the camera app 3 or 4 times in a row while waiting for 10 seconds between each launch. If your device freezes, it's unstable ! It's also the only setting you can't change on the fly once booted, either from Synapse or sysfs, and requiring a reflash (using Aroma or changing the value in /sdcard/glitch-settings.conf).
Let me give you some details about the available settings so you can choose wisely :
Stock (1.13GHz-4.26GBps) is the regular, out of the box, non OC setting.
Improved (1.19GHz-4.26GBps) is the same as "ElementalX" setting in Flar2's kernel.
Balanced (1.22GHz-4.66GBps) is the same as "Ultra" setting in Flar2's kernel.
Fast (1.35GHz-4.66GBps) is a nice jump over "Balanced", yet stable for most devices. A kind of sweet spot.
Extreme (1.43GHz-4.80GBps) is were most users will start to get issues. Provides a great boost if stable.
Glitchy (1.49GHz-4.80GBps) pushes your hardware to the limits. Will be unstable for most devices.​
Thanks to everyone helping me to debug and find new useful things to integrate !
Without all of you, this kernel wouldn't be !​
XDA:DevDB Information
Glitch kernel for Flo, Kernel for the Nexus 7 (2013)
Contributors
Tk-Glitch, Google, animania260, CyanogenMod, TeamDouche, flar2, Faux123, franciscofranco, Showp1984, Team-Hydra, sixstringsg, Poondog, ZeroInfinity, Fluxi, arter97, neobuddy89, alesaiko, 228aye, AndreiLux, amarullz ,followmsi, and all my community
Source Code: https://github.com/Tk-Glitch/Flo_AOSP
Kernel Special Features: CPU OC/UV 2.3 GHz, GPU OC/UV 627MHz, FauxSound, S2W/S2S/DT2W, Bus speed OC
Version Information
Status: Stable
Created 2013-09-19
Last Updated 2017-09-13
logs
Git commits for nerdz & lolcats​
Latest release's changelog with words for humans :
14/09/2017 - r574 :
- Synced with latest LineageOS 14.1;
- Updated toolchain to Linaro GCC 7.1.1-2017.08;
- Added touchscreen-calibration fix patch by parrotgeek1;
Previous changes below :
17/07/2017 - r572 :
- Synced with latest LineageOS 14.1;
11/07/2017 - r571 :
- Synced with latest LineageOS 14.1;
29/06/2017 - r570 :
- Synced with latest LineageOS 14.1;
- Updated toolchain to Linaro GCC 7.1.1-2017.05.
03/06/2017 - r566 :
- Synced with latest LineageOS 14.1;
- Changed the behaviour of the permissive/not permissive switch to either force permissive or keep rom default (instead of forcing enforcing before) to prevent issues with some implementations;
- Added a service that restarts GMS (Google Mobile Services) post boot to fix memory leak/battery drain linked to them - Curently working in permissive mode only (like init.d and some advanced Synapse settings);
- Updated toolchain to Linaro GCC 6.3.1-2017.05.
07/05/2017 - r565 :
- Synced with latest LineageOS 14.1;
- Added a simple check for the MPDecision service starting mechanism used by your rom : If it's using the same trigger as LineageOS (init.flo.power.rc), you'll be able to enable/disable the service at will after boot. If it's using a different trigger, the binary will be nuked the old way (renamed to mpdecision_bck) if you're using the in-kernel msm_hotplug driver (effectively preventing you to play with it after boot). It's not a solution that pleases me, but it will fix cases of both hotplug drivers loaded at the same time on non-LOS-based roms, and that's all that counts for now.
14/04/2017 - r564 :
- Synced with latest LineageOS 14.1;
- Corrected HZ reference in touchscreen driver.
30/03/2017 - r563 :
- Fix potential touchscreen inconsistencies on some panel revisions
- Fix gesture switch (S2S/S2W/timeout)
27/03/2017 - r561 :
- Synced with latest LineageOS 14.1;
- Backported high-resolution support for sched-clock;
- Fixed CPU detection on subsystem_restart;
- Make rpm clocks sleeping clocks;
- Pushed updates from franco kernel regarding GPU, CPU freq and video;
- Added Zen I/O scheduler (pretty nice sched to say the least);
- Enabled I/O is busy flag for msm_hotplug driver by default (boosts CPU freq during heavy I/O load -> big smoothness gains in many apps and games);
- Added compiler fixes and optimizations from alesaiko (breakfast kernel);
- Moved to latest Linaro GCC 6.3.1 compiler (as the changes above fixed high power consumption issues on GCC5+);
- Consolidated Synapse support. The path of the generated config file is now /data/synapse instead of ramdisk to keep it safe during rom upgrades and reboots. If you get a "No UCI support" message on first Synapse launch, just kill the app and relaunch it. It'll not happen again after that unless you wipe data or I'm forcing a regen in a future update.
- Fixed init.d injection not using the correct path for busybox since a few releases and updated the execution process to N standards;
- Changed the way we get rid of mpdecision to prevent the service from starting in the init process instead of renaming the binary. This enables the possibility to enable or disable mpdecision on the fly after boot, even if using msm_hotplug as default hotplug driver.
- Fixed missing options in Synapse;
- Added various smaller performance patches and optimizations as well as a few more variables to play with for nerdz and lolcats (see github commits);
- Tweaked debugging config;
12/03/2017 - r544 :
- Sync with latest LineageOS 14.1
- Disabled backlight dimmer by default - Added a note to Aroma installer about potential issues with some panel revisions
23/12/2016 - r543 :
- Sync with latest CM14.1
18/12/2016 - r542 :
- Enable RPFILTER (CM14.1 tethering fix)
05/12/2016 - r541 :
- SElinux switch now works on boot without needing root access. As a result, also removed related post-boot script hooks
- Added prebuilt config file for Synapse for faster launch and fix possible error on first launch (clear Synapse data if you get issues)
04/12/2016 - r540 :
Due to some of the changes in this build, restoring settings from sdcard backup (by flashing Pure Edition or restoring through Aroma) may lead to different settings being applied depending on what you set before. It is strongly suggested to use the Full installation at least once to update your settings or delete glitch-settings.conf on the root of your sdcard before flash to use the default preset.
- Post CM14.1 merge cleanup pass. It was definitely needed ! Including, but not limited to :
- Removed Lazyplug and Intelliplug hotplug drivers (due to conflicts leading to performance issues)
- Removed Dynamic Fsync / Added switch to disable Fsync (after corrupting ~15 installations with DynFsync, I don't feel like it's worth the slight I/O perf boost)
- Replaced Showp1984's DT2W by flar2's S2W/S2S/DT2W (the touchscreen issues I faced with it aren't reproducible anymore)
- Removed LZ4 and use XZ compression instead
- Removed WQ_POWER_EFFICIENT (couldn't see a measurable gain with it enabled)
- Removed ROW ioshed
- Rollback'd to older Intellidemand governor​- Reworked settings application and restoration system to work with CM14.1/without SuperSU and load it early during boot by init hooking (CM14.1 PCC livedisplay related race condition "fix" included). Note : MultiROM users, you may want to disable MultiROM menu if you have it enabled to further reduce the chances to trigger the issue (completely fixed it on my side). Feel free to report your findings on the matter.
- Added flar2's ElementalX governor
- Updated default profile (the one you get while flashing Pure package or using restoration option in Aroma without sdcard backup)
- Updated thermal profiles
- Updated available options in Aroma
- Updated busybox to 1.25.1 YDS and moved from /sbin to the more convenient and standard /system/xbin
- Updated Selinux switches to work with more roms (now working on CM14.1)
- Moved Synapse files from /data/synapse to /res/synapse in ramdisk
- Updated Synapse presets
- Updated Synapse settings (Aroma installer will give more gestures-related options though, at least for now)
29/11/2016 - r534 :
This kernel will only work with AOSP 7.x and latest CyanogenMod 14.1 based roms. If you get incorrect colors and slow UI, rollback to r533 CM.
- Rebased using CM14.1 tree
- Updated color controls to mimic CM's PCC implementation (Thanks @flar2)
07/11/2016 - r533 :
- Added SDCardFS support
- Fix for CVE-2016-3903
- Fix for CVE-2016-3934
- Fix for CVE-2016-7117
- Added LazyPlug switch and settings to Synapse (hotplug tab)
- Added DT2W switch to Synapse (misc tab)
- Fix GPU voltage range formatting in Synapse
- Fixes regarding power efficiency
- Contextual fixes and speedups
- Now building CM variant of the Nougat kernel too. AICP is the first N rom on this device to require a CM compatible kernel.
14/09/2016 - r530 :
- Modified rom injection/flash time mods logic to be more robust and universal. Fixes inconsistent boot or even bootlooping on hybrid F2FS roms like CyanogenMod or PureNexus THIS CHANGE MAY FORCE YOU TO REFLASH YOUR ROM TO BE ABLE TO BOOT (even on a non-hybrid rom - no wipe required)
- Fixed settings not applying after setting them through Aroma/glitch-settings.conf
- Security patch to avoid invalid access to ashmem area
- Security patch for vulnerability CVE-2016-2059
- Removed deprecated binary injection code
- Default thermal presets calibrated for better efficiency and performance (they were too aggressive in r520)
- Little naming change for the builds. Full is still "Full", but "Restore" is now "Pure". Pure edition is now fully standalone and doesn't require a previously generated profile from Full edition (but will gladly restore it as before if found during install). It can be fully tweaked through config file and/or Synapse like Full edition.
- Nougat build "Full edition" now has a Nougat themed splash screen for Aroma
- Synapse presets are now working. Make sure to press apply when Synapse comes back if you want to keep it ! (Make sure to clear Synapse data after first boot to force a regeneration !)
- Small things you won't notice
24/08/2016 - r520 :
- Rebase from latest AOSP sources
- Synapse support with many more features and personnalization available than ever before ! Aroma settings are a joke compared to what you'll have in Synapse. Don't flash UKM on top by the way, and make sure to clear Synapse data if you've flashed one of the previews. Even more to come soon.
- Updated Neobuddy89's msm_limiter driver to latest from Nexus 6
- Updated Neobuddy89's state_notifier driver to latest from Nexus 6
- Moved to Faux123's Intelli-thermal driver
- Added some memutils optimizations and more for performance
- Updated Xbox One gamepad driver
- Removed loads of dead code and buggy merges
- Switched to Linaro 4.9.4 toolchain - After weeks of testing, my tab runs cooler, stabler, and longer than with 5.x for an invisible performance difference. Worth it !
10/08/2016 - Preview r516 is available here. More options available in Synapse which is now also enabled with the "full" build, merged android-6.0.1_r0.105, and various other tweaks for speed and power savings. Full changelog here.
04/08/2016 - A preview (r513) is available here. Synapse part still needs some work. Notably, some hotplug drivers options are missing and you can't apply presets. The kernel itself should be stable enough for day to day usage.
12/07/2016 - r499 :
- Fix for glitch settings not applying if the rom doesn't use the init.trace.rc file (Dirty Unicorns is one of them)
- Sync fstab with latest cm13 (may fix usb otg on cm13 based roms in some specific configurations)
11/07/2016 - r478 r498 :
- Synced source up to android-6.0.1_r0.98 changes (latest)
- Getting ready for rebase and Synapse-compatible release
- Removed deprecated libs from r478 installer (fixes setperm errors on some custom/recent roms)
- Fixed CM compatibility
10/12/2015 - r412 :
- Merged with android-6.0.1_r0.1 changes
- PowerHAL patch to fully disable touchboost calls when Qualcomm MPdecision isn't used. This gets rid of the touchboost log spam and (small) overhead.
- Updated F2FS
- Installer scripts fixes and cleanups
- Added back CM build - untested
02/12/2015 - r410 :
- Updated base to linux 3.4.110
- Merged with android-6.0.0_r0.1 changes
- Added Neobuddy89's MSM Limiter driver, enabling max/min/suspend frequencies tweaking on the fly. No more need to reflash for that (/sys/kernel/msm_limiter/ for who's interested). Also added his state notifier driver for further tweaking.
- Removed MSM Sleeper as it's covered by MSM Limiter already
- Changed how settings are applied (moved from init.d script to service) to prevent permission denied issues (Thx Flar2). Due to changes to the way your settings are handled, it's recommended to make a full installation. Settings aren't retrocompatible with previous Glitch kernels !
- Performance and stability improvements by removing coresight from Adreno drivers and better CPU management/scaling through MSM Limiter
- Aroma slight changes to reflect internal changes (note : CPU uV is now applied for both 384MHz step and lower ones)
15/09/2015 - r361 :
- Fixed no mobile network issue on DEB
- Disabled unnecessary debugging
13/09/2015 - r360 :
- Merged with android-5.1.1_r0.17 changes
- Added Lazyplug hotplug driver by Arter97 (you may need to make a full installation if you want to switch to this driver)
- Updated F2FS
- Updated BFQ to v7r8
- Added experimental Nvidia relaxed power savings
- More fixes and various optimizations regarding performance and efficiency
09/09/2015 - r353 :
Note : CM related issues some are encountering aren't adressed with this update. CM team is breaking more and more stuff while using AOSP bases for the kernel and I won't make a CAF based version again. The updated toolchain and added fixes in this release may or may not help, but I won't provide support for CM related issues anymore. Sorry for the inconvenience.
- Fixed SELinux switches (You'll need to use the restore function in full package or just the restore package to switch between permissive and enforcing modes. Enabling it in glitch-settings.conf isn't enough for it to work.)
- Disabled Android Logger by default for less overhead
- Updated toolchain to Linaro GCC 5.2.0 with LTO support
- Tiny fixes
02/07/2015 - r350 :
- Merged with android-5.1.1_r0.13 changes
- Fixed missing governors from previous release
- Added native support for Xbox One controller from Linux 3.17
- Fixed a potential instability case in idle state
- Updated base to linux 3.4.108
- Under the hood fixes
- CM and AOSP kernels are now sharing the exact same base for better stability and maintenance
08/05/2015 - Hotfix - r344 :
- Rolled back various GPU driver patches to fix some Chrome scrolling lockups and possible RR linked to the underlying bug linked to them
- Send enforcing=0 to kernel command line if you're using the permissive ramdisk mode (may fix boot on some non-standard roms - AICP still not booting for me though.. If you know why I'm all ears)
- Modify fstab.flo file in ramdisk even when using CM kernel (enables some non-standard CAF based roms with no "multi-mount fstab" support to boot - it mustn't exist, but better safe than sorry)
08/05/2015 - r343 :
- Merged with android-5.1.1_r0.10 changes
- Removed UKSM
- Disabled KSM
- Removed transparent compression support
- Replaced Flar2's S2W/DT2W by showp1984's DT2W
- Various F2FS changes from arter97 and Jaegeuk Kim
- Various backported drivers from arter97
- Updated Intelli-Plug
- Cleaned up base and bumped back to latest 3.4.y (3.4.107 atm)
- Enabled back kernel mode NEON
- Removed PIE bypass patch from Aroma
- Added Motorola's Qualcomm optimized memutils
- Added BFQ v7r7 ioshed
- Updated Intelliactive governor
- Fstab patching changes to fix boot on some non-standard roms
- Updated Random
- Updated toolchain to Linaro GCC 5.1.0 with LTO support
- Added LTO optimizations
19/04/2015 - r330 :
After breaking my partitions while attempting to improve F2FS mounting time, I was forced to format everything. After my backup restoration and system reinstallation, r327 F2FS implementation is now booting faster than EXT4 on my tab (with mounting times of ~5sec versus 30+ before). So I've then decided to revert the planned F2FS changes for r330 (which made it 1sec faster before formatting, but much slower after) as it didn't make sense. If F2FS mounting time is bothering you, fully formatting your partitions and restoring your data will give you a nice performance reward in return.
- Added flush_merge to F2FS mount options for faster flushing
- Added "transparent compression" support (CM sync)
- Added back optimized ARM RWSEM algorithm
- Enabled back unaligned memory access
- Switched to SIO ioshed (from ROW) at boot time as well as others small tweaks for possible further boot time improvements and smaller file size
16/04/2015 - r327 :
- Merged with android-5.1.0_r0.10 changes
- Updated F2FS implementation using Motorola's sources
- Cleaned up permissive ramdisk patches (fixed related SODs with it enabled)
- Introducing "restore" builds. You can now update your Glitch setup without Aroma using these builds. Your settings will be restored from the SDcard backup made by a previous Glitch installation, so if you don't have a "glitch-settings.conf" file in the root of your SDcard, please use a full build first to generate it ! The "full" builds are using Aroma as before.
- Updated toolchain to Cortex A15 optimized Linaro GCC 4.9.3-2015.03
07/03/2015 - r320 :
THIS UPDATE WILL NEED YOU TO REINSTALL YOUR ROM AND TO MAKE A FULL INSTALLATION OF THE KERNEL IF YOU'RE COMING FROM A PREVIOUS GLITCH RELEASE
- Updated F2FS implementation and bumped to latest
- Various scheduler optimizations - Better hardware use means potentially lower max OC !
- Improved boot times (At least with EXT4. F2FS mounting time feels a bit longer with the updated F2FS implementation)
- Reverted Slimbus OC as some users got issues with it
- Removed some ramdisk mods interfering with permissions
- F2FS/EXT4 detection script rewrite to preserve rom's fstab structure
- Added another permissive switch to disable SELinux enforcing (it will be enabled if you tick the permissive patch in aroma)
- Removed wifi patch from Aroma as it's now useless with lollipop
- Added some security patches from CM source
- CM kernel rebased on Glitch AOSP (again) - Looks good after a few days of intensive use
- A few little glitchy tweaks
- Updated toolchain to Cortex A15 optimized Linaro GCC 4.9.3-2015.02
16/01/2015 - r307 :
- Disable wake gestures by default
- Fix for a little color tweaking bug
- Updated CAF variant for CM12 support & sync with Glitch AOSP r307
Note : r307-CM is NOT compatible with CM11. It must be used with CM12 only.
12/12/2014 - r306 :
- Added vmalloc setting to command line to fix some video playback issues. Thanks to @szale9001 for pointing this out !
16/11/2014 - r303 :
- Added Chainfire's partial root ramdisk patch by default
- Added cernekee's PIE patch to Aroma (allows third party native executables to run, lowering security. Fixes various apps)
- Added SELinux permissive + sepolicy ramdisk patch to Aroma (enables full root access but lowers security. Fixes various apps)
15/11/2014 - r300 :
- Updated AOSP kernel with lollipop-release - BREAKS COMPATIBILITY WITH 4.4.x due to GPU driver changes !
- Removed interactive GPU governor
- Merged GPU patches from codeaurora & franciscofranco for better responsiveness and battery life
- Cleanups
26/09/2014 - r226-disabledAVS :
- r226 variant with disabled AVS for users with recurrent instability issues. Higher power consumption than standard build when used without uV.
Follow up to this post : http://forum.xda-developers.com/showpost.php?p=55566837&postcount=1943
22/09/2014 - r226 :
- Added experimental support for Kali Pwn Pad (as it was requested by some - Thanks for the list Flar2 )
- Disabled compaction (a little higher RAM consumption for higher performances - Doesn't seem to affect multi-tasking in a negative way)
- Disabled MSM hardware adaptive voltage scaling (should fix the last remnants of SoDs/RR happening for some even on other kernels - May lead to higher power consumption) I will make a test build with it disabled for who wants to try in the next days
- Updated Faux Sound to 3.6
- Enabled more TCP congestion-avoidance algorithms
- Enabled NFS support
- Moved exfat to built-in instead of module
- Added black magic
17/09/2014 - r223 :
- Better hotplug driver settings in 99glitchsetup script / Fix Qualcomm MPDEC activation
- Lowered "Glitchy" L2/bus settings to make it usable by more users
- Enabled various compiler optimizations (like some GCC graphite optimizations)
- Updated toolchain to Cortex-A15 optimized Linaro 4.9.2 2014.09
- Echo touch firmware version to logfile (/data/local/tmp/glitch-kernel.log)
10/09/2014 - r220 :
AOSP kernel only (CAF kernel will follow as soon as possible) :
- Rebase using latest Google source (fixing various bugs like SoD, random shutdown, slowdowns etc.) and staying on 3.4.0 base for now to prevent issues til I'm able to fix them all with latest Linux upstream
- Aroma Installer rework for less pages on fresh installation mode, similar to Flar2's presentation
- Added new options to Aroma installer
- Updated Flar2's S2W/DT2W system, enabling gesture support
- Replaced Showp1984's MPDecision by Fluxi's MSM Hotplug driver - new default
- Updated Faux123's Intelliplug hotplug driver as well as intellidemand & Intelliactive governors
- Updated/fixed Smartmax and Smartmax EPS (extreme power saving) governors
- Updated FauxSound
- Updated Flar2's msm_sleeper
- Added a backlight dimmer function
- Cleaned up/removed a vast amount of old patches
- Added release number to internal kernel naming so you know what version you're on
- Added a wlan firmware override setting in Aroma. This is basically the same as using 4.4.4 PRIMAtor to enable 4.4.3 or lower support or to fix wifi on a few roms that are using older wifi blobs
- Slight tweaking here and there
- Removed kernel-based NEON support - Needs more testing
- Switched to LZ4 kernel compression - Higher kernel size but faster boot times
- Updated toolchain to Cortex-A15 optimized Linaro 4.9.2 2014.08
05/07/2014 - r151 :
AOSP kernel only :
- Base update from Linux 3.4.86 to 3.4.96
- Removed some unnecessary Aroma pages for faster navigation
- Removed Qualcomm-Optimized Dalvik/Bionic from Aroma to prevent users from softbricks when used on incompatible ROM
- Added F2FS support
- Added F2FS partition detection script to modify ramdisk accordingly at flash time. You will need to launch Aroma installer each time you change FS on supported partitions (DATA, CACHE & SYSTEM) to refresh the ramdisk configuration (you can restore your glitch settings to do that btw, no need to clean install). You can use all of them as F2FS, or just one, you decide.
- Enabled Intelliactive governor
- Added CTCaer's patch to restore forced TS firmware update sysfs
05/06/2014 - r147 :
AOSP kernel only :
- Merged with 4.4.3
- Base update from Linux 3.4.82 to 3.4.86
- Switch to Cortex-A15 optimized Linaro 4.9.1 toolchain
25/02/2014 - r142 :
- Base update from Linux 3.4.79 to 3.4.82
- Added 81 MHz CPU frequency
- Updated ondemand governor
- Switch to Cortex-A15 optimized Linaro 4.8.3 toolchain
- Disable input-boost by default in Aroma
07/02/2014 - r140 :
- Update to Linux 3.4.79
- Switch to XZ compression
- Add kernel mode NEON support as well as NEON accelerated AES & XOR implementations
- Fix CPU load miscalculation
- jbd2 and ext4 optimizations
- Add max screen off frequency support - Thanks to Flar2 (if disabled in Aroma, changing frequency in apps won't have any effect)
- Add UKSM 0.1.2.2 support
- Add dynamic management of dirty page writebacks
- Enable Wiimote HID support
- Enable USB printer support
- Bugfixes
Aroma installer overhaul :
- Reworked installation process to be clearer and more customizable
- Added an automatic backup of your settings to the root of your internal SDcard
- Added a restoration mode to get your settings from internal SDcard backup back on any rom (cross-compatible with Glitch kernel variants)
- Renamed /system/etc/settings.conf to glitch-settings.conf to make it more obviously glitchy
- Removed the need to set CPU OC, L2/cache OC and auto-uV again when keeping previous settings (now reading it from your settings at flash time. Note : editing this part in /system/etc/glitch-settings.conf requires a reflash using the "already glitched" option)
- Added Qualcomm optimized Dalvik/Bionic libraries into the installer (bionic only on CM variant) so you can install/restore them with the kernel
- Added I/O scheduler, CPU governor, read-ahead buffer size, fast charge, max screen off frequency and maximum multi-core power savings to available settings
- Fixed how the min CPU clock is applied to make it more robust and work better with governors
- Fixed how the min CPU freq uV is applied to make it work independently of the min freq (by subtracting the uV amount to the original voltage instead of forcing plain values) - Also, make it capable of setting uV for all freqs for future use.
- Changed the auto-uV menu to reflect the internal changes
- Fixed some permissions issues
- Added hotplug driver check so it's possible to restore it as well from settings without interference
- Change theme
25/01/2014 - r132 :
Performance and stability improvements :
- Enhanced memory management
- Lower CPU overhead
- Improved I/O speed in many cases
- Improved ondemand governor behavior
- Fix a memory leak
- Fix some msm_bus bugs
- Fix a false error report in Aroma log
CM kernel only :
- Fixed the "black caterpillar" bug
- Improved GPU performance consistency
23/01/2014 - r130 :
- Faux123's LCD color control driver updated to Flo version (thanks to him to make it opensource), adding gamma control. (You'll need FauxClock to tweak it - color is still available from TricksterMod)
- Some GPU driver related bugfixes
- Implemented LoUIS API for cache maintenance operations
- Update base to Linux 3.4.77
- Revert some CAF updates (fixes some L2 corruption that could lead to random reboots / black screens)
- Battery life improvements
- Some cleaning
CM kernel only :
- Fixed color control
- Fixed random heavy GPU performance drop
- Changed memory allocation to be in line with CM
- Changed naming in Aroma to differentiate from "pure" AOSP
Older changelogs are available here
Looks like a nice kernel that will really show what this device can do
Sent from my Nexus 4 using Tapatalk 4
Thanks.
That's what I'm trying to make. And I *think* (may be wrong though) I'm the only one yet using a fully working GPU OC implementation on flo kernel. It's an adaptation of Galaxy S IV's (i9505) GPU OC code from Team Hydra.
It seems 627 MHz is around the max possible with stock voltage, probably even 600 MHz for many. I'll see what it can do with a bit more juice.
Other things to do : add more frequency steps for the CPU, lock the default freq, and make the L2/bus speed configurable.
After that I think we'll be able to push the thing to the limits if we want to.
Thanks for your hard work I'm going to try it on pacman ROM I'll let you know how it goes
Sent from my Nexus 7 using XDA Premium 4 mobile app
Thank you, I'm curious to know what results you'll get
Awesome so far .WOW
Sent from my Nexus 7 using XDA Premium 4 mobile app
---------- Post added at 12:20 AM ---------- Previous post was at 12:18 AM ----------
I wanna show u my settings, I use trickster, so sound and faux kernel app to get the results I need was going to show you pictures but all the sudden XDA premium has no picture button I'm a little lost their. Touch responses phenomenal and just like faux kernel the sound is this did really well I can finally listened stock sound sucks on this product even know what has supposedly way better speakers, thanks to people like you I can actually hear the videos I watch without headphones now. Thank you very much I've been using it for about 5 minutes swimming around on everything and everything smooth as hell
Sent from my Nexus 7 using XDA Premium 4 mobile app
---------- Post added at 12:21 AM ---------- Previous post was at 12:20 AM ----------
Add me on gtalk. [email protected]
Sent from my Nexus 7 using XDA Premium 4 mobile app
---------- Post added at 12:24 AM ---------- Previous post was at 12:21 AM ----------
I'm kinda pissed,paid XDA apk all of a sudden has no way to show pictures. Argggg
Sent from my Nexus 7 using XDA Premium 4 mobile app
The problem exists on the free app as well ^^
Try scrolling up and down away from the images and back on them, it'll eventually show up at some point.
Thanks for your work. I'll give this kernel a try.
Coming from N4 motley kernel I'll love to use init.d scripts to set up color "calibration", sleep states, etc. What do you think about implementing / documenting such features for your kernel?
Otherwise, let me see if I need something. Hm, what about USB OTG and ntfs/f2fs support?
USB OTG is working out of the box. NTFS/F2FS support isn't. I'll look into adding them =)
Your idea is nice, I'll think about it.
Thanks =)
Do you plan on adding Faux's color mod? I will give this kernel a shot and report back.
cyberprodigy said:
Do you plan on adding Faux's color mod? I will give this kernel a shot and report back.
Click to expand...
Click to collapse
When there will be some source, yeah why not =)
Tk-Glitch said:
When there will be some source, yeah why not =)
Click to expand...
Click to collapse
I am running the kernel right now. All I can say is "wow".
You did a fantastic job cherry-picking the best features from various kernels. I notice a slight increase in smoothness compared to Faux's kernel plus D2W and all the other great features you added so I think this may be my new main kernel.
I will use it over the next few days and report any issues I find and how the stability is. Thanks a lot for your work.
Edit: Also, I am running CleanROM and everything seems fine.
Thank you, so it may work with any rom then ! Good to know CM didn't break too much stuff leaving AOSP base.
sleep to wake, doubletap to wake disabled by default? don´t need it xD
need a fast stable kernel and especially want to disable fsynch. if u run a stable rom it justs takes useless power xD
i´m pretty new to the nexus7 like the most of us . is that kernel stable?
atm i´m using faux´s, also used franco. i dunno, but on franco´s i couldnt change gpu govenor and the 3dmark benchmark was about 3000points, stock is about 6000-7000. pretty strange.
i am a pretty minimalistic user, want best batterylife/performance ratio. only using psx, best rom for me
i think i´ll try that kernel
edit: what does "Snake Charmer" do?
edit2: read s2w stuff enabled by default, can it be disabled via trickster?
My N7 is running great with your kernel. Let's see what about perfomance and stability in two or three days. After checking and playing with trickster I miss a kind of dynamic fsync and a color calibration interface - compared to N4 m+ (motley) kernel.
Perhaps you can implement some upstream changes / patches directly from CAF or newer kernels.
It would be nice if you post some information about L2 speed hack, etc. So that everyone can see what this hacks do.
Which file are we supposed to use, they are all dated 20130919. I'm guessing the. 904.
airmaxx23 said:
Which file are we supposed to use, they are all dated 20130919. I'm guessing the. 904.
Click to expand...
Click to collapse
CM10.2-flo-Glitch-20130919.0904
2013 /09 /19/09:04
Year/Month/Day/time
dunno if latest point is time in this case when you compare it to upload date. but yes it seems to be latest. upload time and build date can be different, so i think it´s the time.
L-ViZ said:
CM10.2-flo-Glitch-20130919.0904
2013 /09 /19/09:04
Year/Month/Day/time
dunno if latest point is time in this case when you compare it to upload date. but yes it seems to be latest. upload time and build date can be different, so i think it´s the time.
Click to expand...
Click to collapse
Probably when it was compiled.
cyberprodigy said:
Probably when it was compiled.
Click to expand...
Click to collapse
Just a heads up for those who want to disable swipe2wake or doubletap2wake, you can turn them off with the Trickster app but I did not find a setting in the FauxClock app.

[KERNEL] MiRaGe - for Nexus 4 stock ROM 10/25/15

MiRaGe is a lean and efficient kernel for the stock Nexus 4 ROM with the optimizations and updates that are not included in Google's stock kernel. MiRaGe kernel fits squarely in the stock Nexus 4 ROM; all of the modules are integrated in the kernel just like the stock kernel and it should work with all AOSP ROMs that work with the stock kernel and boot image. However, only the current stock ROM is tested. If you decide to use MiRaGe, just flash and forget it since I have avoided adding more sysfs parameters. It is not my goal to enable all possible tweaking options and add every possible feature to the kernel such as multitude of governors, io schedulers, sweep2wake, fastcharge, etc. This kernel is not intended as a tweaker's kernel. You can, of course, tweak it as much as you want since that is your phone and kernel. But please try removing your tweaks before posting any problems. I always test the latest builds with the current stock ROM before posting here.
I am sharing exactly what I have developed for myself and posting here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome when they make sense.
Source Code:
Source code is based on Google's msm kernel source (currently android-msm-mako-3.4-lollipop-mr1.1) and a summary of my changes are below. You can find the full details of my changes and the complete source code in my repo.
Changes:
- synced with mainline Linux 3.4.110
- cleaned up kernel configuration and removed many unnecessary options
- removed kernel debugging options
- built with the Linaro toolchain (gcc 4.9.4 - 15.06) using standard krait and -O2 optimization
- removed AOUT and OABI support
- disabled both user-space msm_mpdecision and kernel-space msm_mpdecision
- removed msm_run_queue_stats, dcvs, and stock msm_mpdecision in the kernel
- added autosmp, a simple and efficient (by me) multi-core cpu hotplug driver
- disabled the user-space thermald and switched to kernel-based msm_thermal
- replaced CFQ with the latest BFQ as the default IO scheduler
- backported random and prandom updates from Linux 3.13 (no entropy depletion anymore)
- backported workqueue from Linux 3.8 to include many important improvements
- backported rwsem from Linux 3.11 to include lock stealing improvements
- backported mutex and rcu locking from Linux 3.10 and 3.8, respectively
- backported slub memory allocator updates from Linux 3.8
- backported cpufreq driver, ondemand, and conservative governors from Linux 3.12
- updated interactive CPU governor from AOSP and CAF
- disabled userspace CPU governor,
- enabled callback-free CPUs (RCU_NOCB_CPU)
- backported TCP Small Queues and CODEL net scheduler from Linux mainline and set as default
- updated kernel scheduler, msm-hotplug, msm-idle, msm-pm code from CAF and Linux mainline
- applied patch [v4] binfmt_elf.c: use get_random_int() to help with entropy depleting
- enabled autogroup scheduler and applied patch per-uid task group for Android
- added optimized ARM RWSEM algorithm
- added optimized ARM SHA1/AES routines
- enabled CPU-supported unaligned accesses
- disabled gentle fair sleepers in scheduler
- updated Qualcomm HW RNG driver from CAF
- enabled BPF JIT compiler for packet filters
- applied glibc patch to improve the performance of memcpy and memmove
- applied word-at-a-time ARM API patches
- enabled CPU overclocking up to 1.728 GHz with user-space vdd control
- optimized vdd curves, L2 and bus speeds for better performance and efficiency
- removed unneeded a2xx and a4xx components from kgsl driver
- modified the prima wifi driver to disable debug code
- removed PMEM completely, MiRaGe is pure ION
- add support for kernel mode NEON and NEON acceleration
- add NEON optimized SHA1, SHA256, and SHA512 crypto code
- add LoUIS API for cache maintenance ops to improve cpu hotplug latency
- added and enabled power_efficient workqueue
- added and enabled msm memutils
- added screen gamma, user space cpu voltage control, and dt2w
- backported devfreq driver from CAF and switched kgsl 3d governor to simple_ondemand
- backported many other fixes/updates/optimizations from CAF and Linux mainline, see the repo for details
- init.d supported if /etc/init.d and busybox are available
- a diff file of changes to ramdisk is here
Downloads:
Boot image for stock ROM:
LMY standard kernel Built: 10/25/15 MD5sum: a315cc446499d60cb4b3a61ea7bfa8f8
LMY overclock kernel Built: 10/25/15 MD5sum: 7c72a66830f511b025968db2bb743429
Anykernel updater for custom ROM:
Revert back to stock kernel to restore the original ramdisk and flash anykernel package of MiRaGe after that. This is not needed in the next anykernel update.
LMY standard kernel Built: 10/25/15 MD5sum: 85b4136ac0ada793da7b80763193095a
LMY overclock kernel Built: 10/25/15 MD5sum: 2924fb6a963b40087c296a7b1abfc1d3
KTU standard kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
KTU overclock kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
The only difference between the standard and overclock builds is the ~100mV undervolt in the overclock build. Both kernels have maximum CPU_freq = 1.728 GHz, default CPU_freq = 1.512 GHz, overclocking, and user space cpu voltage control enabled. Since the CPU gets hot quickly in Nexus 4, I only recommend overclocking with the overclock build that has built-in undervolt. If the phone doesn't boot with overclock kernel, it means that your CPU is not able to handle the undervolt settings. In that case, you can just reboot into recovery and flash the standard kernel. No-frills CPU Control is recommended to set the max overclock frequency. Each CPU has different overclock/undervolt ability. Don't get disappointed if the OC build doesn't work for you.
Installation:
You can do one of the followings
- Flash the zip files in recovery, there is no need to wipe cache or dalvik-cache
- Flash the boot image in the zip file using either Flash Image GUI or fastboot
- Here is the original boot image for LMY48I build, in case needed for going back to stock. Either flash in the recovery or open the zip file to extract the boot image.
Credits:
- Special thanks to Linux, Google, CAF, Linaro developers in general.
- @tvall, @bedalus, @xboxfanj, @ihancioglu, @xenyz for collaboration
- @stratosk for the screen gamma interface and dt2w
- @defconoi for collaboration (see Unleashed Kernel Series)
- @mathkid95 for the any-kernel updater package
- @joeykrim for FlashImageGUI
- @Christopher83 for the optimized Linaro toolchain builds
- Other credits are given in the repo for each commit
Recommendations:
I am frequently receiving requests to add sound patches in the kernel. I agree that the sound is not very good but there are solutions. I am using the Viper4AndroidFX as a replacement sound processor. I recommend giving it a try. You need to go to the sound options and select ViPER4AndroidFX to use this sound processor or freeze MusicFX (I use Link2SD for this). There is plenty of information at the above link. With this available, I am not planning to add any sound patches.
Another frequent question is about choosing CPU governor and IO scheduler. In the earlier builds, interactive governor had the best balance of performance and battery life among other CPU governors and it is still available. In the latest builds, ondemand governor was backported from Linux 3.12 and replaced interactive as the default. The latest patches in the mainline Linux, especially stratosk's patch that optimized the load calculations made the new ondemand governor the better option regarding both power and performance. Regarding IO scheduler, BFQ scheduler has the best overall real-use performance and it is actively maintained/improved. You can use Nofrills CPU Control to change the governor and scheduler. But I would leave the defaults as BFQ scheduler and ondemand governor.
Since all of the cpu power control functions are contained in the kernel with MiRaGe, the userspace PowerHAL library will be giving the following messages in the logcat.
Code:
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
These are harmless but if you want to eliminate them, just make a backup and delete/rename /system/lib/hw/power.msm8960.so and power.mako.so. The single purpose of touch_boost is to enhance the system response to the user interaction. But using a service in the user space to send a touch boost signal to the kernel via slow sysfs file system is the wrong way of trying to achieve lower latency. In addition, every touch input doesn't need a CPU frequency boost which wastes battery power. The best way of achieving the low-latency system response to user interaction is improving the efficiency of existing CPU governor which raises the CPU frequency and hotplug driver which enables off-line cpu cores when needed. In MiRaGe, CPU freq is only controlled by the CPU governor based solely on the CPU load and the latency is low since efficiency is improved by reducing such unnecessary bloat. Additionally, highly-efficient autosmp hotplug driver works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.
With some of the custom ROMs, root is lost after flashing MiRaGe because of using the init scripts in the ramdisk for starting the su daemon. SuperSU is the recommended solution. I might switch to any-kernel-updater to address this problem but as written in the OP, MiRaGe is primarily for the stock ROM. Also, having the full boot image in the zip file is more reliable than expanding/processing/repacking the boot image.
MiRaGe supports init.d if it is setup. To setup init.d do the followings either within ES File Explorer or terminal .
- install busybox (I use busybox on rails)
- create /system/etc/init.d and chmod to 755 (rwxr-xr-x)
- create your init scripts in the /system/etc/init.d directory. Name them 01yourscriptname (e.g. 01mysettings) and chmod 755. Make sure they are UNIX format (not in DOS/Windows).
example:
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/input/lge_touch/dt_wake_enabled
- reboot
Here is how to add multiROM support
How to build:
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized binary for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. Christopher83 has built the latest Linaro-14.08 toolchain based on gcc-4.8.4 which is stable/reliable and I recommend starting the development with this toolchain.
The binary Linaro toolchain for Linux package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_mako.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/mako_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/untarred-toolchain-dir/bin/arm-linux-gnueabihf- zImage -j8
Replace j8 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I always use the latest version of Xubuntu x64 (with custom built kernel) on my Linux workstation that has a AMD FX-8320 (overclocked to 4.2 GHz), 8 GB RAM, 500 GB HD. The compile time is about 2 minutes for me using all 8 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use any-kernel updater package in the OP as a template and replace zImage in /kernel directory with your build. If you want to create a boot image, see this post
Now that you have source and can build the kernel, you can add all the features you want to your own kernel
Woww greatt, thanks mirage
many thanks Mirage!
Does JSS come with caf video driver or it can be flashed on non-cm roms without problems?
Inviato dal mio Nexus 4 con Tapatalk
Good to see new kernel which goal is simplicity, not many of them are here. ill try it when clean instal comes to repertoar. just one question, you didnt mention -O3 and gcc 4.8.2, so i asume you didnt use them? Thanks.
Poslano sa mog Nexus 4 koristeći Tapatalk
I haven't updated the video driver from CAF ... yet. I will do after the 4.4 update if Google hasn't done yet.
Kernel is compiled with gcc 4.7.4 using -O2 optimization. gcc 4.8 was not giving me reliable builds yet. I will switch when 4.8 becomes stable. I have tried O3 optimization in the past and I didn't see any benefit of it. Plus, O3 optimization caused reliability issues especially with the latest gcc compilers.
MiRaGe should be compatible all AOSP-based ROMs, as long as the same user-space libraries are used with the stock 4.3 ROM. I can't claim universal compatibility since even stock JSS and JWR builds need different kernels.
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
C.T.Richter said:
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
Click to expand...
Click to collapse
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
anarkia1976 said:
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
Click to expand...
Click to collapse
Can't agree with you more but the problem with so many people on xda is that they rarely even open up a zip file to see how it operates. Guarantee most of the people will shy away simply because of the lack of a zip. Again I agree its not that hard to do but lets be honest here most have problems searching so taking a boot.img and putting it in a zip probably aint happening
I have just uploaded the alternative flashable zip files. I will remove the image files since they are in the zip files now.
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
anarkia1976 said:
you can download one of 1000 kernels around here
Click to expand...
Click to collapse
LOL that's right!
QUIETLYloud said:
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
That can't happen due to flashing the zip files in the OP since there is nothing in the zip file that touches /system, it is not even mounted.
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it; root is not lost. SuperSU, su keep working. Actually, I am losing my patience with CWMT lately. Maybe it is time to switch to TWRP.
mrg666 said:
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it. Root is not lost. SuperSU, su keeps working. Actually, I am loosing my patience with CWMT lately. Maybe it is time to switch to TWRP.
Click to expand...
Click to collapse
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I just don't like the "overdesigned" interface of TWRP. It is too fancy for my taste. But as long as it works when needed, it would be fine with me. I don't boot into recovery so frequently anyway since I flash the kernel in fastboot or Flash Image GUI.
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
C.T.Richter said:
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
Click to expand...
Click to collapse
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
mrg666 said:
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
Click to expand...
Click to collapse
Using TWRP there is no error message, it just says it was installed successfully.
I just tried it on a clean install, and the same thing happened.

(EOL) [Kernel][04.10.21][Q:1.6.3][R:2.6.0] JimboK - Kernel for SM-8250 (S20 and Note 20 Snapdragon)

Hello!
I want to introduce my first custom kernel for the SM8250 family of Snapdragons. This is based of latest Samsung OneUI 2.5 Sources and I cherry-picked commits to make improvements to the stock base. I'm not a developer, but i really like to port stuff over .
I will try to have this Kernel updated as soon as new source tarballs are drop by Samsung. If you want to request for specific features, let me know and i'll do my best to bring them over.
Special Features:
Changelog is in post #2
How to Install:
First, make sure you are in any OneUI 2.5 (BTH* or BTI*) ROM and have TWRP on the device. Make sure you take a backup of your current boot partition in twrp, now install either the boot.img (extract from the tar file) or use ODIN to flash in Dowload mode. Please make sure to read Post #3 regarding issues with the current OS Patch Level. Images from 1.5.0 onwards are pre-rooted but you will probably need to update magisk either manually or by flashing latest magisk.zip file.
Keep in mind the following table to determine your phone model:
x1q = S20 - G981X
y2q = S20+ - G986X
z3q = S20U - G988X
r8q = S20 FE - G781B
c1q = Note 20 - N981X
c2q = Note 20U - N986X
IMPORTANT NOTE: It seems some users need to flash a vbmeta image file provided by Google in order to boot and user the Custom Kernel. If you find yourself in a situation were you are not able to boot, please flash the attached vbmeta img along with the Kernel and if still bootlooping share the last_kmsg to determine what's driving the issue.
Download:
Disclaimer: I am not responsible if you use this and brick your device or if your device blows up, implodes, flames start shooting from it or it kills your neighbor's dog. Flash at your own risk. I am not responsible.... It was the other guy... I swear....
You can use THIS link to get the latest builds. These and other downloads can also be found in the Telegram Group.
Sources for Q? https://github.com/Jimbo77/JimboK_common_sm8250
Sources for R? https://github.com/Jimbo77/Jimbok_common_sm8250-R
Join the Telegram Group for additional discussions and downloads - HERE
Special thanks to:
Afaneh
Ianmcd
0smosis
flar2
Lord Boeffla
jesec
elliwigy
pappasmurf
For their work and dedication to development!
Changelog or features or whatever
04.10.21 - JimboK-R-2.6.0
Upstreamed to .185
04.05.21 - JimboK-R-2.5.0[/B]
Sync code to add missing changes in upstreamed branch
Reworked the DEVFREQ_BOOST driver
Tweaked SchedHorizon default freqs
Tweaked DEVFREQ_BOOST defaults in defconfig
03.31.21 - JimboK-R-2.4.0[/B]
Upstreamed to Stable Linux 4.19.184
Built with cortex-a55 specific optimizations
removed facebook process from 'kill-in-the-background' mod. This was affecting the user experience (for those that use Facebook a lot, like my wife lol)
02.24.21 - JimboK-R-2.3.0[/B]
Upstreamed to Stable Linux 4.19.176
Switched from G988U source as base to N986N source drop for OneUI 3.1
Removed a lot of unused configs from defconfig. This resulted in a reduction of Kernel size and will have an impact on the overall performance and resource utilization.
Reworked the DEVFREQ and CPU_INPUT_BOOST drivers
Added and Enabled schedhorizon governor
Imported the option to edit the CPU Frequency table
Performance Governor is default for LITTLE Cluster now
02.03.21 - JimboK-R-2.1.0[/B]
Upstreamed to Stable Linux 4.19.172
Moved to KOR dts to improve on stability for custom DTBO's
Added Flicker-Free or DC Dimming. There are two versions of the Kernel and this will be the only version with Flicker Free. After this, there will not be added since i don't like how it messes the Screen Colors/Performance.
Disabled Bootstats
Enabled MPTCP
01.25.21 - JimboK-R-2.0.0[/B]
Upstreamed to Stable Linux 4.19.169
Disabled several not needed debug Samsung Configs
CPU ASSIST Feature
Disabled ZRAM and SWAP
DTS (dtb and dtbo) updates for all variants to their latest source drops
General CLANG and LLVM optimizations
01.01.21 - JimboK-R-1.8.0
Reworked both DEVFREQ and CPU_INPUT Boost functionalities
finetuned for SM8250 (Samsung) specific frequencies/values
added and enabled Simple Low Memory Killer (SLMK)
added: CIFS, NTFS and ISO9660 FS in-kernel Support
added Wireguard Support
Several 'under the hood' improvements to task/memory management.
12.28.20 - JimboK-R-1.7.0
Added BBR2 TCP Config and made Default
Several updates to NET protocols and BBR2
Added PROC_MAGISK_HIDE_MOUNT
Added a script to fix Shealth, Smart View and set ZRAM parameters.
12.25.20 - JimboK-R-1.6.0
Added Dynamic Fsync
Tweaks for Memory Management
Updated LZ4 compressor
Enabled ZSTD Compressor for ZRAM - Default now
12.21.20 - JimboK-R-1.5.1
Fixed Wifi Calling
12.20.20 - JimboK-R-1.5.0
Fsync On/Off Support
Readahead 0
Slimbus OC
Toggle to enable/disable CRC
Turned off several debug options within the tree
added EAS related commits
12.16.20 - JimboK-R-1.4.0
Added Kcal Color Control Driver
Added KLAPSE Driver
Disabled Gentle Fair Sleepers
Added Boeffla Wakelock Blocker
Disabled AVB Flag for better protector in terms of SafetyNet
Misc fixes and addons to dtb
12.15.20 - JimboK-R-1.3.0
Skipped, no public Release xD
12.13.20 - JimboK-R-1.2.0
Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
Added DevFreq Boost Driver and tuned based off OP8
Added Adreno Boost Driver
12.12.20 - JimboK-R-1.0.0
Initial Android R (OneUI 3.0) bring up
Source is based off the G988U source drop. This includes all other variant files, i have added support to all previous phones from day one now
Disabled Samsung Security useless stuff (DM Verity for example)
11.01.20 - JimboK-1.6.3
Added a fix to hide Magisk Mount for Isolated Processes. This is a critical leak in MagiskHide that can be exploited by apps trying to determine if the device is rooted. I had an issue with two payment apps that after applying this fix, they work. Not sure if they were finding magisk with this method lol. Read more here https://darvincitech.wordpress.com/2019/11/04/detecting-magisk-hide/
Finally removed the warning upon boot. EdXposed compatibility was not affected by the removal of it.
10.27.20 - JimboK-1.5.0
Rebased to S20 FE source as baseline for all models. This is to ensure support for the S20 FE is added and to keep the most up date source from Samsung
Streamlined even further the 'common' defconfig and updated all other variant defconfigs to make it easier to build individual Kernels.
Removed GPU OC - This is to test drive if performance takes a small hit but battery is gained. I have this as *temp change* consider it a 'test' phase so i will need your feedback on it to see whether if we keep it or not. Also, the OC was causing issues to boot in N20 units and some weird hiccups in the System-UI for my S20U.
Added BBR2 TCP CONG protocol. By far, the best TCP CONG to speed up the network connections overall. Read out more here: http://dl.ifip.org/db/conf/networking/networking2018/2B1-1570416152.pdf
BBR2 is now default TCP CONG for the Kernel. I recommend ya'll to make the switch
Several Upstreams to NET/TCP in order to improve Network Connectivity and Speed.
Kernel comes pre-rooted now (via ramdisk). In the event of a magisk update you will only need to update through Magisk Manager. This is for the sake of simplicity
10.16.20 - JimboK-1.4.0
Removed several DEBUG options from defconfig that should not be present in a Production Kernel
Disabled ZSWAP and VBSWAP (this will create conflict with ZRAM) and ZRAM has proven to be more effective and create less wear than ZSWAP
Disabled LZO, updated LZ4 compression algorithms
Enabled ZSTD Compression, it is recommended to enable this for ZRAM moving forward
Disabled KPERFORM in defconfig
Enabled .gz compression for Kernel. Kernel is now almost 1/3 in size of what it used to be
Added and Enabled HID: NINTENDO SWITCH controllers support
10.13.20 - JimboK-1.3.0
Unified Sources a bit more. Removed the individual defconfigs to have one single plus each variant
for X1Q and Y2Q moved dts sources from CHN OPEN to KOR to keep it in line with main (Z3Q) sources and also for CXQ sources. BTI3 (latest software release) is now used for those models.
Enabled a few drivers inside of Kernel: CDC, NTFS, CIFS and some native gaming devices as well
Disabled DM_VERITY checks. This will help with the booting times
JimboK-1.2.0 and before:
Build with latest LLVM Clang 11
Disabled Samsung Security useless stuff (DM Verity for example)
GPU OC up to 895mhz
Adreno Boost
Boeffla Wakelock Blocker Driver
Disabled ZRAM and moved to ZSWAP and VBSWAP
KCAL Color Control Driver (Up to date)
KLAPSE Driver (check out https://forum.xda-developers.com/an...apse-kernel-level-livedisplay-module-t3907025)
Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
Latest Wireguard Driver
BBR TCP Congestion algorithm by Default
built-in Kernel Westwood and other modules
SLIMBUS OC to improve the Audio Mods
Several Debug Options removed from driver and all over the Kernel itself
QCACLD-3.0 Support
Dynamic Sync Control
Fsync On/Off Toggle
Several EAS commits for balancing power+efficiency
OS PATCH LEVEL set as 2099-12 (Read post #3 - Mandatory)
OS PATCH LEVEL PROBLEM
This is a modified version of @evdenis post HERE
My Kernel uses an OS Patch Level of 2099-12 to maximize its compatibility among all releases by Samsung across all the supported phones. That's it. No other reason as to why choose that date, now, when you continue using my Kernel update after update there will be no issue, but if you change the kernel to any other (specially stock) chances are that Kernel is using the current month OS PATCH LEVEL which will cause two things:
You will not be able to pass beyond your lockscreen. No matter what you try, it won't let you unlock upon reboot
Your Samsung Account will warn you to log off and log back in but you will not be able to do so
The problem is not in sources. It's due to os_patch_level mismatch with you current kernel. As mentioned JimboK Kernel does not uses common security patch date to be in sync with the official samsung firmwares. You can check the default os_patch_level in build.mkbootimg.* files. However, this date can be higher than other kernels use. When you flash a kernel with an earlier patch date on top of the previous one with a higher date, android activates rollback protection mechanism and you face the problems stated earlier. It's impossible to use a "universal" os_patch_level because different users use different custom kernels and different firmwares. JimboK Kernel uses a highest date by default in order to suite most of users.
How can you solve the problem? 6 ways:
You can restore my kernel and the problems will be gone
You can flash the attached zip file. backtothefuture-2099-12.zip, it will make your new Kernel Patch OS Level 2099-12 thus avoiding the issues above. - read more about the zip HERE. You will have to flash this with any new kernel if you ever use mine (unless you do a full wipe as mentioned at the end of this list).
You can check the os_patch_level date of your new kernel here https://cruelkernel.org/tools/bootimg/ and patch the kernel image image to the same date. If your previous kernel is mine (JIMBOK), patch your new Kernel to 2099-12 date.
You can reboot to TWRP, navigate to data/system and delete 3 files those names starts with 'lock'. Reboot. Login, set a new pin. To fix samsung account login, reinstall the app
You can rebuild JimboK Kernel with os_patch_level that suites you. To do it, you need to change the OS PATCH LEVEL to the desire date when using mkbootimg.
You can do the full wipe during the new Kernel flashing
Update 10.20.20
Updated the zip file to add support for W models.
Update 10.19.20
Updated the zip file to remove Exy devices and focus solely in N20 and S20 Snap line.
Finally kernel for s20 thanks a lot.
Works great!
I've got bootloop with my S20U G9880 after flashing this kernel even with a full wipe
Working
It works on my G9810 Thanks!!!
stszf9124 said:
I've got bootloop with my S20U G9880 after flashing this kernel even with a full wipe
Click to expand...
Click to collapse
Strange I have G988N which is just about the same and I don't have that issue. Did you come from a rooted device? Were you in a custom ROM before?
Can you tell me a bit more of your setup?
Are there any other G9880 users with the same issue?
I have s20+ 5g g986u
Unlocked bl
Flashing twrp
Flashed the kernel
Flashed vmbeta disabler
Flashed magisk
Boot
All ok
Thank you
thank you
my device is running custom Rom and stock kernel, the firmware is BTH6 , last night I installed the latest version of TWRP and format data and flashed the multiple disabler, the device booted , but it got this issue after the kernel was installed even with a full wipe again
has battery life been improved?
can i flash this and then magisk to get root?
Smartphones13 said:
can i flash this and then magisk to get root?
Click to expand...
Click to collapse
Yes, you can do that.
Viet.molet said:
has battery life been improved?
Click to expand...
Click to collapse
I flashed this and did a minor debloat and gained roughly 30 minutes of screen on time.
I also noticed the animation from recents to home screen is slightly snappier.
Could be placebo but I like it.
@jimbo77 what kind of benefits do I get by flashing your Kernel?
chieco said:
@jimbo77 what kind of benefits do I get by flashing your Kernel?
Click to expand...
Click to collapse
Disabled some Samsung Security, you will be able to run edxposed if you are into that. Also a few changes and add-ons, read the op for some of the features added to the Kernel
Works on sm-g9810?
jucin said:
Works on sm-g9810?
Click to expand...
Click to collapse
It should. Although I haven't personally tried since I own a G988N
jimbo77 said:
Yes, you can do that.
Click to expand...
Click to collapse
Hey man, how's it going? Did you do anything special to get kcal working on the kernel? Mental made a kernel for the Note 20 Ultra but said he could not get Kcal working.
Also, even better, would you consider making a common kernel for the Note 20 Ultra Snapdragon? I'd definitely send a donation your way.

Categories

Resources