arter97 kernel for Galaxy S3

Search This thread

kazuya_kun

Senior Member
Jul 14, 2014
184
64
Düsseldorf
Hey guys.
Can anyone tell me which is the latest kernel version for 4.4.4. Based rom?

Just download the latest kernel version, which should be v4.1 :)

Greetings kaz

---------- Post added at 18:54 ---------- Previous post was at 18:50 ----------

hi @arter97 : thanks for supporting kerne :good: l. after flash Kernel v4.1 for SHV e210s .
error : after shutting down the phone : not charged. you can fix this error, thanks

Do you mean, that charging when the phone is off does not work? I have the same problem but with boeffla kernel (could be xposed or other modding stuff). The problem could be a kernel bug or something related to your phone (apps, settings etc.)

Greetings kaz
 

mikeyinid

Senior Member
Sep 4, 2010
8,875
4,000
Boise
Since nobody answered my question on how vnswap worked I went on to find out. And I concluded it's not using the MMC at all, at least in CM12.

This is how it works:
I started with the vnswap source code
This is probably the worst piece of kernel code I've ever seen. I'd love to see Linus Torvalds' reaction if Samsung ever tries to submit this to the mainline kernel :p

As far as I can tell vnswap it's a block device that pretends to be a bigger block device. When there's a write request to it, it builds up a map where each section of the vnswap0 file points to another file you can set in /sys/block/vnswap0/swap_filename. For this to make sense file is should be smaller than or equal to /sys/block/vnswap0/disksize, but it can be anything. It does make sure it's smaller than 1GB, but I don't see why.

This alone can't swap anything, so what's going on? I turns out the kernel has zswap enabled by default. Which according to the official zswap documentation it's an in-memory pool of compressed memory pages, exactly like zram, but dynamic. What I mean with 'dynamic' is that It will use up to /sys/module/zswap/parameters/max_pool_percent of memory, instead of having a fixed uncompressed size like zram. So for examplewhile with zram if there is 500MB of data that compresses to 250MB and you have set a 400MB zram disk, only 400MB of he original 500MB will be compressed, zswap on the other hand will compress everything until the compressed size of the data reaches by default 20% of physical memory. Pages that don't compress well are written to the swap device. However, with zswap the swap device will never be used completely, so it makes sense to use vnswap to 'lie' to the kernel and make it think it has a bigger swap space than what it actually has.

This is how it is implemented:
The vnswap switch in aTweaks ultimately (in source code, this goes to this goes to this goes to this) ends up running /sbin/sswap -s on every boot. I couldn't find a source for this binary, so I ran strace on it. This is what it does:
  • Reads /sys/block/mmcblk0/device/name, but I can't tell what for without a code decompiler.
  • Opens /sys/block/mmcblk0/device/smart, but this file doesn't exist!
  • Sets /sys/block/vnswap0/disksize to 512MiB
  • Performs a mkswap /dev/block/vnswap0 manually
  • The equivalent of swapon /dev/block/vnswap0 --discard
What it does not do is set /sys/block/vnswap0/swap_filename to anything! There is code to do this in the binary, as that path and /sys/block/vnswap0/init_backing_storage can be found by running the strings command through it.

Running sswap -h reveals a 'Nandless mode'. But sswap -s and sswap -s -r do exactly the same things according to strace.

And this is why I think this isn't working correctly.
Both sswap -s and sswap -s -r (-r for Nandless) act the same and neither set a backing storage file for vnswap0.
Writes to vnswap0 (with dd if=/dev/zero of=/dev/block/vnswap0 bs=4096) are extremely fast (~200MB/s) and throw lots of 'lost page write due to I/O error on vnswap0' errors to dmesg.
After setting up vnswap manually with:
Code:
dd if=/dev/zero of=/cache/swap bs=4096 count=131072 #512 MiB
echo -n '/cache/swap' > /sys/block/vnswap0/swap_filename
echo > /sys/block/vnswap0/init_backing_storage
(I figured out the steps from the vnswap source code) I get no I/O errors and writes to vnswap are ~20MB/s as expected from NAND.

So right now vnswap acts exactly like zram, which for me is great, but may be not what @arter97 wanted. I think this happens because the sswap binary is not compatible with CM12, the i9300, or maybe my particular NAND chip. To know if yours is working 'properly' run cat /sys/block/vnswap0/init_backing_storage in adb shell or the Terminal Emulator app. If the second number is 0 then vnswap is not backed by anything.

Sorry to bring up old stuff, but I've been researching zswap and Samsungs DHA for memory management and this post comes up in Google searches. You have some very valid points you bring up in this thread, but, I think where you may be wrong is vnswap IS what backs up zswap. If you look through dmsg you can clearly see where it's being set, and that vnswap0 is the swap area set to back zswap. The real secret to utilizing zswap, which is where Samsung dropped the ball, is lowering swappiness and forcing zswap to do what it does, keep compressed pages in RAM.
 
  • Like
Reactions: Mostafa Wael

Mostafa Wael

Recognized Contributor
Jan 11, 2013
6,106
5,564
23
Gotham
Sorry to bring up old stuff, but I've been researching zswap and Samsungs DHA for memory management and this post comes up in Google searches. You have some very valid points you bring up in this thread, but, I think where you may be wrong is vnswap IS what backs up zswap. If you look through dmsg you can clearly see where it's being set, and that vnswap0 is the swap area set to back zswap. The real secret to utilizing zswap, which is where Samsung dropped the ball, is lowering swappiness and forcing zswap to do what it does, keep compressed pages in RAM.
Yeah, for some reason vnswap0 did not work almost at all if swappiness was set to any value below the abnormal 130%
I remember that quite well when i had this kernel installed on my S3
 

Rocco61

Senior Member
Feb 19, 2012
74
5
With this kernel on gt-9300 and timasek ROM cm 12.1 (latest version from clean install) someone got no working of WiFi?

Inviato dal mio GT-I9300 utilizzando Tapatalk
 

Sn33z3x

Senior Member
Sep 13, 2014
320
28
25
Philadelphia
when i flash 4.1 version on touchwiz 4.4.4, i lose imei and baseband and they can not be restored by any ways @@ i'm using ver 3.0.31 (4.4.4 rom) but i want to go to 5.1 rom. What should i do now?
 

franzschenk

Member
Oct 4, 2010
46
4
[/COLOR]Have installed the latest 4.1 Arter Kernel on my i9300 Galaxy s3 with Cyanogen Mod 11 (latest nightlies, there is nothing stable anymore from Cyxanogen Mod). Since the installation of this kernel I have sometimes extreme lags after the phone wakes up (20 sec. waiting when pressing anything). Reboot solves the problem. I hadn't this problem before installing the arter97 kernel.

- Has anyone advice
- Is any documentation available how to revert to the previous kernel?

Thank you all in advance for any help.
Franz
 

agusdallalba

Senior Member
Sep 20, 2012
133
91
Sorry to bring up old stuff, but I've been researching zswap and Samsungs DHA for memory management and this post comes up in Google searches. You have some very valid points you bring up in this thread, but, I think where you may be wrong is vnswap IS what backs up zswap. If you look through dmsg you can clearly see where it's being set, and that vnswap0 is the swap area set to back zswap. The real secret to utilizing zswap, which is where Samsung dropped the ball, is lowering swappiness and forcing zswap to do what it does, keep compressed pages in RAM.

Hi! Sorry for the delay.

IIRC, zswap doesn't work unless there's a swap area defined, so Samsung created this vnswap driver that pretends to be a block device but actually rejects all reads and writes. The vnswap driver can also be configured to redirect to a real block device, but this is not necessary for the scheme to work and not done in my S III. Not to mention that vnswap configured to do this would wear down the eMMC. So yeah, vnswap is a way to 'back' zswap by lying to it: It tells it that there's a real swap device somewhere when actually there's not..
 

JustArchi

Inactive Recognized Developer
Mar 7, 2013
8,740
38,809
Warsaw
Just download the latest kernel version, which should be v4.1 :)

Greetings kaz

---------- Post added at 18:54 ---------- Previous post was at 18:50 ----------



Do you mean, that charging when the phone is off does not work? I have the same problem but with boeffla kernel (could be xposed or other modding stuff). The problem could be a kernel bug or something related to your phone (apps, settings etc.)

Greetings kaz

Not kernel bug, but kernel base.

Offline charging changed between 4.3 and 4.4. Using (unpatched) kernel based on 4.4 sources with 4.3 bootloader will result in broken offline charging.

Solution is actually very easy and with some little modifications we can easily make kernel accept both values given by both bootloaders and make it work in both cases.

In i9300, it's safe to assume that only 4.3 bootloader (or older) is available due to obvious reasons.
 

arter97

Recognized Developer
Oct 14, 2012
3,765
33,763
23
Seoul
After fixing minor issues(Wi-Fi on CM ROMs), this project will be abandoned.

This kernel is my very first custom kernel project.
After some general experiences with Android/Linux kernels, I went on making custom kernels for Galaxy S4 LTE-A, Note 3, S5, Nexus 5, Nexus 7, LG G Watch and now Galaxy S6.
During this 1~2 years of period, I learnt what I was doing wrong and what can be better.

A totally new, re-based, reworked kernel with a different name will be under development with ultimate goal "stability".
A lots of features considered unnecessary and dirty will be gone.
Undervolt, Multi-boot, aTweaks(yes, the kernel configurator app), unnecessary CPU governors, intelli-plug, Knock-On(Touchwake), Android logger control, Boost-boot, mDNIe control will be one of them.
It's my own judgement call for reaching out more general users with no weird and funky issues.

Every commits will be reviewed.
Commits which I don't understand that just has a fancy name will also be not applied.
 
Last edited:

gsms

Senior Member
Sep 6, 2014
96
7
One of the main traits of this kernel was its multi-boot option.
Very useful for me, probably for other users too :(

Any chance to create one last version of this kernel, supporting Android v4.3 based ROMS + 5.1.1 for multi-boot...?
 
  • Like
Reactions: dkonect

quaker1985

Senior Member
May 9, 2013
199
47
mumbai
After fixing minor issues(Wi-Fi on CM ROMs), this project will be abandoned.

This kernel is my very first custom kernel project.
After some general experiences with Android/Linux kernels, I went on making custom kernels for Galaxy S4 LTE-A, Note 3, S5, Nexus 5, Nexus 7, LG G Watch and now Galaxy S6.
During this 1~2 years of period, I learnt what I was doing wrong and what can be better.

A totally new, re-based, reworked kernel with a different name will be under development with ultimate goal "stability".
A lots of features considered unnecessary and dirty will be gone.
Undervolt, Multi-boot, aTweaks(yes, the kernel configurator app), unnecessary CPU governors, intelli-plug, Knock-On(Touchwake), Android logger control, Boost-boot, mDNIe control will be one of them.
It's my own judgement call for reaching out more general users with no weird and funky issues.

Every commits will be reviewed.
Commits which I don't understand that just has a fancy name will also be not applied.

multi-boot and knock-on were best features of this rom
can you please make one last version with wifi issue fixed
it will be great.:):):):):)
i am using 4.0.3 because of wifi issue on 4.1
 

Sn33z3x

Senior Member
Sep 13, 2014
320
28
25
Philadelphia
excuse me. i have a cm12 based rom, can i use its kernel for other cm12 roms? This is the only 5.1 rom that supports my m440s. i tried to install arter 4.1 but this kernel made me lose my imei and baseband(can not be restored by any ways, i dont know why @@ )
 

arter97

Recognized Developer
Oct 14, 2012
3,765
33,763
23
Seoul
If you see someone using my kernel and redistributing/sharing it, don't even bother asking me if that's fine.
Go straight to the XDA moderator and report as there are no exceptions other than my very own projects and Galaxy S3 back-to-n00t's fork that can include my kernel - regardless which device it is.

/* Warning */

Redistribution, modifying files used within this project's file or integrating with other projects are prohibited with no exceptions other than my projects.
Making mirrors, re-uploading to another servers are also prohibited with no exceptions.
 

lucascm08

Senior Member
Jun 29, 2011
218
45
After fixing minor issues(Wi-Fi on CM ROMs), this project will be abandoned.

This kernel is my very first custom kernel project.
After some general experiences with Android/Linux kernels, I went on making custom kernels for Galaxy S4 LTE-A, Note 3, S5, Nexus 5, Nexus 7, LG G Watch and now Galaxy S6.
During this 1~2 years of period, I learnt what I was doing wrong and what can be better.

A totally new, re-based, reworked kernel with a different name will be under development with ultimate goal "stability".
A lots of features considered unnecessary and dirty will be gone.
Undervolt, Multi-boot, aTweaks(yes, the kernel configurator app), unnecessary CPU governors, intelli-plug, Knock-On(Touchwake), Android logger control, Boost-boot, mDNIe control will be one of them.
It's my own judgement call for reaching out more general users with no weird and funky issues.

Every commits will be reviewed.
Commits which I don't understand that just has a fancy name will also be not applied.

arter, please, don't remove mDNIe control from the kernel, its my favorite feature. :crying: and please make it to work with android kitkat too, not for android lollipop only. thanks for all your hard work, i use your kernel for more than a year, its my favorite one.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 240
    s3_arter97.png


    arter97 kernel for Galaxy S3
    This kernel is no longer supported actively!​


    /* Overview */


    Based on stock SHV-E210S kernel source
    Supports Android 5.1 Lollipop, CyanogenMod 11.0, Samsung Touchwiz based Android 4.4.4 ROM
    Upgraded to the latest Linux
    Compiled using latest ARM Linaro-toolchain
    Speed improvements
    Battery improvements
    New CPU Governors
    New I/O Schedulers
    CPU overclock capability
    Color inverting by quadriple tapping on home button
    Proper dual-boot functionality
    Many more ...

    /* Details */

    Built using Linaro-toolchain 5.1
    Properly upgraded to the latest Linux 3.0.101
    Dual-boot functionallity for all supported ROMs
    SELinux disabled(permissive)
    Kernel compression in newly-improved LZO format
    Kernel scheduler improvements
    Full unaligned access enabled
    Improved memcpy, hrtimer, mutex, cpufreq, memory-management, writeback
    Optimized RWSEM, crypto, math drivers
    Wi-Fi wakelock reduced
    BFQ v7r8, SIO, FIFO, VR, ZEN I/O schedulers added
    ZZmoove, Intelliactive CPU governors added
    Overclock available to 1600MHz
    Controlable, kernel-side implementation of slient camera shutter sound
    Touch Wake with Knock-On feature
    Deadline I/O Scheduler speed improved
    Asynchronous I/O backported from Linux 3.6 with speed improvements
    Asynchronous Fsync from hTC ported by faux123
    Dynamic Fsync from faux123
    Networking performance improved
    Disabled MMC-CRC for better NAND performance
    ARCH_POWER enabled for better power savings
    Fading LED control by AndreiLux
    Random driver backported from Linux 4.0+
    SCHED_AUTOGROUP enabled for superior multitasking experience
    Westwood as default TCP congestion control for best networking performance
    Optimized CRC32 & SHA-1 algorithm
    Proportional Rate Reduction for TCP
    Boeffla Sound Engine 1.6.7
    Charger control by AndreiLux
    FAT32 latency improved
    Android logger control
    Memory throttling removed
    Default file-system mount option with noatime & nodiratime
    Proper, full support for f2fs & backported from Linux 4.2+
    Switchable sharpness control by AndreiLux, AndiP71
    Latest mali graphics libraries
    Automatic kernel panic log dumper
    Powerboost, Boost-boot for better performance
    Sdcardfs extended to all supported ROMs
    Android 4.4 KitKat's extra free kbytes tunables added for better memory managements
    ARM_UNWIND enabled for better performance
    File-system writeback function backported from Linux 3.4 with latency improvements
    Compiler profiles backported from Linux 3.16
    Kernel module integrated into the ramdisk for better loading speed
    Insecure ADB control
    TCP's Initial Congestion Window tunables from Android 4.4.3
    Power-efficient workqueues backported from linaro-lsk
    Deep-discard-trim; FIDTRIM support for ext4 backported from google-3.4
    Entropy hook on storage removed for performance

    /* More informations */

    Based on stock SHV-E210S kernel source
    Samsung has put massive updates in their Android 4.4 kernel compared with Android 4.1 kernel. By being based on stock SHV-E210S kernel source, arter97 kernel is miles ahead of where other CyanogenMod-based kernels are slowly catching up behind.
    Dual-booting
    arter97 kernel implements simple yet seamless multi-boot solution that does not need a dedicated recovery. It's also faster, thanks to raw extracted method instead of slow loop mounted images.
    To start, enter recovery(CWM, PhilZ) and flash arter97-multi-boot.zip. The ZIP files you flash afterwards will be stored in the 2nd-ROM slot(/data/arter97_secondrom) until you exit or restart recovery.
    Reboot back to 1st-ROM, and use newly installed 'aSwitch' to control 2nd-ROM. You cannot select between two ROMs on the initial start-up time.
    * 2nd-ROM's /system partition will be always mounted R/W due to its limitations.
    * Backup & restore will not work for 2nd-ROM. Don't try it unless you want your entire device screwed all over.
    * Do not select data wipe on 2nd-ROM installation! 1st-ROM data might be lost instead.

    Advanced mDNIe control
    arter97 kernel offers advanced mDNIe control by AndreiLux, leaving every single controls available for the screen in the palm of your hands.
    Knock-On
    arter97 kernel offers full Touch Wake functionality(by Ezekeel & Yank555.lu) with additional 'Knock-On' feature. Within the desired timer you set, Touch Wake will only work by double-tapping.
    Touch Wake
    Touch Wake has been improved in arter97 kernel. Not only the implementation of 'Knock-On' feature, you can now set a seperate timer on charge, force to also work on physical button pressed.
    Compiler
    arter97 kernel uses the latest Linaro-toolchain. Linux kernel's compiler profiles has also been backported from Linux 3.16 for more compiler bug-fixes, performance improvements.
    Memory managements
    arter97 kernel is fully upstreamed to the latest Linux 3.0.101. This provides improved stability, performance and memory management. But many developers forget to properly match Samsung's CMA memory management to Linux 3.0.101. arter97 kernel is the only kernel properly upstreamed to Linux 3.0.101 with CMA, meaning better memory management than other kernels.
    If you're using Android 4.4 KitKat, ROM can work together with arter97 kernel which improves memory managements even further.
    File-system
    Battery and access speed to /sdcard is also improved by utilizing Samsung's sdcardfs and ditching Google's fuse implementation. Users can disable sdcardfs allowing FolderMount to work properly.
    FAT32 latency is improved, and AIO(Asynchronous I/O) is backported from Linux 3.6 with latency improvements.
    f2fs
    arter97 kernel is the first Android kernel(since 2013/08) to feature full f2fs support with selective partitions preferences. If you manage to make a switch from ext4 to f2fs, theoratically, your device's flash storage can perform up-to 2x faster. arter97 kernel also continously backport the latest f2fs from Linux 3.19+. This f2fs will be even more faster, reliable than other Android kernels.
    PhilZ recovery dedicated for f2fs makes users easy to switch. Install kernel and recovery, wipe /data and /cache, that's it.
    Boeffla Sound Engine
    Boeffla Sound Engine is the only custom audio engine available in arter97 kernel. Go and download 'Boeffla Sound Control' from Google Play store.
    Android logger control
    Android logger, aka logcat can produce a lot of garbage datas even when you don't need them. You can explicitly disable Android logger completely, or make it clear itself when the screen goes off(which is the default).
    Mali graphics
    arter97 kernel uses the latest Mali driver available for Samsung's Exynos 4412 phones, r3p2. It also uses the latest Mali blobs from N7100 ROM, which is built more recently than GT-I9300 ROMs.
    Automatic kernel panic log dumper
    When you use a custom kernel, you may experience unexpected malfunctions like sudden reboots. You should dump the kernel log and report it to the developer to help, but it may be very tiring to manually dumping and sending it. To make your life easier, arter97 kernel automatically dumps kernel log when kernel panic happens, and stores it on /sdcard/arter97.
    Kernel-side Camera shutter sound control
    arter97 kernel can force and turn off the speaker while the rear camera is operating. Since this is a kernel-side implementation, it doesn't need any ROM side support. Control available from aTweaks.
    Powerboost
    Powerboost is a function that dynamically boosts your device's performance when an external charger is connected. Since none of the power savings are needed while the device is charging, you can experience much more faster speed during that period.
    Boost-boot
    Boost-boot is a function that can reduce boot-up time up-to 20 seconds. It uses 'performance' CPU governor, 'no-op' I/O scheduler and 1024kB readahead when the device is booting.
    aTweaks
    aTweaks is a live-kernel-controller dedicated for arter97 kernel based on STweaks. You can control almost every aspects that arter97 kernel offers. Installing BusyBox before using is recommended.
    aSwitch
    aSwitch is a dual-boot settings for arter97 kernel. It can wipe 2nd-ROM's /system, /data and /cache. You can also set /sdcard sharing option within aSwitch.

    /* Disclaimer */

    Your warranty is now void.
    I am not responsible for bricked devices, dead SD cards,
    thermonuclear war, or you getting fired because the alarm app failed. Please
    do some research if you have any concerns about features included in this kernel
    before flashing it! YOU are choosing to make these modifications, and if
    you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

    /* Warning */

    Do not redistribute, modify, fetch, extract files used within this project or integrate with other files without my permissions.
    Making mirrors, re-uploading to another servers are strictly prohibited with no exceptions.

    /* Supported device */

    Galaxy S3 3G International (GT-I9300)
    Galaxy S3 SK-3G (SHW-M440S)
    Galaxy S3 SK-LTE (SHV-E210S)
    Galaxy S3 KT-LTE (SHV-E210K)
    Galaxy S3 LG-LTE (SHV-E210L)

    /* Unsupported device */

    Galaxy S3 LTE International (GT-I9305)

    /* What you need to know */

    'Opensource' does not mean 'no-respect'
    Leave credits to original developers

    All files for supported devices are integrated into one file

    /* FAQ */

    I get 'status7' error while installing!
    Your recovery is out-dated. Go and install a newer one.
    Any recommended kernel settings?
    The defaults are the most recommended settings. Try and use the default settings for several days before tweaking it yourself.
    No GPU clock controls?
    No. I personally don't like exposing GPU clock controls to users. I have no plans of adding these controls to my kernels.
    I'm experiencing data-losses, device shutdown while downloading torrents!
    Please turn off 'Dynamic Fsync' from aTweaks. Note that this may make your device slower.
    Screen mode settings are not working!
    mDNIe settings is moved to aTweaks. Please use the settings from there.
    My screen color is inverted!
    Tap the home-button 4 times. It's a kernel feature, please read the entire post.
    The boot animation is laggy after installing this kernel!
    The root cause is unknown for now, but it is normal and doesn't affects anything else.
    Personal Hotspot is not working after switching to another kernel!
    It's due to hostapd binary change. Go and re-flash your ROM.

    /* Thanks to */

    Samsung
    faux123
    Yank555.lu
    Temasek
    AndreiLux
    AndiP71
    DerTeufel
    ZaneZam
    JustArchi
    Moster2
    NamelessROM developers
    ckh469
    edoko
    gokhanmoral
    codeworkx
    xens0117
    And all the developers, maintainers of CyanogenMod's smdk4x12 kernel!

    irendah07

    /* Contact */

    Email : [email protected]
    Twitter : @arter97_dev

    /* Downloads */

    Please disable AdBlocker if you appreciate my work :)
    http://www.arter97.com/s3_kernel.htm

    Source code : https://bitbucket.org/arter97/arter97-i9300-release

    /* Installation */

    1. Put kernel on you SD card
    2. Enter ClockworkMod(or PhilZ) recovery
    3. Flash kernel

    XDA:DevDB Information
    arter97 kernel for Galaxy S3, Kernel for the Samsung Galaxy S III I9300

    Contributors
    arter97
    Source Code: https://bitbucket.org/arter97/arter97-i9300-release

    Kernel Special Features:

    Version Information
    Status: Stable
    Stable Release Date: 2015-02-22
    Beta Release Date: 2015-02-22

    Created 2014-05-13
    Last Updated 2015-10-09
    58
    Okay.

    After a second thought, yes, I'm releasing my Git repository open for everyone.

    You guys are right. It's about the entire community, not me.

    It's the entire community we want to improve, not a specific one or a group.

    I'd like to contribute to the community.
    I'd like to see other developers take commits from this repository and make things better.

    The Git is at https://bitbucket.org/arter97/arter97-i9300-release

    So,
    @JustArchi , go fix your kernel's camera issue and delight the users.
    @Lord Boeffla , let's both work on improving Knock-On(or dt2w).
    @beeeto , thanks for persuading me.

    We love XDA.
    We love to share things and make things better.

    Me too. I love to apply things from other developers.
    But with proper credits.

    I'd like to see other developers take commits from this repository and make things better.
    Contribute to the entire community.

    But with proper credits.

    'Opensource' does not mean 'no-respect'.
    Leave credits to original author.

    That's all I want.

    Thanks for your support.
    52
    Changelog

    /* Changelog */

    5.0
    pegasusqplus, yankasusq and lulzactiveq CPU governors removed
    pegasusq reworked for better stability
    f2fs updated to Linux 4.2 sources for better stability and performance
    RTL8187 support dropped for better stability
    Network file-systems support dropped for better stability
    Adaptive Body Bias control removed for better stability
    Undervolt control removed for better stability
    Intelli_plug removed for better stability
    Misc commits reverted for better stability
    FPU corruption fixed
    1.7, 1.8 GHz overclock frequency removed
    CFQ I/O Scheduler set as the default for better responsiveness
    Intelliactive set as the default CPU governor
    Partial code of Lazyplug added to intelliactive for better responsiveness
    Zen-tune from Liquorix kernel removed
    Random drivers updated to the latest mainline Linux
    zswap(vnswap) pool percent increased
    AIO regression reverted
    BFQ I/O scheduler updated to v7r8
    LZ4 re-added and updated to be used with vnswap
    Ramdisk updated
    ZZmoove CPU governor updated to v1.0-beta8

    4.1
    Now being built with Linaro 5.1 toolchain
    Intelli-plug updated to 4.0
    Various memory improvements (fs/seq_file.c)
    Trim speed on ext4 improved
    Discard option re-enabled for f2fs
    (Jaegeuk Kim says inline kernel handlings for discard is more efficient)
    Userspace trim disabled for f2fs
    (Reduces vold overhead on FITRIM requests)
    Trim fixed for some NAND storage for f2fs
    Support for Samsung Touchwiz Android 4.3 ROMs removed
    Support for Android 5.0 ROMs removed
    Support for Android 5.1 ROMs added
    Installation failure after ROM installation fixed
    Network speed tweaked for LTE models

    4.0.3
    Issues with swap configurations fixed
    Misc SELinux logs improved
    Compiler and linker updated

    4.0.2
    Latest CyanogenMod 12 ramdisk changes merged
    (Fixes bootloop on latest builds)

    4.0.1
    Zen-tune from Liquorix kernel implemented
    (Reduces lags)
    ondemand CPU governor removed
    Few inconsistencies fixed for SHV-E210L
    Hardswap on preload partition added on aTweaks

    4.0
    Prevent random enter to recovery
    LPM mode on Android 5.0 Lollipop fixed
    Low-level start-up misc issue fixed
    Revert - "usb cb wake lock", "usb device wake lock" wakelock removed
    (Fixes USB connections)
    Random drivers updated to the latest mainline Linux
    LZO security vulnerability fixed
    Entropy hook on storage removed for performance
    f2fs updated to the latest mainline Linux
    Android 5.0 Lollipop ramdisk updated

    4.0-beta6
    f2fs updated to the latest mainline Linux
    Durpy defconfig changes removed
    SHV-E210S_KK_Opensource_Update2.zip merged
    Hybrid support for different HWC implemented
    (Fixes camera initialization issues)
    MobiCore disabled for AOSP
    (Memory optimizations)

    4.0-beta5
    f2fs updated to the latest mainline Linux
    sdcardfs extended and enabled with Android 5.0 Lollipop
    PegasusQ set as the default CPU governor for stability
    firelock and full-frequency-usage removed from PegasusQ for performance
    Android 5.0 Lollipop ramdisk updated
    Stability on charging with phone turned off improved
    PhilZ Touch recovery now uses standard VOLD mount points

    4.0-beta4
    Removed GPS blobs from 4.0-beta3
    (Fixes GPS on AOSP - you may need to reinstall the entire ROM to fix GPS)

    4.0-beta3
    f2fs updated to the latest mainline Linux
    Some cutting-edge compiler optimizations tuned down for stability
    Added L1/L2 cache size paramater optimizations (by JustArchi)
    Support for Android 5.0 reworked
    Support for Android 5.0 Lollipop VPN added
    Support for Android 5.0 Lollipop power consumption calculation added
    Support for Android 5.0 Lollipop idletimer enabled
    Deadline / noop set as the default I/O schedulers
    Incall boost increased to 1000 MHz for more stability
    Ext4 mount option journal_async_commit removed
    Ext4 barrier enabled for better stability
    Now uses TRIM from userspace instead of kernel for performance
    Boeffla sound engine updated to 1.6.7
    Second-phase touch booster removed for stability
    Intell-plug touch booster removed for stability
    BFQ I/O scheduler updated to v7r7
    Installs and uses the working HWC from NamelessROM if on AOSP
    Enables s3cfb fencing on AOSP
    (Fixes graphical glitches)
    MHL sound output issue fixed
    Vnswap on AOSP switch added
    Added GPS blobs from E210SKSUKNK3
    Recovery updated to PhilZ Touch 6.59.0
    Misc performance and stability improvements
    Support for AOSP Android 4.3 ROMs removed

    4.0-beta2
    Major speed improvements via new ARM instructions set
    interactive CPU governor re-based to android-3.4
    (Fixes frequency stuck issue)
    ZZmoove v1.0-beta2
    ROW I/O scheduler removed
    Misc block commits reverted
    (Improves overall stability)
    f2fs reworked from ground-up
    (Stability, performance improvements)
    Automatic kernel panic log dumper now stores log on /sdcard/arter97
    RTL8187 support added (integrated)
    SHV-E210L radio issues fixed
    External storage support for Android 5.0 Lollipop enabled

    4.0-beta1
    Kernel rebased to Galaxy S3 LTE KitKat source
    (Fixes graphical glitches on Touchwiz ROMs)
    512 MB of vnswap enabled for Touchwiz ROMs
    Intelliactive now the default CPU governor
    Touchwiz Android 4.4.2 support removed
    Back-to-n00t ROM support added
    Android 5.0 Lollipop ROM support added
    Charge during phone-off fixed
    ZZmoove v1.0-beta1
    Interactive governor ported from Galaxy Mega 2
    Powerboost removed
    Deadlock during phone-call fixed
    Toolchain switched to stable Linaro GCC 4.9.2 2014.10
    Recovery updated to PhilZ Touch 6.58.7
    multi-boot updated for fixing AOSP ROM installation

    3.1.1
    PM_SUSPEND_FREEZE removed
    (Responsible for all issues related to sleep)
    intelliactive - CPU boost frequency fixed to 1000 MHz
    (Standard for Exynos 441x)
    Misc improvements to freezer, irq and futex
    (Credits to Colin Cross, Sankara S Muthukrishnan, Thomas Gleixner and Francisco Franco)

    3.1
    Installation failure on some recovery issue fixed
    ext4: Speedup WB_SYNC_ALL pass called from sync
    Kernel thread: wake up worker only when the worker is idle
    Disable GENTLE_FAIR_SLEEPERS when powerboosted
    (Better UI snappiness)
    Network performance with process_backlog improved
    BusyBox updated
    aSwitch updated to version 2.5
    (Fixes reboot not working on some ROMs)
    Boost CPU frequency on resuming from sleep or screen-off
    PM_SUSPEND_FREEZE fixed
    ("Maybe" fixes some issues with screen not tuning on after voice call)
    Screen-off CPU frequency limit unlocked for intelli-plug users experiencing music studders
    Several more network integration with ROM
    multi-boot.zip updated to version 2.1 fixing 2 or more ZIP files installation

    3.0
    Now uses interactive as the default CPU governor, replacing pegasusq
    Now uses more power-efficient PM_SUSPEND_FREEZE on stand-by
    2nd-phase touch boost implemented for much more snappy touch reaction
    (When the screen is touched, CPU frequency is bumped up to 1.2 GHz for 100ms, then down to the default 0.8 GHz)
    Undervolt capability added from Perseus kernel (by AndreiLux)
    aSwitch updated to version 2.4
    (Now correctly reboots after ROM switch)
    multi-boot.zip updated to version 2.0 for much better compatibility
    (Use only with arter97 kernel 3.0 or higher!)
    Misc improvements with memory managements, internal MMC handlings, network including TCP and SELinux
    Wi-Fi module handling improved
    Installation time improved
    ADB on Samsung stock-based Android 4.3 ROM fixed
    ondemand CPU governor power consumption & speed improved
    (Changed calculation of target frequency)
    interactive CPU governor merged from upstream Google 3.0 Git repository
    Tracers within interactive CPU governor removed for better performance
    f2fs re-imported from scratch for bug-fixes
    sched_mc_power_savings now set to 0 for better performance
    ZZmoove CPU governor updated to v0.9-b4 (by ZaneZam)
    AOSP Android 4.4 KitKat ramdisk updated
    CyanogenMod 11's addon.d installed for nightly updates
    Built with updated toolchain
    Recovery updated to PhilZ Touch 6.57.5
    Now correctly applies CPU frequency settings when resuming from throttled state

    2.2
    GT-I9300_JB_Opensource_Update14.zip merged
    Power-efficient workqueues backported from linaro-lsk
    Deep-discard-trim; FIDTRIM support for ext4 backported from google-3.4
    Revamped aSwitch, aTweaks icon
    aTweaks typo cleaned
    aTweaks now properly supports Korean
    Removed invalid hotplug lock within aTweaks
    Powerboost routine improved
    SdcardFS switch added
    (for those who are planning to use FolderMount)
    Intelli-plug merged with smart switch
    Intelliactive merged
    Random drivers updated to the latest mainline Linux
    f2fs updated to the latest mainline Linux
    f2fs performance improved with nobarrier option
    BFQ updated to v7r5
    lzo security vulnerabilities patched
    lz4 security vulnerabilities patched
    Reverted busfreq and wakelock commits
    AOSP Android 4.4 KitKat ramdisk updated
    Compiler flags updated
    Built with updated toolchain
    Frandom removed
    (default random drivers are better that now it's merged from mainline Linux)
    io_is_busy is now properly enabled by default
    Recovery updated to PhilZ Touch 6.56.2, ClockworkMod v6.0.5.0

    2.1.3
    UKSM removed
    (responsible for almost all kernel panics happened with previous versions)
    AOSP Android 4.4 KitKat ramdisk updated
    Security vulnerability CVE-2014-3153 fixed(towelroot)
    Recovery updated to PhilZ Touch 6.46.2

    2.1.2
    GPIO processing operation reordered
    (faster wake-up)
    SLUB Memory Allocater from Linux 3.3 reverted
    (better stability)
    Debugging functions in SLUB Memory Allocater added by Samsung removed

    2.1.1
    Write permissions on external storage fixed
    Recovery malfunction on external storage fixed
    Fixed advanced mDNIe control in aTweaks
    f2fs whitelisted on SELinux to maximize compatibilities
    CMA memory validation on Mali re-enabled
    Android 4.4.3 kernel source code changes applied
    TCP's Initial Congestion Window tunables
    (network performance improvements)
    f2fs updated to the latest mainline Linux
    AOSP Android 4.4 KitKat ramdisk updated
    Recovery initial loading speed improved
    Recovery updated to PhilZ Touch 6.44.9, ClockworkMod v6.0.4.9
    Removed userspace, hotplug, adaptive CPU governors
    Removed support for network file-systems
    Config minimalized for lighter kernel

    2.1
    Dedicated custom PhilZ recovery released for f2fs
    Allowing an easy switch to f2fs

    Toolchain switched to stable Linaro GCC 4.9.1 2014.05
    Block backport from Linux 3.3 reverted
    - Fixes kernel panics with Samsung Touchwiz Android 4.4 KitKat
    BFQ updated to v7r4
    Mali graphics driver merged from N7100 Android 4.4 KitKat kernel
    /data/container mount fixed for Samsung Touchwiz Android 4.4 KitKat
    sdcardfs brought up from N7100 Android 4.4 KitKat kernel
    sdcardfs extended to all Android 4.4 KitKat ROMs
    - Better performance and battery
    Installation failure on PhilZ recovery fixed
    Improved installation speed
    Advanced mDNIe control by AndreiLux added
    Touch boost code reverted to stock kernel
    - Use 800 MHz instead of previous 600 MHz
    Ultra KSM with profile configuration added
    zRam with ultra-fast LZ4 compression method added
    Debugging codes within ext4 file-system source code removed
    - Better performance
    CVE-2014-0196 security vulnerability fixed
    Conditional statement for dynamic camera firmware loading
    - Camera fixed for Samsung Touchwiz Android 4.4 KitKat

    2.0
    Initial release to XDA developers
    46
    Some very exciting news.

    Remember my friend who got continuous panics everyday?
    With the new development version, he gets none.

    Plus, I've managed to merge the latest, stable f2fs from Linux 4.2-rc8.

    I haven't forgot you guys, look forward for the next release :D
    34
    After fixing minor issues(Wi-Fi on CM ROMs), this project will be abandoned.

    This kernel is my very first custom kernel project.
    After some general experiences with Android/Linux kernels, I went on making custom kernels for Galaxy S4 LTE-A, Note 3, S5, Nexus 5, Nexus 7, LG G Watch and now Galaxy S6.
    During this 1~2 years of period, I learnt what I was doing wrong and what can be better.

    A totally new, re-based, reworked kernel with a different name will be under development with ultimate goal "stability".
    A lots of features considered unnecessary and dirty will be gone.
    Undervolt, Multi-boot, aTweaks(yes, the kernel configurator app), unnecessary CPU governors, intelli-plug, Knock-On(Touchwake), Android logger control, Boost-boot, mDNIe control will be one of them.
    It's my own judgement call for reaching out more general users with no weird and funky issues.

    Every commits will be reviewed.
    Commits which I don't understand that just has a fancy name will also be not applied.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone