[LG Optimus G (International)] ruddnr951:
*
* Your warranty is now void.
*
* This kernel is build my ruddnr951 (Kim Kyeongwook) at Korea android Forum.
* If you wanna contact with me, e-mail to admin@jollaman999.com
--------------------------------------------------------------------------------------------------
* Me and Jollaman999 are not responsible for bricked devices.
*

Kernel Info

Builder : jollaman999

Intro : Added some features from other kernel sources based on CM kernel. And added some I/O schedulers, Governers, Overclock and Battery optimization.

====Features====

- Dynamic Thermal Control: This function automatically adjust throttling settings when CPU clock changed.

- Stock: Optimus G TDMB support for Korea

- Use Android device as USB keyboard/mouse support (Required app included) (Please refer to the youtube links at the bottom.)

- Buzzing sound FIX!!

- Lollipop multirom support!!

- Power fixed based on Gproj!! (Battery standby time greatly improved!!)

- GHOST TOUCH FIXED!!

- Configurable DoubleTap2Wake's touch counts!!

- Random hot reboot fixed.

- f2fs: Latest Linux patches applied.

- random: Latest Linux patches applied.

- Stock's LED driver ported.

- Used a kernel value which is optimized to battery life and performance balance. So you can use without specific settings.

- Built with latest Linaro 4.9.3-2015.02

- Used a Linux 3.4.106 kernel

- Used a XZ kernel extraction to decrease kernel loading time.

- F2FS file system support.

- Kexec Hardboot multi-boot support.

- Knock On available

- Gamma control feature

- Fast Charge available

- Intelli-Plug hotplug applied for battery life

- Dynamic FSYNC used.

- Advance sound control available.

- Voltage Controls

- CPU Downclock & Overclock (Supported clock : 270~1728MHz)

- GPU Overclock (Supported clock : 533/450/400/320/200/128MHz)

- Default Minimum/Maximum CPU clock : 270MHz / 1134MHz for battery life

- 'Smartmax' CPU Governer used as default for battery life

- 'Simple' GPU governer used as a default

- Westwood TCP Congestion used as a default

- Available TCP Congestion : westwood, reno, bic, cubic, highspeed, hybla, htcp, vegas, veno, scalable, lp. yeah, illinois

- Available CPU Governer : dancedance, lazy, wheatly, asswax, intellidemand, interactive, conservative, ondemand, smartmax, smartassV2, abyssplugv2, lionheart, lulzactive, uberdemand, slim, pegasusq, performance

- Available I/O Scheduler : row, cfq, fiops, sio, fifo, vr, zen

====Changelog (Gen2-v2.5_Update8)====

[Gen2-v2.5_Update8]

- Stock: sound: msm: Stock KK ported (Also fixed voice recording issue (Q Voice, Video recording, Headset mic etc...))

[Gen2-v2.5_Update7]

- Stock: Optimus G TDMB support for Korea

- Stock: gee_defconfig: Enable MOBICORE driver (Related with DRM)

- Stock: tdmb: fc8050: Disable mess debug messages

- Stock: tdmb: fc8050: Fix Korean typo in sources

[Gen2-v2.5_Update6]

- All: f2fs updated

- jolla-twrp: Update kernel

[Gen2-v2.5_Update5]

==AIO Updates==

- f2fs: Update vold binary (Fix can't boot when f2fs partion exist.)

[Gen2-v2.5_Update4]

-All: Revert LGE headphone detect issue with noise fix, Fix min/max cpu voltage range

- Stock_KK: Fix compatibility issue for Kitkat

- jolla-twrp Update kernel

[Gen2-v2.5_Update3]

- Stock_KK: Gen2-v2.5 ported succesfully to Stock_KK kernel!!

- gpu: Stock KK porting

- mdp/fb: Stock KK porting

- led: Stock KK porting

- sound: Stock KK porting

- vibrator: Stock KK porting

- backlight: Adjust for Stock KK

- Complied with latest Linaro toolchain (2015.02)

- Lollipop: Re-complied with latest Linaro toolchain (2015.02)

- jolla-twrp: kernel: Re-complied with latest Linaro toolchain (2015.02)

[Gen2-v2.5_Update2]

==AIO Updates==

- ota: Fix FC issue when data is wiped

- unpack-ramdisk.sh: Fix init.d not working issue in some of roms

[Gen2-v2.5_Update1]

==AIO Updates==

- Lollipop - f2fs: Allow use of either f2fs or ext4 for system, data and cache

- Lollipop - rc-L: Remove useless cpu online lines

- ota: Restore sysinit SELinux permission by ota service script

[Gen2-v2.5]

- f2fs: Update to latest f2fs linux-3.4 branch's sources

- random: Update to latest Linux 4.0-rc1 sources

- hw_random: Update to latest Linux 4.0-rc1 sources

- jolla-twrp: jolla-kernel_Gen2-v2.5 applied

- Updates applied to Stock_KK kernels

====Dynamic Thermal Control====

- This function automatically adjust throttling settings when CPU clock changed.

So when you want to change thermal settings directly, you should turn off this function.

You can turn off this function by patching 'Dynamic_thermal_Off' in my server folder. (Not recommended.)

====USB Keyboard/Mouse Working Video====

http://youtu.be/_PZmWDqw6bA

====Configurable Knock On Touch Counts====

0 : Off

1~9 : Wake by n+1 taps. (n = Your setting)

Example)

0 : Doubletap2wake will not working.

1 : Wake by double taps.

2 : Wake by triple taps.

9 : Wake by 10 taps.

Recognizing Time : 100ms * 'touch counts'

(So when you set to 9, you can wake your device by 10 taps in 1 second. :p)

Known Issues

- When 'Nightmare' governer is selected, cpu cloks are not showing properly.

- USB Keyboard/Mouse driver is not loaded with Stock Kernel

Changelogs

[Gen2-v2.4]

- sched: Various optimizations and updates applied from faux123's mako kk_mr2

- lowmemorykiller: Some of optimizations applied from faux123's mako kk_mr2

- zram: Some of optimizations applied for Android from faux123's mako kk_mr2

- gee_defconfig: Disable unneeded mpdecision

- jolla-twrp: jolla-kernel_Gen2-v2.4 applied

- Updates applied to Stock_KK kernels

- OTA Updater included

[Gen2-v2.3]

- 2015/18/Feb Added - lge_touch_core: Fix bug of hardware keys not working when dt2w is disabled

- intelli_plug: Turn off wcd9310 debug messages

- msm_thermal: Do not working when screen turned off

- msm_thermal: Make temperature check logic simpler (Improve battery life)

- ipv4: try to cache dst_entries which would cause a redirect (CM update)

- intelli_plug/wcd9310: Force intelli_plug working when playing music while screen off

- dt2w: Fix doubletap2wake not working sometimes

- smartmax: Handle sampling_rate_screen_off by early suspend

- dynamic_thermal_control: Remove hardcoded cpufreq table and get it from current table

- jolla-twrp: jolla-kernel_Gen2-v2.3 applied

- Stock_KK kernels updated

[Gen2-v2.2]

- f2fs: Re-work with f2fs sources for Linux 3.4.x (Now working perfectly with no errors!!)

(/data, /cache re-format recommended if you using f2fs already.)

- jolla-twrp: TWRP v2.8.4 version up, jolla-kernel_Gen2-v2.2 applied, Lollipop multirom support

- multirom: v30 version up, Lollipop compatible

[Gen2-v2.0]

- Change logs only applied for CM/AOSP kernels

- Removed CM/AOSP KK kernels.

- Linux 3.4.106

- Compiled with latest Linaro_4.9.3-2015.01-build

- smartmax: sampling_rate_screen_off: Do not call usecs_to_jiffies function twice.

- wlan: prima updated to v3.2.3.197

- zram Support

- arm-crypto: sha-1, aes, sha256, sha512, arc4 optimization for ARM neon

- KEYS: close race between key lookup and freeing

- Low-memory-killer: Logic optimization from Motorola

- int_sqrt: Improve 3x faster integer sqrt

- readahead: make context readahead more conservative

- sound: Enable 320kbps audio recording

- arm: Perf update from Cyanogen Mod kernel_msm

- acpuclock-8064: Remove not working high level clocks (1782~1890MHz)

- gpu: Remove not working 607.5MHz and re-added 450MHz

- clocks: Remove unsafe lower cpu freqs (81~162MHz)

- smartmax: Fix default values

- fs: Always set noatime no diratime on all partitions! I/O Boost!

- board-mako: add missing updates from CAF

- board-mako: Enable Krait Retention

- msm: mdm2: Decrease leakage before QSC power-up

- smartassV2: Fix default values

- gee_defconfig: Compile smartassV2 cpu governor

- mako-sound: Noise fix ported from Stock KK

- mako-regulator: Add missed pm8xxx-adc regulator while ported Gproj power

- sound: Revert Nuplayer fix

- sound: wcd9310: Increase default gain (Increase volume for call speaker/mic and headphone/speaker)

- board-mako: Increase DC voltage level for G (Stock KK)

- mako: Add missed some of related with tabla for G

- cpufreq: Remove uncomfortable governors (nightmare, interactiveX)

- wcd9xxx: Fix headphone detect issue in 3.3V low batt (Stock KK)

- intelli_plug: Set screen off max to 702MHz

- sound: Buzzing sound FIX!! (intelli_plug,wcd9310: Force set 2cpus working when playing music while screen off)

[Gen2-v1.2]

- LP/KK: smartmax: Added sampling_rate_screen_off parameter - Thanks to gu5t3r

(When screen on, smartmax will increase clock based on sampling_rate.

And when screen off, smartmax will increase clock slowly based on sampling_rate_screen_off.)

- LP: mm: Set VM_MAX_READAHEAD to 512

- LP: msm: vidc: Get the current performance level

- LP: Fix some of sources for compatibility with cm12 build. (Kernels's functions are not changed.)

- aroma-installer: Fix logic of LP kernel and KK kernel installation.

- aroma-installer: Fix logic of LP kernel modules installation.

- aroma-installer: Fix logic of finding init.d support - Thanks to gu5t3r.

This patch only applied for AOSP based Kikat & Lollipop kernel.

====Changelog (Gen2-v1.1)====

- dynamic_thermal_control: Prevent dynamic_thermal call when device is hot and go to ideal state

(When device is hot and go to ideal state 'dynamic_thermal' called and change the msm_thermal settings.

So the original max frequency get lower clock step by step when device is hot.

This patch fix this bug.)

This patch only applied for AOSP based Kikat & Lollipop kernel.

====Changelog (Gen2-v1.0)====

- No more update for Kitkat and Stock.

- Restart with Clean Code!!

(Rebuild with Google mako source. Applied latest Linux patches with some of fixes for joll-kernel directly. So all of sources and kernel performance are stable.)

- Applied patches from Linux 3.4.1 to 3.4.105 one by one. (So sources and performance are stable.)

- Dynamic Thermal Control: Automatically adjust throttling settings when CPU clock changed. (Own making!!)

(Solve the existing problem coming back to 1134Mhz despite you change the CPU clock!!)

- Greatly improved battery life due to the source stabilization. (Light user can be used up to a day or more to use.)

- gpu: Fixed to use minimum gpu frequency when sleep. (Improved battery life) (Own making!!)

- Added jolla-kernel logo

- random: Applied all of latest Linux patches

- f2fs: Applied all of latest Linux patches

- Faux Sound: Applied faux123's latest sources

- Faux Gamma Control: Applied faux123's latest sources

- Intelli-plug: Applied faux123's latest sources

- GPU simple governor: Applied faux123's latest sources

- MTP: Applied Google latest sources

- TCP Congestion: Added cubic, highspeed, hybla, htcp, vegas, veno, scalable, lp. yeah, illinois.

- io-scheduler: Added fifo, vr, zen.

- cpufreq: smartmax: Fix some of default values of smartmax governor. (Improved battery life)

- LZ4 compression format support.

- And applied more patches.

[v17_Final - Only for AOSP based Kitkat kernel]

- Dynamic Thermal Control: Automatically adjust throttling settings when CPU clock changed. (Own making!!)

(Solve the existing problem coming back to 1134Mhz despite you change the CPU clock!!)

- gpu: Fixed to use minimum gpu frequency when sleep. (Improved battery life) (Own making!!)

- Added jolla-kernel logo

- io-scheduler: Added fifo, vr, zen.

- cpufreq: smartmax: Fix some of default values of smartmax governor. (Improved battery life)

- MTP: Applied Google latest sources

- futex optimization

- Applied some of cpufreq patches

[v16]

- Use Android device as USB keyboard/mouse support (Required app included)

- L-kernel: Applied latest Cyanogenmod patches with 'seccomp'

- f2fs: Latest linux kernel tree patches applied

(Until Dec 9, 2014 f2fs: avoid to ra unneeded blocks in recover flow)

- f2fs: New 'inline_dentry' mount option applied

- L-kernel: makocam kernel added

- Support Stock camera diriver selection mode for L-kernel

- Support mod/nonmod kernel selection for L-kernel

- Recovery-twrp: Update kernel to jolla-kernel_v16

- Recovery-philz: Update kernel to jolla-kernel_v16

[v15]

- Only provided with my cm-12.0 UNOFFICIAL roms.

- Linux 3.4.105 applied.

- Latest mako's lollipop kernel patches applied.

- Makefile Optimization

v0xE

- L-kernel related fixes.

- Power: Applied gproj based power sources. (Battery standby time greatly improved!!)

- doubletap2wake: Fixed 3 taps issue when phone is suspended!!

- doubletap2wake: You can wake your device by 10 taps in a second!!: eek: (Configurable tap counts!!)

0 : Off

1~9 : Wake by n+1 taps. (n = Your setting)

Example)

0 : Doubletap2wake will not working.

1 : Wake by double taps.

2 : Wake by triple taps.

9 : Wake by 10 taps.

Recognizing Time : 100ms * 'touch counts'

(So when you set to 9, you can wake your device by 10 taps in 1 second. :p)

- doubletap2wake: Adjusted recognizing time.

- io-sched: Remove bfq io-scheduler that eat more batery. Back to fiops as default io-scheduler.

- Remove TDMB driver that not compatible with jolla-kernel.

v0xD

- f2fs: Applied latest updates until Linux 3.17.4

- random: Applied latest updates until Linux 3.17.4

- CM, L : Latest kgsl driver updated based on Lollipop kernel

- CM, L : Wifi updated based on Lollipop kernel

- L : cm-12.0 Ready (Know issue: Random screen flicking)

- GEEB camera fixed

- Stock: GEEB sdcard ramdisk lines added

- block: bfq io-scheduler added and set to default

- cpufreq: dancedance, smartassV2 new governors added

- leds: re-ported based on Stock KK only for duty cycles

- codel net-scheduler applied

- tcp: Some of optimized and TCP Small Queues applied

- ext4 optimized based on new random driver and FIDTRIM support

- zlib: clean up some dead code

- sound: Some of fixed with pop noise fix

- TDMB driver added (only for GEE and not tested)

- Some of mako to GEE related fixes based on Stock KK

- And more..

v12

- GHOST TOUCH FIXED!!

- Stock Wifi driver ported (Version 3.2.3.13 -> 3.2.7.27) (Speed up)

- Stock LED driver ported (LED duration fixed)

- Android L Kernel support

v11.1

- GUI AROMA INSTALLER Applied and multirom supported. (AIO)

- Built with Linaro 2014.09 gcc 4.9.2 latest toolchain.

- CM : Installation method changed to zlmage installation from boot.img installation. (increase compatibility.)

- CM : Built with latest CM source.

- CM : OTG function added. (experimental, now for test.)

- SPARSEMEM kernel option modified.

- Coretex-A15 memcopy optimization.

- memutils: memcpy, memmove, copy_page optimization.

- lge_touch_core: i2c error fixed when you upgrade your firmware.

- ext4: WB_SYNC_ALL pass called from sync(2) Speed up.

- Latest CM kernel patch applied.

v11

- Stock : Kerenel logo driver modified and jolla-kernel logo added.

- Linux 3.4.104 kernel applied.

- Modified to show jolla-kernel version. (On settings - About phone)

- Faux Sound updated to v3.6

- Stock : OTG Function added (USB can be recognized but not works.)

- GEEB : SDCard supported.

- WQ_POWER_EFFICIENT_DEFAULT power save patch applied.

- Kernel MOD NEON supported.

- msdos, ntfs filesystem is compatible.

- Stock : Backlight level kernel log deactivated.

v10_Stock

- Ported Stock Features : GPU, Video, Wifi, LED, Vibrator, IOMMU, Stock Camera

- Random hotreboot optimized.

- Only ext4 filesystem supported currently.

- Another Changelogs are same with CM/AOSP based jolla-kernel.

v10

- Stock Camera ported.

- Random Hotreboot optimization (When we reboot phone first when flash the rom and kernel or when using, there was random hot reboot. So we found the error at the binder which is the linking system between Android and Kernel. So we compare with Gproj kernel source and fixed it. Now you can use ART runtime as well.)

- Minimum clock increased. (81MHz -> 270MHz

- Throttling temperature limit decreased and fixed bug you can't set again to 1134MHz. (We think the last version's temperature limit is to high, so decreased and When you process Throttling, it has locked into 1134MHz. So we fixed.)

- 384MHZ L2 Cache voltage optimized.

- Android Logging (logcat) optimization and deactivated. (Don't use it commonly.)

- F2FS : Linux 3.16.2 version update proceeded.

- Few kernel settings have errors. Fixed.

- Extra minor patch proceeded.

- OMNI Kernel supported. (OMNI ROM)

v9_Refresh

- Kernel stablize : Applied Linux 3.4.103 patch and fix the bugs and errors on the source.

- mod/normal kernel both supported.

- User can personalize throttling option (You can personalize temperature and clock per level at the TricksterMod application.)

(※ You can use temperature limit option at the TricksterMod application, 'Temperature control'.)

Checked Compatible ROMs

Mod : CM12 (GEEHRC Unofficial), CM11 (GEE Unofficial), AxxionKat, Carbon

Normal (non-mod) : Dirty Unicorns, DayDream (This is Korean ROM :)), Liquidsmooth

Stock : ARTMOD, Sling, Miui (you have to flash stock_miui)

G3 : GEE3

We always hearing your feedbacks. If there is a problem with specific ROMs, Error report into this thread. :D

---About Multi ROM---

jolla-TWRP is GEEHRC based recovery.
So when you going to flash Gproj based ROM or Stock based ROM, it can occur status 7 error.
In this case, extract the ROM file, and delete 'assert' sentence structure at
'META-INF/com/google/android/updater-script' and re-extract the ROM file. Then flash!

After you flash MultiROM zip, you can see 'MultiROM Fail' error message.
In this case, Go to 'Advanced - Multirom - ListROM - Your second rom - Flash zip'
and flash compatible kernel for your secondary ROM.

Download Link

http://buf.jollaman999.com/jolla-kernel_AIO-gee/

Mirror: https://www.mediafire.com/folder/9eemnevifta2z/jolla-kernel_AIO-gee - Thank you for gu5t3r -

If you wanna use F2FS partition, wipe /data, /cache as f2fs file system with TWRP recovery.

Flashing guide

- Follow the instructions of aroma-installer!

Don't be afraid when you flash F2FS kernel! F2FS has more longer first boot time than EXT4 Filesystem!!!

Battery Life : 10~12 hours in my phone :)

Jolla-kernel's all features only fully-working at TricksterMod application. There could be some features which are not working at other kernel controll apps.

We are trying to make better kernel everytime. Please understand us effort. :laugh:

jolla-kernel is released with a lots of test in other testphones.

But if you have a bug, Report plz.:cowboy:

[COLOR="DarkOrange"][B][I][U]CREDIT![/U][/I][/B][/COLOR]

[jolla-kernel source]
[url]https://github.com/jollaman999[/url]

[Referenced sources]
The Linux Kernel Archives : [url]https://www.kernel.org/[/url]
cm-11.0 : [url]https://github.com/CyanogenMod[/url]
Loller79 Solid_Kernel-Cyano : [url]https://github.com/Loller79/Solid_Kernel-Cyano[/url]
faust93 f93_kernel : [url]https://github.com/faust93/f93_kernel[/url]
Docker-J Sail_GPROJ : [url]https://github.com/Docker-J/Sail_GPROJ[/url]
faux123 mako : [url]https://github.com/faux123/mako[/url]
MikeEx kernel_msm : [url]https://github.com/MikeEx/kernel_msm[/url]
flar2 ElementalX-m7-4.0 : [url]https://github.com/flar2/ElementalX-m7-4.0[/url]
justin0406 AK-xGenesis : [url]https://github.com/justin0406/AK-xGenesis[/url]
Porting kexec hardboot : [url]https://github.com/Tasssadar/multirom/wiki/Porting-kexec-hardboot[/url]
544MHz GPU Overclock : [url]http://xdaforums.com/showthread.php?t=2307086[/url]
jaeguek's F2FS filesystem : [url]https://kernel.googlesource.com/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools/[/url]

Donation link has been closed​