This kernel only supports roms of android version 4.3 (sammy and aosp) and above!
if you were using this kernel on aosp based roms, and want to use another kernel, you need to reflash the rom, of course without any wipe, it's just to restore modified files
Features (changes compared to Perseus):
- merges samsung open source update12
- dual sound engine
- compiled with linaro gcc 4.8.3
- updated Linux Kernel base to 3.0.101
-zram, zsmalloc and lowmemorykiller updated from 3.9
- DevilQ cpu governor (default)
- block updated from Linux 3.3 (better i/o performance)
- row i/o scheduler updated from Linux 3.4
- fiops v2 i/o scheduler
- working for Aosp and Sammy at once (Big thx to Gokhanmoral for making this possible)
- Portet Ezekeel's Touchwake Feature (from nexus s)
- Oc up to 1.8 Ghz
- Backport from Linux 3.5 smp driver parts
- Wifi driver updated from note3
- backported zswap from linux 3.13 (this replaces zram now)
- backported cpu-boost driver
- possibility to set high/low power mode for wifi when screen is off
- LulzactiveQ cpu governor (from siyahkernel, thx again to Gokhanmoral)
- Hotplug Cpu Governor
- Proportional Rate Reduction for TCP http://kernelnewbies.org/Linux_3.2#h...7963f165302b6e
- improve memcopy/memmove
- Using Voodoo Sound and Boeffla Sound
- LED Control by yank555-lu
- ExFat support (thx to samsung for opensourcing the driver)
if your rom is based off PAC, Bam, Fusion, ... :
IMPORTANT: As per notice of 01.11.2013, my CM10.2 kernels do NOT support proprietary Custom Rom frameworks anymore. So if your Custom Rom did not implement the generic framework class framework-2.jar but his own naming convention, you will receive a boot loop. Do not cry about this here but advise your Custom rom cooker to fix this. I will not change this ever again.
The most prominent custom kernels for CM will follow the same approach (aligned between Yank555, Googy, LordBoeffla, Psndna, Temasek and me).
So please do pass this message along to your favorite ROM devs.
If they don't fix their rom, it won't be compatible with custom kernels any more!
For more detailed instructions, please take a look at this thread from RichMd (thank you for it): Dualboot Faq thread
Important: if you want to use this kernel for dualboot, i highly recommend flashing my recovery as well.
General information about the recovery: dualboot menu.
in this menu you can:
* create the secondary system partition (needed to be run once, if you want to install a second rom)
you'll notice there is a new menu, where to select what you want to flash.
if you select kernel, rom or recovery, the zip gets installed as it is.
if you select zipt to pri./sec. filesystem, it is selfexplanary
if you select rom to secondary fs, the zip gets modified to install to the sec. fs. IF YOU WANT TO INSTALL IT TO PRIMARY FS LATER SOME TIME, YOU NEED TO REDOWNLOAD THE FILE!
if you select rom to primary filesystem, it gets installed there, and you can use the same zip later again.
How to install a second rom:
make sure you have already created ssecondary system partition! if not, go to dualboot menu and create it now (this may take some minutes)
The savest way is the way by using nandroids: if you don't have a nandroid already, create one now. Then just select your backup, and restore it to secondary filesystem.
you now should already be able to boot into primary or secondary rom (which are both the same now).
now you can install any other rom as primary.
if you want to install a new rom directly as secondary, make sure there are no spaces in the filename!,
then just go to install zip. you'll notice there's a new menu at some point.
in this menu you can select where you want to install, and what type of file it is.
if you choose rom to sec. fs, your zip files itself gets modified to be installed to secondary fs. this may take a minute, because the files needs to get zipped again. Imporant: this file is permanently modified. if you think you need it later again, you should redownload it, because the modified one would always install as secondary.
installing a rom as primary, a zip to primary or zip to secondary fs, does not modify the zip.
roms coming with an aroma installer are hard to handle, as every dev can place own commands into it. It's impossible for me, to take care of every possibility. Because of this, it should be the best method, to flash a rom with aroma installer as primary one (and then move it to secondary, by using the nandroid method, if you want it to be secondary).
Many Thanks to:
- RichMD (I wouldn't have this device without him)
- all the others mentioned in the changelogs
N7100 users please use the N7100 kernel
N7105, At&T + Tmo users please use the t0lte Kernel
+ merged mk9 source drop
+ fixed usb connection
+ fixed execution of some init.d scripts
+ changed calculation of next freq in pegasusq (based off a commit by stratosk to ondemand governor, which giot merged into linux 3.11)
+ fixed gyroscope sensor again
+ reverted Sec Oom Killer (maybe causeing some random reboots)
+ switched to latest linaro toolchain (4.8.3 of 12/2013)
+ fixed video recording on aosp roms
+ cleanly merged update13 (thx to yank555-lu), my previous merge was messed up
+ addded async fsync by htc (ported by faux123)
+ fixed sensors again
+ merged samsung update13
+ switched back to O2 compiling mode (smaller kernel image, maybe better stability)
+ hardware keys backlight options working for samsung roms as well now
+ re-added oc up to 2 ghz (for those whos device can handle this, mostly added for note2)
+ re-added devil kernel boot logo
+ updated adbd binary to get rid of countless errors in logcat
+ reverted some config changes which may have introduced gpu crashes
+ samsung 4.3 roms: added new additional mountpoint for external sdcard ( /extSdCard)
+ aosp 4.4.x roms: export path of external storage, needed by some apis
+ merged samsung update for note2 (contains fixes for memory management, mali driver, lowmem killer option SEC_OOM_KILLER, new modem driver, ...)
+ backported cpu boost driver
When certain bursty and important events take place, it might take a while
for the current cpufreq governor to notice the new load and react to it.
That would result in poor user experience. To alleviate this, the cpu-boost
driver boosts the frequency of a CPU for a short duration to maintain good
user experience while the governor catches up.
Specifically, this commit deals with ensuring that when "important" tasks
migrate from a fast CPU to a slow CPU, the frequency of the slow CPU is
boosted to be at least as high as the fast CPU for a short duration.
Since this driver enforces the boost by hooking into standard cpufreq
ADJUST notifiers, it has several advantages:
- More portable across kernel versions where the cpufreq internals might
have been rewritten.
- Governor agnostic and hence works with multiple governors like
conservative, ondemand, interactive, etc.
- Does not affect the sampling period/logic of existing governors.
- Can have the boost period adjusted independent of governor sampling
+ improve swap per google's suggestion
+ enabled SEC_OOM_KILLER:
This enables 'Android-Style oom-killer'
The way to select victim by oom-killer provided by
linux kernel is totally different from android policy.
Hence, it makes more sense that we select the oom victim
as android does when LMK is invoked.
+ switched to zswap (backported from linux 3.13) + vnswap instead of zram
+ gpu control: voltages are applied as deltas internally (no noticable change for users, this just was needed for the second change below)
+ gpu control: if gpu freq. gets changed by user, only reset its matching voltage, all other voltages stay untouched.
+ reverted adb binary to the one from samsung's 4.3 release (seems to be the most compatible and should fix some mtp issues)
+ disabled: swap, zram, zcache, cleancache and frontswap to see if this fixes lags for some users
+ fixed boot for omni rom again
+ fixed apllying of custom gpu voltage
+ removed intellyplug driver (wasn't working properly, consumed much battery, made boot up take longer and it was unstable)
+ added support for omni rom (primary or secondary)
+ fixed: secondary rom no longer stuck at max freq.
+ n7100: fixed gps
+ gpu control: automatically set voltages according to changend freq (ported from yank555-lu), you can apply your own voltages after you have changed all freq (changing a freq, causes the voltages to be reset again)
recovery: bug fixes, to be sure never to wipe/backup/restore the wrong filesystem
+ partial updated mali driver from SEA update 1 (this also fixes a typo in original implementation)
+ properly applied dualsound engine support, boeffla and scoobidoo (unlike other devs, this implementation only allows one sound mod to be active at a time. if you switch on boeffla (in boeffla app for example), scoobidoo gets disabled automatically. if you turn on scoobydoo in deviltools (new option), boeffla gets disabled automatically)
+ fixed hardware keys backlight settings and added more options to Deviltools
+ small mdnie related corrections
+ added gpu control, needs to be set manually for now.
+ ARM: SMP: use a timing out completion for cpu hotplug
+ init.d support for sammy 4.3
+ dualboot support for all supported roms (i couldnt try this. be careful!)
+ fixed installing zips
+ added support for android 4.4
+ backport interacctive governor from googles linux 3.4 kernel source + enabled it
+ updated zzmove cpu governor
+ cpufreq: Save and restore min and max frequencies.
+ cpufreq: Save user policy min/max instead of policy min/max during hotplug
+ cpufreq: Only apply driver limits for scaling_min/max_freq writes
+ linux 3.0.101 (last update)
+ revert: zram: use zram->lock to protect zram_free_page() in swap free notify path
+ added support for latest cm nightlies
+ some cleanup by removing non used code
+ linux 3.0.100
+ added support for pac rom
+ reverted some autohotplug related commits which aren't useful if there are only governors with own hotplug logic
+ reverted cpu oc from 2000 to 1800 (stability testing in connection to undervolting)
+ zram: use zram->lock to protect zram_free_page() in swap free notify path (thx to stsdema28 for suggeting this patch)
+ some patches to improve general swap performance (especially zram)
+ minor update to block kernel subsystem (io schedulers)
+ linux 3.0.97
+ added additional sysfs for controling vibration on 4.2.2 roms by using device settings or devil tools
+ zram: re-added code for using multiple cores for (de)compression, which should be significantly faster now
+ zram: upstreamed to linux 3.12
+ zcache: fix booting by syncing code with faux123
+ re-enabled cleancache
+ block/io-schedulers: big update to row and cfq scheduler from linux 3.4 (thx to andreilux for squashing the commits)
+ fixed adb root options after data wipe
+ added options to turn of hardwarekeys backlight on screen touch, thx to yank555-lu (for now, this isn't added to deviltools, please see below for the sysfs path/command)
this doesn't affect samsung roms!
* /sys/class/sec/sec_touchkey/touch_led_handling (rw)
* 0 - handled by ROM (newer CM10.2, default)
* 1 - handled by kernel (older CM10.2)
* /sys/class/sec/sec_touchkey/touch_led_on_screen_touch (rw)
* 0 - hardware keys backlight only lights up if h/w keys are used
* 1 - hardware keys backlight lights up if h/w keys are used or screen is touched (default)
- added exfat support
- support for android 3.4 (only primary rom or single boot)
- linux 3.0.91
- fixed sysfs of led control to be readable/writable by deviltools
- re fixed mtp/ums and adb root
- backported zram_for_android from linux 3.4 (i9500) and enabled it again
- updated zram to latest official version (linux 3.11
- updated android binder driver
- added led control by yank555-lu
- linux 3.0.89
- disabled uksm (cam failure on i9300)
- updated/backported zsmalloc, zram and lowmemorykiller from 3.9 (disabled zcache and zram_for_android because of this)
- fixed a bug in ashem driver, caused by samsung, which could lead to deadlocks
- mmc: fix the workqueue overload battery waste (thx to aagit)
- fixed adb root
- fixed mtp/ums issues after wipe
- updated to linux 3.0.88
- added andreilux's abb control
- updated and activated zram (thx to yank555), zcache, cleancache and frontswap (most probably not very important on note2)
- enabled uksm by default (http://www.phoronix.com/scan.php?pag...tem&px=MTEzMTI)
- added experimental support for android 4.3 (only i9300 for now)
- reduced wifi wakelocks a little bit more
- cpufreq: zzmoove governor 0.6 (thx to zanezam)
- include most of touchwake 1.1 changes. thanks to yank555-lu
- bcmdhd: update back to version used by andreilux. …
big thx to xda forum member gondsman: http://forum.xda-developers.com/member.php?u=3740419 (this should drastically reduce wifi wakelocks)
- reverted compiler option "optimze_for_size" to fix cam on aosp roms
reverted wifi driver to cm version, to fix wifi tethering, additional disabled multicast in suspend for power savings
- linux 3.0.86
- disable touchwake during call
- se linux support
- wifi driver from andreilux sammy kernel (should reduce wakelocks)
- linux 3.0.83
- fixed mounting of internal sdcard on secondary 4.2.2 aosp roms
- reverted JRcu
- dyn fsync updates from faux123
- two upstream fixes to row i/o scheduler
- added latest cm changes (UMS: f_mass_storage: Added cdrom option to UMS-lun-devices, Samsung i9300 Update 10)
- linux 3.0.81
- fixed internal storage on 4.2.2 secondary roms
- reverted cpufreq driver back to "default", to try fixing being stuck at max. freq for some users
- merged update9 changes from cm team
- wifi changes which hopefully reduce wakeup time
- built nfs as module (was built-in before)
- update to linux 3.0.80
- reverted a commit from 3.0.79 which caused the cpu to be stuck at max. freq
- fix touchwake/proximity sensor for i9300
- cpufreq: fix handling of offline cpus
- dynamic fsync: fixes from faux123, to prevent data loss, in case of kernel panic/unexpected shutdown
- CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug (from francisco franco)
- freezer: allow tasks to be frozen faster (1ms if possible, instead of 10 ms)
- freezer: skip waking up tasks with PF_FREEZER_SKIP set, to make suspend/resume more efficient
- t0ltecdma: fixed sprint compatibility
important: please uncheck in deviltools to apply settings on boot! gpu voltage changes would cause the device to freeze on startup!
- reverted gpu voltage to be displayed as before (this fixes incompatibility with trickstermod or other apps)
- DevilQ: turn/keep second core online on screen touch
- add PM_SUSPEND_FREEZE powerr state (if used, it does save little less power, but PM_SUSPEND_FREEZE has less resume latency
•Erik Gilling - sync: don't log wait timeouts when timeout = 0
•Ørjan Eide - sync: Fix race condition between merge and signal
•Erik Gilling - sync: add Documentation/sync.txt
•Erik Gilling - sync: add tracepoint support
•Erik Gilling - sync: refactor sync debug printing
•Erik Gilling - sync: use proper barriers when waiting indefinitely
•Erik Gilling - sync: update new fence status with sync_fence_signal_pt
•Erik Gilling - sync: protect unlocked access to fence status
•Erik Gilling - sync: dump sync state of fence errors
•Erik Gilling - sync: improve timeout dumps
•Erik Gilling - sync: use correct signed type when handling SYNC_IOC_WAIT
•Erik Gilling - sync: dump sync state to console on timeout
•Erik Gilling - sync: clean up compiler warnings
•Erik Gilling - sync: fix erase-o in sync_fence_wait
•Erik Gilling - sync: change wait timeout to mirror poll semantics
•Rebecca Schultz Zavin - sync: Fix error paths
•Erik Gilling - sync: add reference counting to timelines
•Erik Gilling - sync: add internal refcounting to fences
•Erik Gilling - sync: optimize fence merges
•Erik Gilling - sync: reorder sync_fence_release
•Erik Gilling - sync: export sync API symbols
•Erik Gilling - sync: allow async waits to be canceled
- ext4: prevent kernel panic in case of uninitialized jinode
- mutex: dynamically disable mutex spinning at high load Date Thu, 4 Ap… … (faux123)
- mutex: restrict mutex spinning to only one task per mutex … (Waiman Long)
- mutex: Make more scalable by doing less atomic operations … (Waiman Long)
- hrtimer: Prevent enqueue of hrtimer on dead CPU When switching the hr… … (franciscofranco)
- hrtimer: Consider preemption when migrating hrtimer cpu_bases When sw… … (franciscofranco)
- fs/buffer.c: remove redundant initialization in alloc_page_buffers() … … (clouds-yan)
- time: cast ->raw_interval to u64 to avoid shift overflow We fixed a b… … (faux123)
- vmscan: comment too_many_isolated() Comment "Why it's doing so" rathe… … (Wu Fengguang)
- mm/vmscan.c: avoid possible deadlock caused by too_many_isolated() Ne… … (Wu Fengguang)
- input: evdev: Move wake_lock_destroy call … (halaszk)
- wakelock: use single threaded workqueueus … (halaszk)
- linux 3.0.78
- added own cpu governor, DevilQ (based off lulzactiveq by gokhanmoral)
- improved touchwake (acting like swipe2wake now, if delay is set to 0, to prevent false wake ups)
- pegasusq: readd some of andreilux's changes
- gpu: allow oc up to 800 mhz
- added option to disable touch boost
- updated wifi driver from s4 (commit by cm team)
- disabled swap, zram and cleancache
- linux 3.0.75
- fixed cam preview on note2 lte
- new tunables for pegasusq:
* early_demand: to enable this functionality (disabled by default). ( echo 1 > sys/devices/system/cpu/cpufreq/pegasusq/early_demand, to enable it. 0 disables it)
* grad_up_threshold: over this gradient of load we will increase
frequency immediately. ( echo xx > sys/devices/system/cpu/cpufreq/pegasusq/grad_up_threshold, to set value. xx has to be betwenn 11 and 100, default 50)
- updated block to linux 3.3
- updated row i/o scheduler to linux 3.4
- added fiops v2 i/o schedler
- readded gokhanmorals sammy/aosp mod more cleanly
- lulzactiveq: small fixes
- cpufreq_pegasusq.c: revert to stock
- Enabled AIO support
- improved aio: Asynchronous I/O latency to a solid-state disk greatly increased between the 2.6.32 and 3.0 kernels. By removing the plug from do_io_submit(), we observed a 34% improvement in the I/O latency.
- added zzmoove governor
* mdnie-control: Digital brightness control
* s6e8aa0: Allow manual brightness to 300 candela
* ARM: decompressor: Enable unaligned memory access for v6 and above
- Fixed patch: "LOAD_FREQ (4.61 s) avoids loadavg Moire (thx to Klaus Ripke)", many thx to AndreiLux for pointing and fixing this
- Added Franciscofranco's Touch Boost Control (input boost frq., when screen touched can be set with trickster mod app), including the additions from simone201, but fixed to not beeing stuck at high freq.
- removed LCDFreq scaling mechanism (using touch boost instead)
- fixed charging while device off
- applied a bluetooth patch from cm (might help with bt issues some users were reporting)
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?