[KERNEL] ElementalX N5 8.14 (Nougat) 9.02 (Oreo)

Search This thread

Venomous Viper 119

Senior Member
Oct 21, 2012
2,173
556
Bidadi
www.themythace.com
Or maybe he has got more exams than you, or a real life, or he is busy with a new and better phone, a newborn baby- or maybe better- trying to make one, whatever.

Fact is, if you cared to look, only *two posts* before yours you could have seen he just wasted some more of his precious time in answering someone about frequency scaling in the kernel. So obviously he still reads and spends time in supporting people.

Which brings me to think that this kind of nagging is not much different than indirectly asking for ETA. I've seen developers tired of this kind of "ETA" asking and quit. For example, have a look how frustrating it is for rovo89 and his xposed framework for ART who gets this type of nagging every hour dozens of times.

If I was in his shoes, I'd announce that every time someone asks for ETA-whether directly or indirectly- the new release is delayed by an additional week, or month, or whatever. Problem is it probably won't help because I suspect ETA askers probably don't bother to take five minutes to read 2-3 posts so they wouldn't even know they are causing deliberate delays by "just asking because I was very busy lately, and I'm too an important and busy guy to spend five minutes to read, so I'll just ask".

Yeah I know I'm just an old ranting sod. But in my twisted way of looking at things, asking if the Dev is still alive and working for you is simply disrespect. He works for free, from his own time and surely doesn't need to report us in his process in whatever he is working on. Just patience.
I've been the user of this kernel right from the beginning. If you're angry with someone else, go channel your anger somewhere else. Learn to understand what I've asked & then reply. I had just woken up & with my sleepy eyes, I posted my 1st post there & yeah, I didn't notice flar2's post above mine. So what? Are you always as attentive as a BSF soldier? You're behaving as though no human commits a simple flaw as that. I just wanted to know if the development will continue or not. I got my answers & that's it. Nowhere I spoke like, "Where's flar2 while he must be here developing for the nexus 5?" And all.. If someone had told me that if the development is over & flar2 is busy with his personal life &/or is on holidays, I'd be more than happy to hear that. Because everyone has their own life & you needn't shed light on this for me, I've been a part of this community for a quite a time. It was you who assigned & derived a different meaning to my words, while my words clearly meant something else. No, never have I & never will I ask for ETA. I always respect this community & also I love & respect the devs that contribute so much for this community, that too for free. The next time you unnecessarily flame on someone, first learn to understand what they meant. Don't just throw your own stuff as a spicing & heat things up here. I hate spamming more & I'm done with this. Sorry everyone, sorry flar2.

Edit: He apologised & even I have. Cool.
 

sjknight413

Senior Member
Dec 1, 2009
2,659
1,310
Brighton, England
What difference does it make what frequencies the kernel uses? You can get excellent battery life and maximum smoothness with this setup. The large amount of time at 1267 is due to mpdecision.
Only bringing it up because battery life takes a massive hit, sorry i should have said that in the original post. It's extremely hard to get near three hours screen on time whereas with a few other kernels I can easily break four.

Sent from my Android 5.0 Lollipop + ElementalX powered Nexus 5
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1055
    ElementalX Kernel
    for Nexus 5 (hammerhead)
    p2214177205-11.jpg

    Features
    • Easy installation and setup with AROMA installer
    • Best balance of performance and battery life
    • Advanced color control
    • USB fastcharge (optional)
    • Sweep2sleep (optional)
    • Sweep2wake and doubletap2wake (optional)
    • Disable wake functions with timeout or power button
    • Wake Gestures app support
    • MultiROM support
    • Disable fsync (optional)
    • Sound control
    • Cooler color preset (optional)
    • backlight dimmer (optional)
    • Underclock or overclock CPU
    • L2 and bus overclocking options
    • Choose automatic minimum voltage
    • kernel-based thermal control
    • GPU overclocking options
    • voltage control
    • NTFS read/write and exFAT support
    • init.d support
    • Charge light support (enabled by some ROMs)
    • No forceencrypt


    Google+ Community



    Installation

    1. Flash in recovery

    For maximum compatibility with all ROMs, ElementalX uses your existing ramdisk.
    Do NOT flash this over other custom kernels!
    You should only flash ElementalX over the kernel that came with your ROM!!!




    Download

    Android 8.1.0 (Oreo) (Might work, might not, who knows...)
    ElementalX-N5-9.02

    Android 7.1.1 (Nougat, but also works on Marshmallow)
    ElementalX-N5-8.14

    Android 6.0.1 (Marshmallow)
    ElementalX-N5-6.27

    Note: 6.25 is for ROMs with July security patches or later! Please use 6.17 if WiFi doesn't work



    App to customize Wake Gestures:
    http://elementalx.org/wake-gestures/





    Source
    https://github.com/flar2/ElementalX-N5


    _____________________________________

    XDA:DevDB Information
    ElementalX Kernel, Kernel for the Google Nexus 5

    Contributors
    flar2
    Source Code: https://github.com/flar2/ElementalX-N5

    Kernel Special Features:

    Version Information
    Status:
    Stable

    Created 2013-11-09
    Last Updated 2018-03-03
    235
    Notes

    REVIEWS


    NOTES

    ElementalX Configuration File
    Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)

    If settings are not sticking:[*]Make sure you have busybox installed correctly and updated to the latest version[*]Make sure the file permissions for /etc/init.d/99elementalx are set to execute. [*]Check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or TricksterMod) are interfering with your settings.


    ElementalX Log File
    Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options.


    ElementalX Governor
    The ElementalX CPU governor has been specifically designed and tuned to get the best balance between battery life and performance. By default, it is more conservative than Ondemand. During routine usage, the CPU frequency does not ramp up very often. If gboost is enabled, during gaming or any other graphics intensive situation, the CPU frequencies boost much easier in order to maintain maximum performance. There is also a built in input boost. There are several tunables specific to the governor:

    input_event_min_freq: takes four values separated by comma. These are the input boost frequencies for cores 0, 1, 2, and 3 (default 1728000, 1267200, 1267200, 1267200)

    input_event_timeout: this is the length of time in milliseconds that the input boost will be active (default 500). Setting this to 0 disables input boosting.

    ui_sampling_rate: when you touch the screen, the sampling rate changes temporarily to whatever you set here (default 15000)

    two_phase_frequency: this sets the max frequency for moderate loads. Accepts four frequency values separated by comma, for cores 0, 1, 2, and 3. (default 1728000, 1728000, 1728000, 1728000)

    How does it work? It's basically a multiphase ondemand governor.

    The basic governor is very conservative for most phone activities, spending most of its time at 1267MHz. If there is graphics load, we switch to a two phase ondemand. The first phase runs with a max freq of 1728MHz (default). If the load increases, it goes to max frequency (default is 2265MHz) and the minimum frequency changes to 1267200 (I will probably make this tunable)

    The input boost does a couple things. First, it lowers the sampling rate for the timeout duration to make the governor more responsive. Second, it boosts the frequency of any online cores. You can disable this by setting input_event_timeout to 0.

    If you want to experiment, delete /system/lib/hw/power.msm8974.so and set the input_event_timeout to about 1000. But I recommend leaving it alone for optimal smoothness.


    Faux Clock/TricksterMod/Kernel Tuner/etc
    You don't need these apps because the ElementalX installer sets everything up automatically, but if you want to check or change settings, you can use these apps. Just be aware that some of them (e.g. Kernel Tuner) are set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.


    Overclocking
    Overclocking (or underclocking) is optional. The installer lets you choose the maximum frequency. You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. I don't recommend overclocking, this device is fast enough. If you overclock, the CPU frequency will likely be throttled due to heat. I recommend the stock frequencies, as this device is plenty fast.


    CPU voltages
    The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (300MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep or other weird problems is a sign that your minimum voltage is too low.


    GPU Governor
    The default GPU govenror is ondemand. It works well and is recommended for best balance between performance and batter life. The simple governor is also available, but ramps up the GPU frequency much quicker than ondemand, so may impact battery life. The governor can be set in /etc/elementalx.conf


    fsync
    fsync can be disabled if you're looking for the last ounce of performance. I recommend leaving it enabled as there is a slight risk of data loss if your phone shuts off unexpectedly before filesystems are synced.


    Max screen off frequency
    The default max screen off frequency is 1190MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. This can be changed manually at /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq


    Installing a new ROM
    If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.


    NTFS and exFAT support
    This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS or exFAT filesystems. You will need Stickmount or a similar app.


    F2FS support
    F2FS support is built into the kernel, however, you will need to have an F2FS compatible kernel installed before you install ElementalX to get all the proper ramdisk stuff.


    Wake Gestures
    This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires this app:http://elementalx.org/wake-gestures/


    Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).

    Note that if you enable wake_gestures, nothing will happen if you don't install the Wake Gesture Xposed module.


    Sweep2wake

    Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work

    Gesture........Value
    Sweep right......1
    Sweep left........2
    Sweep up.........4
    Sweep down....8

    Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)

    /sys/android_touch/sweep2wake



    Doubletap2wake
    DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. This causes significant battery drain. You can edit /etc/elementalx.conf to change the setting on boot.

    /sys/android_touch/doubletap2wake

    0 = disabled
    1 = enabled (bottom of screen only)
    2 = enabled (full screen)


    Vibration Strength

    Haptic feedback can be enabled for the wake gestures in /sys/android_touch/vib_strength. This setting takes a number between 0 and 90. Default is 20. Setting this to 0 disables haptic feedback for gestures.


    S2W/DT2W power key toggle
    If enabled, turning the screen off with the power button disables s2w and dt2w to save battery (since s2w/dt2w cause significant battery drain). When you turn the screen back on, s2w and dt2w return to their previous settings. If the screen times out, s2w/dt2w are not disabled this is only if you use the power button to turn it off. You can edit /etc/elementalx.conf to change the setting on boot.


    S2W/DT2W Timeout
    Doubletap2wake and sweep2wake can be automatically disabled after a certain number of minutes. I give a few choices between 5 and 120 minutes in the installer. Default is 30 minutes. You can put in whatever you want in /etc/elementalx.conf.

    When the screen is turned on, the timeout is canceled and will start again next time you turn the screen off. This means that if you have your screen set to come on for incoming messages or notifications, the timeout will start over again.

    If you also enabled the power button to toggle s2w/dt2w, there is no timeout when you use the power button, the wake functions are immediately disabled (same as before).

    You can edit /etc/elementalx.conf to change the setting on boot.


    Sweep2Sleep
    Sweep2Sleep allows you to put the device to sleep by sweeping your finger across the navigation bar area. Unlike Sweep2wake, this does not cause any battery drain. You can edit /etc/elementalx.conf to change the setting on boot.

    /sys/android_touch/sweep2sleep

    0 = disabled
    1 = sweep right
    2 = sweep left
    3 = sweep left or right


    Color preset
    There are two color presets: stock and slightly cooler. You can edit /etc/elementalx.conf to change the setting on boot.

    /sys/module/mdss_dsi/parameters/color_preset

    0 = stock color
    1 = slightly cooler color


    Backlight dimmer
    Backlight dimmer allows you to adjust the LCD screen brightness lower than is possible with stock. Be careful, you can lower the brightness so much you can barely see it. You can edit /etc/elementalx.conf to change the setting on boot.

    /sys/module/lm3630_bl/parameters/backlight_dimmer

    0 = disabled
    1 = enabled


    USB fastcharge
    USB fastcharge is optional. This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 900ma. Be sure that the computer/laptop/whatever you are plugged into can handle it. Some will automatically cap it at 500ma. Please note that this does not force AC charge mode like previous implementations of force fastcharge. Your battery setting will still say USB mode. You can edit /etc/elementalx.conf to change the setting on boot.
    148
    Update:

    After some discussion with my wife, I've decided to continue with Android development. But on the condition that I get more sleep and maintain my health (she has a point on this).

    So I will continue to develop kernels and publish a new version of the app on Google Play. I can't possibly leave all my users hanging after all the support, donations and app sales. For me personally, this incident has been deeply troubling, but I want to put it behind me. I've invested too much in this to give up now.

    The current version of ElementalX Kernel app should continue to work indefinitely for those who bought it. It's fully functional, feature complete and has no major bugs. There will be no need to buy the new version if that's what you choose. I will make sure that everyone can download it and continue using it.

    I'm not sure when the new version will hit the Play Store. Because it would be a new purchase, I feel that the new app has to have some added value. I don't want to seem like a jerk making you buy the same thing again. Therefore, I am not simply going to release the same app again. As some of you know, I was in the middle of a complete redesign when all this happened, so that is very fortunate. The new design is very exciting and I think people will want it just because of that. The second thing I'm going to do is add an additional killer feature. I have drawn up the specs and a mock up of the screen, but haven't started coding yet. So there will be a bit of a wait while I get this done.

    I think this arrangement will be fair for everyone.

    I feel terrible about what happened and apologize for the inconvenience.

    I thank each and every one of you for your support and understanding.

    Aaron (aka flar2)
    120
    Experimental update


    I started from scratch, only keeping the patches I think are worthwhile. All features are the same as before, just a bit leaner and closer to stock.

    Let me know if anything is not working (it should be good)

    New branch on github is ElementalX-1.00


    Download (Stock/AOSP):

    ElementalX-N5-1.00
    ElementalX-N5-1.00-express





    Changes:
    Update ARM topology and add cpu_power driver
    arm: lz4: faster boot-up process.
    lz4: fix compression/decompression signedness mismatch
    lib/lz4: correct the LZ4 license
    crypto: add lz4 Cryptographic API
    lib: add lz4 compressor module
    arm: add support for LZ4-compressed kernel
    lib: add support for LZ4-compressed kernel
    decompressor: add LZ4 decompressor module
    Wake Timeout: fix dependency
    Wake gestures: adjust sweep length and doubletap timeout
    Wake Gestures interface and other options for S2W/S2S/DT2W
    Disable by default and remove leftovers
    disable s2w/dt2w after timeout
    fix unbalanced irq_wake
    Make power button also disable irq_wake in touch driver
    fullscreen option
    doubletap2wake: back to full screen, make a bit more sensitive
    restrict to bottom of screen, reduce feather radius, shorten time window, disabl
    drivers/input/touchscreen/sweep2wake: Fix compilation with earlysuspend
    drivers/input/touchscreen/doubletap2wake: Fix compilation with earlysuspend
    Prevent touches during phone calls
    Add option for sweep2sleep only
    Option to disable touch wake with power button
    dt2w: fix triple tap to wake occuring sometimes
    s2w: abort on multitouch events early
    add doubletap2wake, completely rewritten on the s2w template
    sweep2wake: remove distinction between S2W and DT2W defines
    sweep2wake: update header information
    sweep2wake/doubletap2wake/touchscreen: Prepare for dt2w
    s2w: rename version file so we don't conflict with dt2w, driver versions, etc
    touch_synaptics: don't wait for irq events to be handled, just disable the irq
    touch_synaptics: remove wakeup procedure for i2c device
    touch_synaptics_ds5: don't wait for irq events to be handled, just disable the i
    touch_synaptics_ds5: remove wakeup procedure for i2c device
    sweep2wake: cleanup header file
    sweep2wake: disabled as default, enable it over apps/sysfs
    sweep2wake: disable debugging
    touch_synaptics_ds5: i2c_read: auto retry 10 times before erroring out The i2c d
    touch_synaptics: i2c_read: auto retry 10 times before erroring out The i2c devic
    touch_synaptics: bring on par with touch_synaptics_ds5
    sweep2wake: we no longer need irq_wake. remove it. Also clean up variable declar
    sweep2wake & touchscreens: replaced flawed irq_wake procedures with linux functi
    sweep2wake: massive update, bring on par with s2w2 except algorithm
    mdss_dsi_panel: keep the panel gpio active and don't trigger a reset
    mdss_dsi: do not power down panel when sweep2wake is enabled In order to detect
    drivers/input/touchscreen/touch_synaptics_ds5: fix epic c&p fails for irq_wake i
    drivers/input/touchscreen/touch_synaptics: patch with sweep2wake hooks as well
    drivers/input/touchscreen/touch_synaptics_ds5: add missing irq_wake controls and
    drivers/input/touchscreen/touch_synaptics_ds5: re-add android_touch kobj
    sweep2wake: add irq_wake indicator
    drivers/input/touchscreen/touch_synaptics_ds5: add screen suspend indicator
    drivers/input/touchscreen/touch_synaptics_ds5: add reset code on finger release
    drivers/input/touchscreen/touch_synaptics_ds5: disable suspend if sweep2wake is
    sweep2wake: backport per device settings from sweep2wake2 (like pwr btn choice t
    drivers/input/touchscreen/touch_synaptics_ds5: add is_single_touch & s2w detecti
    sweep2wake: add qpnp-power-on hooks for the power key
    add sweep2wake source files
    drivers/input/touchscreen/touch_synaptics_ds5.c: No suspend irq
    Update to latest F2FS
    FS: import F2FS
    ARM: dts: msm: increase adsp heap size for msm8974
    stereo call recording support
    arm/dt: msm8974: Increase "ib" values for VIDC DDR bandwidth request
    net: loopback: set default mtu to 64K
    slimbus: overclock root freq
    [cpufreq_elementalx] Rework and clean up
    [cpufreq_elementalx] make sure input boost stuff is disabled
    [cpufreq_elementalx] up_threshold doesn't change, make it read_mostly
    [cpufreq-elementalx] a little extra boost when load is high
    cpufreq_elementalx: very slight boost
    cpufreq_elementalx: add counter for more gradual boosting
    cpufreq_elementalx: minor adjustments
    ElementalX governor
    Allow slightly lower brightness (without backlight dimmer mod)
    backlight: scale max current when the brightness level is below 15 instead of us
    backlight: add minimum backlight brightness module param.
    backlight: clean the code.
    backlight: fix a bug where the screen would be completely dark or near darkness
    Backlight dimmer mod: more gradual transitions
    More gradual levels for backlight dimmer mod (based on @MZHou module)
    Add backlight dimmer option
    Makefile: enable pipe
    LCD KCAL: Fix Gamma max value issue
    LCD_KCAL: Color Control driver for Nexus 5
    msm: mdss: Find a stable sysfs node for the gamma interface
    msm: mdss: Use workqueue to send panel commands
    msm: mdss: Add hardware revision check
    msm: mdss: Send panel commands via separate function
    msm: mdss: Finalize gamma interface and cleanup
    fixup color preset to work with experimental gamma interface
    msm: mdss: Add safety check for user input
    msm: mdss: Identify white point in sysfs
    msm: mdss: Remove sysfs for unused commands
    msm: mdss: distinguish between Gamma RGB polarity Positive/Negative
    msm: mdss: Remove tunable for command 32
    msm: mdss: Apply commands values without switching screen (off and) on
    msm: mdss: Display gamma control
    Basic color preset
    sound control: add register cache
    Sound Control: (OPTIONAL) add power amp registers access control as well
    Sound Control: (Optional) work around for Nexus 4/5 audio issues
    sound control: WCD9320: update speaker gain control for Z1
    sound control 3.x: Initial GPL release for WCD9320 Audio Codec
    Sound Control: WCD9320: expose additional controls
    Change default max screen off frequency to 1190400
    Add sysfs entry for max screen off frequency
    Change msm-sleeper to use lcd-notifier
    Max screen off frequency and shut down cores while screen is off
    bump l2 a bit for touchboost freq
    Reduce number of cpu frequencies
    Use 200MHz GPU frequency
    More overclocking options
    L2 cache and bus bandwidth overclocking
    CPU overclocking
    Increase voltage limits
    Voltage Control: add sysfs interface
    Voltage Control: initial voltage control for MSM Snapdragon 800 SOC
    stop_machine: Mark per cpu stopper enabled early
    stop_machine: Use smpboot threads
    stop_machine: Store task reference in a separate per cpu variable
    kthread: Prevent unpark race which puts threads on the wrong cpu
    smpboot: Allow selfparking per cpu threads
    hotplug: Fix UP bug in smpboot hotplug code
    smpboot: Provide infrastructure for percpu hotplug threads
    kthread: Implement park/unpark facility
    kthread_worker: reimplement flush_kthread_work() to allow freeing the work item
    kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation
    smpboot, idle: Fix comment mismatch over idle_threads_init()
    smpboot, idle: Optimize calls to smp_processor_id() in idle_threads_init()
    smp, idle: Allocate idle thread for each possible cpu during boot
    smp: Provide generic idle thread allocation
    smp: Add generic smpboot facility
    msm: kgsl: Report GPU frequency correctly in sysfs
    msm: Fix high load average from uninterruptible waits (@cyanogen)
    disable crc check
    Various small tweaks from morfic and franco
    msm: rpm-regulator-smd: fix request suppression policy
    try some different settings
    bcmdhd: reducir wakelocks
    mm: remove swap token code
    mm: slub: Default slub_max_order to 0
    msm: kgsl: Fix nice level for higher priority GPU start thread
    msm: Improve qpnp-vibrator scheduling
    msm: mdss: control backlight level during blank and unblank events
    gpiomux-8974: Modify direction of suspended GPIO
    leds: At disable, set the trigger to default instead of wiping it
    msm: thermal: Update to speed up bootup time
    lower GPU volt constraints a bit
    SELinux: Fix memory leak upon loading policy
    block: do not notify urgent request, when flush with data in flight
    bcmdhd: decrease rx wakelock time from 500ms to 250ms for testing purposes.
    ARM: dts: msm: Increase OCMEM BW request for video decode
    ext4: fix memory leak in xattr
    usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs
    sched: reinitialize rq->next_balance when a CPU is hot-added
    tick: Dynamically set broadcast irq affinity
    cpuidle: make a single register function for all
    af_unix: speedup /proc/net/unix /proc/net/unix has quadratic behavior, and can h
    ext4: speed up truncate/unlink by not using bforget() unless needed
    tweak fifo_batch
    deadline: Allow 0ms deadline latency, increase the read speed
    hammerhead kernel: implement always on rgb led support
    block: row: Remove warning massage from add_request
    Implement kexec-hardboot
    msm: kgsl: Add an input handler to power up the GPU on a touch event
    msm: kgsl: Allow GPU start to run in a high priority queue
    sched: Fix clear NOHZ_BALANCE_KICK
    sched: Micro-optimize the smart wake-affine logic
    sched: Implement smarter wake-affine logic
    sched: Fix select_idle_sibling() bouncing cow syndrome
    block: Reserve only one queue tag for sync IO if only 3 tags are available
    readahead: make context readahead more conservative
    switch do_fsync() to fget_light()
    nohz: Reduce overhead under high-freq idling patterns
    ARM: 7495/1: mutex: use generic atomic_dec-based implementation for ARMv6+
    ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+
    Revert qualcomm's contributions on mutex.h
    PM: Introduce suspend state PM_SUSPEND_FREEZE
    softirq: reduce latencies
    writeback: Fix occasional slow sync(1)
    cpufreq: Manage only online cpus
    writeback: fix race that cause writeback hung
    sched: add wait_for_completion_io[_timeout]
    block: account iowait time when waiting for completion of IO request
    writeback: fix writeback cache thrashing
    sync: don't block the flusher thread waiting on IO
    Fix CIFS
    fix for app-mounted directories (thanks @mkasick)
    Input: Send events one packet at a time
    fs: sync: enable fsync by default.
    fs: sync: add missing return if fsync is disabled from userspace.
    Added fsync on/off support.
    USB Fast Charge for Nexus 5
    Add SIO and FIOPS i/o schedulers
    lib/int_sqrt.c: optimize square root algorithm
    AIO: Don't plug the I/O queue in do_io_submit()
    exFAT support
    Add /dev/frandom support
    arm/crypto: Add optimized AES and SHA1 routines
    lib/memcopy: use glibc version
    lib/string: use glibc version
    Linaro GCC 4.9.1: fix compilation warnings
    smd_rpc_sym.c: auto generated
    ARM: Use -mcpu=cortex-a15 when targeting MSM Krait CPUs
    Adjust Makefiles
    99
    Changelog

    Sep29, 2014 - ElementalX-N5-1.10
    -revert i2c update
    -clean up voltage control
    -ext4 speedup


    Sep15, 2014 - ElementalX-N5-1.09
    -update to fauxsound 3.6
    -i2c update
    -update audio subsystem (cm version only)


    Sep10, 2014 - ElementalX-N5-1.08
    -update msm-sleeper
    -fix installer


    Sep 6, 2014 - ElementalX-N5-1.07
    -fix permissions for vib


    Sep 5, 2014 - ElementalX-N5-1.06
    -fix permissions for vib and color settings
    -update msm-sleeper
    -fix flashlight permissions
    -add support for USB Keyboard app


    Aug 25, 2014 - ElementalX-N5-1.05
    -fix long timeouts in wake_timeout
    -support 3G USB dongles
    -lower i2c clockrate



    Aug 8, 2014 - ElementalX-N5-1.04
    -latest updates to fauxsound
    -support Logitech Unifying Receiver
    -NFS support


    Aug 3, 2014 - ElementalX-N5-1.03
    -security updates and fixes
    -ability to use proprietary chargers


    July 2, 2014 - ElementalX-N5-1.02
    -fix touchboost not enabled on recent builds (CM/CAF version)


    June 29, 2014 - ElementalX-N5-1.01
    -CAF updates to audio subsystem (CM/CAF version)


    June 19, 2014 - ElementalX-N5-1.00
    -rebase
    -all features same as before


    June 10, 2014 - ElementalX-N5-0.44
    -update installer
    -various tweaks and optimizations
    -fix slimport irq not enabled


    June 4, 2014 - ElementalX-N5-0.43
    -update with Android 4.4.3 kernel source
    -fix vibration intensity


    June 3, 2014 - ElementalX-N5-0.42
    -faster boot up
    -revert enable proprietary charger


    June 1, 2014 - ElementalX-N5-0.41
    -new wake timeout method
    -various fixes and optimizations
    -stereo call recording support (untested)
    -update installer


    May 25, 2014 - ElementalX-N5-0.40
    -fix installer
    -adjust vertical sweep length
    -adjust doubletap timeout
    -update slimbus oc (@poondog/@zeroinfinity)


    May 25, 2014 - ElementalX-N5-0.39
    -bidirectional sweep2sleep
    -omnidirectional sweep2wake
    -wake gestures interface (requires xposed module)
    -optional haptic feedback for gestures
    -updated installer
    -option to use stock ondemand governor
    -build with Linaro GCC 4.9.1 toolchain (@Christopher83)
    -other fixes and optimizations


    Apr 25, 2014 - ElementalX-N5-0.38
    -adjust hardfloat compile option


    Apr 21, 2014 - ElementalX-N5-0.37
    -update F2FS support


    Apr 5, 2014 - ElementalX-N5-0.36
    -revert sched tweaks


    Apr 2, 2014 - ElementalX-N5-0.35
    -update backlight_dimmer
    -rgb color control (savoca)
    -a few fixes and optimizations


    Mar 17, 2014 - ElementalX-N5-0.34
    -fix installer typo
    -fix playback of secure video


    Mar 16, 2014 - ElementalX-N5-0.33
    -add F2FS support
    -add wake function timeout option
    -add readahead options
    -update installer


    Mar 4, 2014 - ElementalX-N5-0.32
    -many CAF updates and fixes
    -rework and cleanup elementalx governor
    -ROW is default i/o scheduler again


    Feb 27, 2014 - ElementalX-N5-0.31
    -s2w/dt2w power button toggle fix
    -update backlight dimmer (more gradual steps)
    -revert some changes from 0.30


    Feb 22, 2014 - ElementalX-N5-0.30
    -deadline is default i/o scheduler
    -update backlight dimmer (more gradual steps)
    -export storage for usb otg
    -update installer
    -save elementalx.conf to sdcard
    -express installer sees all options now
    -many optimizations and fixes (see github)


    Feb 1, 2014 - ElementalX-N5-0.29
    -fix photos taken with flash


    Jan 27, 2014 - ElementalX-N5-0.28
    -cyanogenmod support


    Jan 26, 2014 - ElementalX-N5-0.27
    -CAF updates to audio
    -update installer
    -save elementalx.conf to sdcard
    -express installer sees all options now


    Jan 21, 2014 - ElementalX-N5-0.26
    -improve compatibility with various ROMs


    Jan 20, 2014 - ElementalX-N5-0.25
    -remove simple GPU gov
    -update gamma sysfs interface (credit: myfluxi)
    -enable C2 and C3 states
    -maintain touchboost in all ROMs
    -update Aroma Installer to 2.70RC2
    -fix installer cmdline creation
    -fix green line on videos
    -express installer keeps previous max freq, l2 and uv options


    Jan 11, 2014 - ElementalX-N5-0.24
    -slight boost to elementalx governor
    -small boost to l2/bus for touchboost frequency
    -many fixes and optimizations (see github)
    -update installer
    -add DriveDroid support


    Jan 5, 2014 - ElementalX-N5-0.23
    -tweak deadline i/o scheduler
    -slimbus overclock (credit: poondog)
    -implement always on rgb led support (requires rom support)
    -i/o scheduler option in installer
    -express version


    Jan 1, 2014 - ElementalX-N5-0.22
    -update installer
    -doubletap2wake default is bottom of screen only
    -doubletap2wake fullscreen option
    -various tweaks and optimizations


    Dec 30, 2013 - ElementalX-N5-0.21
    -revert some tweaks
    -update installer
    -cfq is default scheduler


    Dec 28, 2013 - ElementalX-N5-0.20
    -move elementalx.conf back to /etc
    -update installer
    -remove async_fsync
    -restore enable/disable fsync option


    Dec 26, 2013 - ElementalX-N5-0.19.1
    -move elementalx.conf to /data/local/elementalx.conf


    Dec 26, 2013 - ElementalX-N5-0.19
    -adjust doubletap2wake sensitivity and return to full screen
    -slight boost to elementalx gov
    -return to older backlight dimmer mod
    -move /etc/elementalx.conf to /sdcard/elementalx.conf
    -option for stock thermal throttling
    -update installer


    Dec 21, 2013 - ElementalX-N5-0.18
    -restrict doubletap to bottom half of screen and make less sensitive
    -elementalx is default CPU governor
    -add gboost option
    -add cooler thermal option
    -various tweaks and optimizations
    -update installer


    ElementalX-N5-0.17
    -fix multirom support
    -default i/o scheduler is FIOPS


    ElementalX-N5-0.16
    -replace backlight dimmer option with @showp1984's backlight mod
    -add asynchronous fsync from HTC One
    -remove fsync options (no longer needed)
    -Makefile adjustments
    -slight adjustments to elementalx governor
    -update gamma control support
    -add kexec-hardboot (multirom support)
    -update installer


    ElementalX-N5-0.15
    -experimental elementalx governor
    -Makefile adjustments


    ElementalX-N5-0.14
    -fix cpu frequencies


    ElementalX-N5-0.13
    -update config


    ElementalX-N5-0.12
    -update for Android 4.4.1
    -various tweaks and optimizations


    ElementalX-N5-0.11
    -various tweaks and optimizations
    -update gamma control interface


    ElementalX-N5-0.10
    -ramdisk options
    -experimental gamma support (@myfluxi and @faux123)
    -adjust Makefile optimizations
    -adjust mpdecision parameters (slightly less aggressive)


    ElementalX-N5-0.9
    -prevent touches during phone calls while screen is off and s2w or dt2w are enabled


    ElementalX-N5-0.8
    -wifi fixes
    -faux123 sound fixes
    -remove some CPU frequencies


    ElementalX-N5-0.7.2
    -update installer for greater compatibility with various ROMs


    ElementalX-N5-0.7.1
    -use existing ramdisk


    ElementalX-N5-0.7
    -add option for sweep2sleep only
    -add option for S2W/DT2W power key toggle


    ElementalX-N5-0.6
    -add doubletap2wake


    ElementalX-N5-0.5
    -add color presets
    -add sweep2wake (thanks @show-p1984)
    -dimmer backlight option
    -increase default screen off frequency to 1190MHz


    ElementalX-N5-0.4.1
    -do not use existing ramdisk


    ElementalX-N5-0.4
    -add CIFS support
    -revert shut down cores while screen off
    -remove early_suspend
    -max screen off frequency optional
    -update installer
    -use existing ramdisk
    -remove ultra optimization
    -add faux123 sound patches


    ElementalX-N5-0.3
    -max screen off freq 730MHz
    -shut down cores while screen off
    -use lowest GPU frequency (200MHz)
    -restore early_suspend
    -simple GPU governor
    -overclocking up to 3GHz


    ElementalX-N5-0.2
    -use Aroma installer
    -installer ensures mpdecision and thermal-engine are present
    -init.d support
    -increase thermal limits
    -add CPU optimization levels
    -CPU overclock to 2726MHz
    -automatic undervolting
    -add TCP congestion algorithm options
    -add fstrim to init script
    -add exfat support
    -Input: Send events one packet at a time
    -cleanup from other kernels
    -wireless bug fixes


    ElementalX-N5-0.1
    -Makefile optimizations
    -optimized AES and SHA1 routines
    -undervolting option
    -add /dev/frandom
    -show pvs number in sysfs
    -NTFS r/w support
    -optimized AES and SHA1 routines
    -add FIOPS and SIO i/o schedulers
    -force fastcharge
    -lib/int_sqrt.c: optimize square root algorithm
    -AIO: Don't plug the I/O queue in do_io_submit()
    -voltage control
    -add option to enable/disable fsync
    -update ARM topology
    -add cpu_power driver
    -enable loadable kernel module support
    -build -O3 with linaro 4.7 toolchain