Kernel for Nexus 7 (2013)
FAST • STABLE • FULL-FEATURED
Works with flo (wifi only) and deb (lte version)
Please consider a donation to support ongoing development
Special thanks to @jonas2295 for the ElementalX logo
NOTE: Do not flash over other custom kernels. If you have a different custom kernel installed, reflash your ROM first before installing this.
Wake Gestures Xposed module
DVB modules for ElementalX-N7-1.8: http://goo.im/devs/flar2/Nexus7/Elem...VB_Modules.zip
1. If you have another custom kernel installed, reflash your ROM to ensure you have the kernel that came with your ROM installed.
2. Install zip from recovery
3. Follow the instructions, if you don't know what to do, use the preselected options
* Standard disclaimer: * Your warranty is now void. Use at your own risk. * In other words: It is your choice to use this software, * I am not responsible for any damage or problems you may have!
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 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.
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. Disabling gboost can increase battery life, but there may be a loss of performance, especially during gaming.
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 (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. The stock maximum CPU frequency is 1512MHz. I recommend a mild overclock, like 1728MHz for daily use. Clocking higher creates heat and wastes battery for very little performance gain.
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (384MHz) 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. The minimum voltage allowed is 700mV.
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 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 1026MHz, 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.
There are two modes: stock and overclocking. If you pick stock GPU freq (400MHz) you won't be able to overclock. Conversely, if you pick one of the overclocking frequencies, you won't be able to use the stock 400MHz frequency. You have to reflash if you want to change this.
These are the frequencies I've added: 450, 477, 490.5, 504, 531, 558, and 585
If you're in overclock mode, you change these on the fly with TricksterMod. I don't recommend 558+ for daily use. Too hot and probably unstable for most.
USB host mode charging
I've added a hack to allow usb host mode charging. Since not that many people are going to be using this, it needs to be enabled manually. This will allow you to charge the tablet while a USB peripheral is hooked up to the OTG cable.
To use it, change /sys/module/msm_otg/parameters/usbhost_charge_mode to 1.
You need a Y-cable and OTG adapter. This will be handy for people who use their tablet in the car and need to keep it charged.
First connect the Y-cable to your OTG adapter and a power source, then attach a USB peripheral. Finally, plug the OTG adapter into the tablet. Both the tablet and the peripheral will be powered by the Y-cable, allowing the tablet to charge
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires the following Xposed module:
Wake Gestures: http://forum.xda-developers.com/xpos...-v1-0-t2768266
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 Gestures Xposed module.
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
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)
Enabling this makes sweep2wake work with a shorter sweep distance. You can edit /etc/elementalx.conf to change the setting on boot.
0 = disabled
1 = *enabled
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. *You can edit /etc/elementalx.conf to change the setting on boot.
Still needs some tweaking!
0 = disabled
1 = *enabled
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.
Enable/disable Magnetic on/off
This setting allows you to enable or disable the magnetic on/off switch used by some cases. * You can edit /etc/elementalx.conf to change the setting on boot.
0 = disabled
1 = *enabled
-Added kali pwn support (includes several wifi dongles, eg: rtl8187l) UNTESTED!
-Added support for USB infrared devices UNTESTED!
-revert the one change I made to wifi drivers to see if it helps the few people with connectivity problems
-adjustments to msm-sleeper
-latest updates to fauxsound
-support Logitech Unifying Receiver
-security updates and fixes
-ElementalX app compatibility
-support forced touch firmware update
-update with Android 4.4.3 kernel source
-fix sweep2sleep not working if s2w is disabled
-Wake Timeout: disable screen wake functions after specified period of time
-Logitech Unifying Receiver: upstream update
-Wake Gestures: add interface
-GPU: add optimization flags to GPU driver
-mm: slub: Default slub_max_order to 0
-lz4: faster boot-up process.
-DRIVERS: SLIMBUS: slimbus enhancements
-build with Linaro GCC 4.9.1
-option for ondemand CPU governor
-fix init.d running twice on certain ROMs
-default backlight_dimmer value is 4
-fix installer not enabling fastcharge
-make gamma control optional
-fix backlight dimmer always enabled
-add more OTG compatibility to ramdisk
-make backlight dimmer configurable
-add Sierra wireless support
-fix magnetic cover option error
-add readahead size option
-add backlight dimmer option
-update elementalx governor
-add gamma control (faux123)
-add f2fs support
-add Sierra modem support
January 5, 2014 - ElementalX-N7-2.6
-deadline is default i/o scheduler
-tweak deadline i/o scheduler
-add row i/o scheduler
-add slimbus oc (credit: @ZeroInfinity and @poondog)
-add i/o scheduler option to installer
-revert asynchronous fsync
-restore disable fsync option
-tweaks to elementalx governor
January 1, 2014 - ElementalX-N7-2.5
-adjust shortsweep distance
-cfq is default i/o scheduler
-various tweaks and optimizations
December 22, 2013 - ElementalX-N7-2.4
-add asynchronous fsync from HTC One
-remove fsync options (no longer needed)
-add elementalx governor
-add gboost option
-various tweaks and optimizations
-color control (credit: faux123)
December 7, 2013 - ElementalX-N7-2.3
-update for Android 4.4.1
-various tweaks and optimizations
November 26, 2013 - ElementalX-N7-2.2
-option to disable s2w/dt2w when magnetic cover is used
November 23, 2013 - ElementalX-N7-2.1
-fix CIFS support
-add intellidemand CPU governor
-remove ultra cpu setting
-max screen off frequency (1026MHz default)
November 21, 2013 - ElementalX-N7-2.0
-support Android 4.4 (kitkat)
October 14, 2013 - ElementalX-N7-1.8
-fix-up for kexec-hardboot (multirom)
-aroma option for battery life extender
-3G USB modem drivers (built-in)
October 11, 2013 - ElementalX-N7-1.7
-update config files
-add S2W power key suspend toggle
-add options to disable sweep2sleep in portrait or landscape mode
-show pvs number in sysfs
-add DVB support (requires modules add-on, coming soon)
-remove 128MHz GPU step and idle at 200MHz step
-add battery life extender (thanks tni_andro)
-boost CPU frequency only for touch input
-adjust bus bandwidth
September 26, 2013 - ElementalX-flo-1.6
-battery guage enhancements (thanks @tni.andro )
-adjust GPU frequencies
-kexec-hardboot patch (thanks @Tasssadar )
September 21, 2013 - ElementalX-flo-1.5
-option to allow usb host mode charging
-add more GPU overclock frequencies
-latest googlesource update
-update freezer and cpuidle
September 10, 2013 - ElementalX-flo-1.4
-add option to enable/disable fsync
-AIO: Don't plug the I/O queue in do_io_submit()
-add fstrim to init script
September 6, 2013 - ElementalX-flo-1.3
-add loadable kernel module support
-add exFAT filesystem support
-fix CIFS support
August 26, 2013 - ElementalX-flo-1.2
-add faux sound support
August 23, 2013 - ElementalX-flo-1.1
-update touch firmware to A042
-disable pack feature for Hynix part
-fix lower voltage limit
August 17, 2013 - ElementalX-flo-1.0
-add thermal options
-clean up code
August 13, 2013 - ElementalX-flo-0.10
-kernel-based thermal control
August 12, 2013 - ElementalX-flo-0.9
-suppress multiple touches in s2w
August 10, 2013 - ElementalX-flo-0.8
-adjust Makefile options
-fiops is default i/o scheduler
-cleanup from other kernels
-add shortsweep setting
-option to disable magnetic on/off
August 8, 2013 - ElementalX-flo-0.7
-make doubletap2wake a little easier
-remove some debugging stuff
-installer ensures mpdecision and thermald are present
August 7, 2013 - ElementalX-flo-0.6.1
-installer adds init.d and mount support to ramdisk if necessary
August 7, 2013 - ElementalX-flo-0.6
-make sweep2sleep work on all edges
-make sweep2wake work in any direction
-fix installer typo forcing 1728 on CPU 1,2,3
-remove GPU 533MHz option
August 6, 2013 - ElementalX-flo-0.5
-build with linaro 4.8 toolchain
-add GPU overclock to 533MHz
-fix for app-mounted directories (thanks @mkasick)
-s2w works anywhere on screen when screen is off (still left to right only)
August 5, 2013 - ElementalX-flo-0.4
-increase thermal limits
-fix frequencies stuck at 1512
August 4, 2013 - ElementalX-flo-0.3
-add TCP congestion control algorithms
-add CPU optimization levels
-add more overclocking options
-fix automatic undervolting
-option to overclock GPU (487MHz)
-update ARM topology
-add cpu_power driver
-use ramdisk from ROM
August 2, 2013 - ElementalX-flo-0.2
-max screen off frequency 702MHz
-adjust simple gpu governor
-simple GPU governor installer option
-add simple GPU governor (faux123)
-use Google Android toolchain 4.6
-slight boost to L2 freq
-add TCP congestion algorithm options
-hsic wakelock tweak
-CPU overclock to 2052MHz
-optimized AES and SHA1 routines
-lower possible voltage to 700
-optional graphics overclock
-ntfs r/w support
-fast rcu nohz
-add FIOPS and SIO i/o schedulers
August 1, 2013 - ElementalX-flo-0.1
[FLO/DEB] ElementalX, Kernel for the Nexus 7 (2013)
Kernel Special Features:
Current Stable Version: 2.15
Stable Release Date: 2014-09-06
Last Updated 2014-10-12