Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,781,370 Members 37,050 Now Online
XDA Developers Android and Mobile Development Forum
Announcement from flar2: Version 1.02 is out!

[KERNEL] [Aug 8] [Sense] [GPE] ElementalX 1.02

Tip us?
flar2's Avatar
Recognized Developer - OP
Thanks Meter 25,796
Posts: 5,203
Join Date: Jun 2012
Location: Ottawa

Default [KERNEL] [Aug 8] [Sense] [GPE] ElementalX 1.02

Kernel for HTC One (m8) Sense and Google Play Edition
(Not for Sprint or Verizon)

  • Easy installation with Aroma installer
  • overclocking
  • gboost for enhanced gaming performance
  • choose voltage profile in installer
  • full user voltage control
  • underclock CPU or GPU
  • i/o schedulers: FIOPS, SIO, CFQ, NOOP, ROW, deadline
  • optional sweep2sleep
  • optional custom wake gestures (no motion required!)
  • optional pocket detection (with custom wake gestures)
  • option to disable volume button wakes camera (with custom wake gestures)
  • High Definition Audio capability
  • optional USB fastcharge
  • option to reduce vibration strength
  • remove /system write protection
  • NTFS r/w, CIFS, exFAT support
  • option to disable fsync
  • option to disable magnetic cover
  • /dev/frandom support
  • color control
  • DriveDroid support
  • optimized -O3 linaro 4.9.1


1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the preselected options
3. Reboot

It is recommended to disable or increase the screen timeout in TWRP recovery. If the screen timeout is enabled in TWRP, there may be a black screen after exiting the Aroma installer. This is nothing to worry about. Simply hold power and volume down until it reboots. The installation will be fine.

Please consider a donation to support ongoing development
Many thanks to those who have donated!

Special thanks to @jonas2295 for the ElementalX logo


NOTE: Custom wake gestures are a WIP. If you have problems with the proximity sensor, reinstall with stock gestures option

Sense (4.4.3 - 2.22 base only):

Sense (4.4.2):

GPE (4.4.4)

GPE (4.4.3)

GPE (4.4.2):

Previous Versions:



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.

Overclocking is optional. The installer lets you choose the maximum frequency. 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: stock, -15mV, -30mV, or -45mV. This only undervolts the lowest frequency, which happens to be the frequency used the most, and this is safer. Be careful, lowering voltages can cause instability.

gboost enhances gaming performance by giving a slight boost to cpu frequencies when the graphics load is high (e.g. while gaming). It should have no effect on battery life during regular usage, so it's safe to leave it enabled all the time.

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.

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.

Sweep2sleep allows you to put your device to sleep by swiping right to left across the bottom of the screen where the back, home, recent buttons are. I find this useful since the stock motion gestures do not provide a good way to turn off the screen.


0= disabled
1= sweep2sleep right enabled
2= sweep2sleep left enabled
3= sweep2sleep left and right 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 1100ma. 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.

Wake Gestures

There are three modes
  • Mode 1: Stock Motion Launch Gestures
    For stock motion launch gestures, /sys/android_touch/wake_gestures, /sys/android_touch/sweep2wake and /sys/android_touch/doubletap2wake must all be set to 0. Enabling any of these overrides the stock gestures. Obviously Motion Launch Gestures must be enabled in the system settings.

  • Mode 2: Remove motion requirement
    For this, you must set /sys/android_touch/wake_gestures to 1 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake and Motion Launch Gestures must be enabled in system settings. In this mode, when you sweep or doubletap, the appropriate input events are generated and acted upon the EasyAccessService (i.e., the system app that handles gesture actions).

  • Mode 3: Traditional S2W/DT2W
    In this mode, wake gestures and actions are handled entirely by the kernel. The gestures will turn on the screen and that's it. For this, you must set /sys/android_touch/wake_gestures to 0 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake. It doesn't matter if Motion Launch Gestures is enabled or disabled in system settings, the gestures don't interact with it in this mode.


For modes 2 and 3, there are several options.
  • Sweep2Wake

    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)

  • DoubleTap2wake

    Set /sys/android_touch/doubletap2wake to 1 to enable DT2W, and set to 0 to disable it.

  • Pocket Detection

    Set /sys/android_touch/pocket_detect to 1 to enable pocket detection, and set to 0 to disable it. Pocket detection is experimental right now, I'd say it's about 90% functional, but there is an occasional bug where it either doesn't work or works too well.

  • 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 60. Default is 20, which is the same vibration as the stock gestures. Setting this to 0 disables haptic feedback.


.................................................. ...

XDA:DevDB Information
ElementalX-m8, Kernel for the HTC One (M8)

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 1.02
Stable Release Date: 2014-08-08

Created 2014-04-04
Last Updated 2014-08-08
The Following 162 Users Say Thank You to flar2 For This Useful Post: [ Click to Expand ]
(Last edited by flar2; 9th August 2014 at 04:19 AM.)
flar2's Avatar
Recognized Developer - OP
Thanks Meter 25,796
Posts: 5,203
Join Date: Jun 2012
Location: Ottawa


Aug 8, 2014: ElementalX-m8-1.02
-update fauxsound drivers

Aug 3, 2014: ElementalX-m8-1.01-Sense
-update installer

Aug 3, 2014: ElementalX-m8-1.01-GPE
-update HTC source code for GPE 4.4.4
-update installer
-fix touch driver not loading

July 27, 2014: ElementalX-m8-1.00-Sense
-update to latest HTC source code
-fix CIFS support
-compatibility with ElementalX Kernel app
-add vibration setting to elementalx.conf

June 20, 2014: ElementalX-m8-0.19
-lz4 compression
-stereo call recording support
-security updates
-various tweaks and optimizations
-custom Venom Tweaks support
-wake gestures: compatibility with Dot View Case

June 3, 2014: ElementalX-m8-1.00-GPE
-update for GPE Android 4.4.3

May 25, 2014: ElementalX-m8-0.18
-add proximity enabled flag
-adjust sensor initialization

May 24, 2014: ElementalX-m8-0.17
-O3 optimization
-allow more time for sensor initialization
-adjust gesture algorithm to better prevent accidental sweeps
-added some debugging messages for proximity detector (Sense version only)

May 19, 2014: ElementalX-m8-0.16
-build with Linaro GCC 4.9.1 toolchain (@Christopher83)
-boot delay for custom wake gestures
-GPE version added

May 13, 2014: ElementalX-m8-0.15
-option to disable volume buttons launch camera in landscape

May 12, 2014: ElementalX-m8-0.14
-fix custom gestures in dot view mode
-improvements to pocket detection
-fix startup of mcu
-update installer

May 9, 2014: ElementalX-m8-0.13
-fix vibrations during phone calls when wake gestures enabled
-fix proximity sensor not working properly during calls
-fix wake gestures not working with certain firmware
-update installer

May 7, 2014: ElementalX-m8-0.12
-update slimbus oc (poondog/zeroinfinity)
-fix installer (incorrect vibration setting)

May 7, 2014: ElementalX-m8-0.11
-add wake gestures
-add sweep2sleep options
-update installer

April 29, 2014: ElementalX-m8-0.10
-enable high definition audio
-remove hardfloat flag
-add GPU governor option
-add GPU underclocking
-update installer (thanks @jonas2295 for the new splash!)

April 20, 2014: ElementalX-m8-0.9
-update installer
-adjust voltages
-add underclocking
-add option to disable magnetic cover sensor
-reduce logspam
-fix pvs readout

April 14, 2014: ElementalX-m8-0.8
-update installer
-adjust oc voltages
-change undervolting
-add voltage control (thanks @myfluxi)

April 13, 2014: ElementalX-m8-0.7
-update installer
-add gboost
-bump oc voltages

April 12, 2014: ElementalX-m8-0.6
-update to HTC 1.54 kernel source
-add option for reduced button vibration
-add faux123 sound support
-use custom dt.img

April 10, 2014: ElementalX-m8-0.5
-add max screen off frequency (default 1090MHz)
-fix overclocking and adjust voltages
-add more overclocking steps
-add thermal options

April 6, 2014: ElementalX-m8-0.4
-update ramdisk
-update installer
-revert some changes so stock modules will load
-show pvs bin in sysfs
-exfat working (uses stock texfat module)
-remove F2FS support
-use stock wifi module
-add CIFS and NTFS support
-add PS3 controller support
-tcp congestion control options
-add DriveDroid support

April 5, 2014: ElementalX-m8-0.3
-add Aroma installer
-undervolting options

April 4, 2014: ElementalX-m8-0.2
-Fastcharge for HTC One m8
-LCD_KCAL Colour Control for m8
-exFAT support
-FS: import F2FS
-fix for app-mounted directories
-DRIVERS: SLIMBUS: initial overclocking

April 4, 2014: ElementalX-m8-0.1
-Add fsync disable option
-Add pronto wlan driver
-Add sweep2sleep
-usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs
-ARM CPU Topology and cpu_power driver
-allow moc-crypto modules to load
-Add SIO and FIOPS i/o schedulers
-Add /dev/frandom support
-Initial Commit: HTC Source g278eae8
The Following 44 Users Say Thank You to flar2 For This Useful Post: [ Click to Expand ]
flar2's Avatar
Recognized Developer - OP
Thanks Meter 25,796
Posts: 5,203
Join Date: Jun 2012
Location: Ottawa

Default Reserved

The Following 12 Users Say Thank You to flar2 For This Useful Post: [ Click to Expand ]
Hogyoku's Avatar
Senior Member
Thanks Meter 40
Posts: 157
Join Date: May 2011
Location: Manchester
Running smoothly so far !

Sent from my HTC One_M8 using XDA Premium 4 mobile app
Attached Thumbnails
Click image for larger version

Name:	1396603843865.jpg
Views:	5573
Size:	94.8 KB
ID:	2667674  

64GB SandStone Black
I'm not lazy, Iím energy efficient
[Past devices]
> Galaxy tab, BB PlayBook, Galaxy tab 2 7.0, Galaxy tab 8.9, Asus transformer Tf 300t + dock, Ipad mini, Galaxy note, Galaxy s player 5, BB Curve 8520 + 9320, Galaxy s, Nokia e71 ,Nokia Lumia 700, Samsung galaxy nexus, HTC one x, Google lg nexus 4, Oppo Find 5, Google nexus 7, Xperia Z Ultra, Microsoft surface RT, Oppo N1, Nexus 5, HTC M8, [Current devices] > Nexus 7 2013 Xperia Z2 Oneplus One , <
kenny17430's Avatar
Thanks Meter 68
Posts: 89
Join Date: May 2010
Location: Paris
Would be nice to have the ability to set the vibration strengh as it is too strong at the moment ... thanks
Iphone 3G => HTC Desire => SGS2 =>Lumia 800 => SGS3 => HTC one X => Nexus 4 => HTC one => Iphone 5 & LG G2
jaythenut's Avatar
Senior Member
Thanks Meter 1,496
Posts: 5,126
Join Date: Sep 2012
Smooth as silk thanks for your work
robt772000's Avatar
Senior Member
Thanks Meter 60
Posts: 520
Join Date: Mar 2010
Yeah I'm excited. M7 to M8!
N1 to SGS2 to SGN to HOX T3 to G1 Dev ed. grey Lumia 920 to yellow 920 back to N1 then a Sony Xperia Z via a Mozart and now a black and a silver M7 and now a Nexus 4 and a HD2 running WP7.8 and then a Note 3 back to a silver 64gb HTC One M7 and now HTC One M8 and now a Sony Xperia Z2 back to a 32gb M8 and now a G watch with an LG G3.
Senior Member
Thanks Meter 25
Posts: 286
Join Date: Nov 2010
Location: Adelaide
Thanks! Downloading now!!!
pro4ever's Avatar
Senior Member
Thanks Meter 13
Posts: 242
Join Date: Jan 2012
tnx all smooth
Senior Member
Thanks Meter 111
Posts: 481
Join Date: Dec 2011
Possible to lower headphone volume/gain?

The Following User Says Thank You to ryanjsoo For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes