[KERNEL] [Sep 26] ElementalX-8.3.2 | OC | UV | S2W | DT2W | BLN | Sense 5

18,442 posts
Thanks Meter: 88,074
By flar2, Recognized Developer on 23rd December 2012, 06:25 AM
Post Reply Email Thread

Kernel for Sense-based ROMs

LATEST STABLE RELEASE: ElementalX-8.3.2 (Sept 26, 2013)

* 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!



  • based on HTC Sense 5 Android 4.2.2 source code
  • Aroma installer
  • choose CPU optimization level: vanilla, elementalx, or ultra
  • optimized for extended battery life
  • overclocking options
  • choose max screen off frequency
  • user voltage control
  • choose voltage profile in installer
  • GPU overclocking
  • button light notification
  • sweep2wake
  • doubletap2wake
  • pocket detection (prevents accidental wakes in pocket)
  • /system writable
  • force fastcharge
  • NTFS r/w support
  • exFAT support
  • i/o schedulers: FIOPS (default), SIO
  • option to disable fsync
  • faux sound control support
  • increased refresh rate for HDMI output via MHL adapter
  • optimized -O3 linaro 4.7


Sense 5 Android 4.2.2
mirror: http://www.androidfilehost.com/?fid=23212708291674213

If you experience cell signal drops and reboots, you need the latest firmware and matching radio.

Earlier versions

Previous releases:
ElementalX-JB-v2.5: http://goo.gl/I9DHA

Please hit the Thanks button if you download this

If you really like it, please consider buying me a beer

Actually, I won't spend it on beer. I'm saving it all up to buy my next device

Thanks to those who have donated!


1. Install zip from TWRP Recovery
2. Follow the instructions, if you don't know what to do, use the preselected option
3. Reboot!

S-OFF required!

First boot will take a while. Let it load all the way, then let it settle in for a few minutes, then reboot again.


Q. I installed ElementalX and now I'm stuck in a bootloop
Go to this thread and get S-OFF: http://forum.xda-developers.com/show....php?t=2155071

Q. I installed ElementalX and now my phone is laggy/sdcard is corrupt/camera doesn't work/other random problem not related to the kernel
Please don't fill up my thread with vague complaints. As long as you pick reasonable voltage and frequency settings, this kernel is 100% stable and problem free. I know what I'm doing and I don't do anything to the kernel that will mess up your phone. If you have problems, it's because of something else you've done. If you think you've found a bug with the kernel, please include dmesg output or /proc/last_kmsg

Q. I installed ElementalX and I get random reboots
If the reboots occur when your phone is idle, increase your voltage or increase your max screen off frequency. If the reboots occur while you are using the device, scale back your overclock and/or increase voltage. If all else fails, choose the vanilla option.

Q. What if I am still having problems?

If you are having problems the key to getting help is to provide appropriate detail.

Number 1: Description of your issue

I'm most cases people in this thread will try and help you. The more information, the better chance someone in the thread will be able to help you.

If you can't be helped by one of the experienced ElementalX users it would generally be referred to the dev

Number 2: Details of installation options e.g.

- ElementalX 6.5 Vanilla
- CPU Max: 1.7ghz
- CPU Min: 384mhz
- GPU OC: On
- S2W: On
- fsync: On
- Zram: On

Number 3: Logs, refer to the following details on gathering appropriate logs

In the below example the adb path is c:adb

Open command prompt type cd c:adb

The following two commands can be used to provide logs to help troubleshoot slowdown/freezing issues.

adb shell top -n 1 > c:top.txt

adb shell dmesg > c:dmesg.txt

If you experience a non-user initiated reboot please follow the below steps to provide last_kmesg

* After reboot issue is encountered boot to recovery
* use the file manager to copy /proc/last_kmsg to sdcard/download/
* mount usb and copy it to your computer
* zip it
* post it with details of your issue in this thread.
* restore your nandroid and boot into your last stable config

Special thanks:
zarboz and Sbryan12144 for porting S2W to our device
jrior001 for CPU1 fix
backfromthestorm for fstrim
xHausx and amarullz for installer stuff
anarchychris for FAQ and troubleshooting
tbalden for BLN


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!)

The settings can be changed by editing /etc/elementalx.conf and rebooting. Advanced users can apply settings on the fly by running /etc/init.d/99elementalx as root.

There is no need to edit /etc/init.d/99elementalx. All settings are configured in /etc/elementalx.conf.

If settings are not sticking, make sure the file permissions for /etc/init.d/99elementalx are set to execute. Every time the settings are applied, a log file is created at /data/local/tmp/elementalx-kernel.log. Problems can be diagnosed by looking at the log file.

Please check to see if any /etc/init.d scripts or apps are interfering with your settings If you're on ViperXL, make sure your settings in Venom Tweaks are the same as the ones in /etc/elementalx.conf (for example, sweep2wake settings)

Kernel Tuner
You don't need Kernel Tuner because the ElementalX installer sets everything up automatically, but if you want to check or change settings, Kernel Tuner is recommended. Just be aware that Kernel Tuner is set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.

Venom Tweaks force close
If Venom Tweaks closes when you try to access the CPU tab, go to Settings->Apps->Venom Tweaks and push the Clear Data button. This should fix the problem.

CPU Optimization
Vanilla: stock voltages, stock l2 cache frequency, stock bus bandwidth
ElementlaX: increases l2 cache frequency and bus bandwidth, allows you to choose voltage level in installer
Ultra: increases l2 cache frequency and bus bandwidth even more. May cause instability, please test thoroughly for stability if you use this option.

Overclocking (underclocking) is optional. Whatever frequency you chose in the installer will be set at boot for both CPUs. Frequencies can be changed any time using apps like No Frills or Kernel Tuner. WARNING: not all devices can handle overclocking. The stock maximum CPU frequency is 1.5GHz. In versions of the kernel prior to 6.4, the frequencies were labeled wrong so you won't be able to overclock as high with version 6.4+.

CPU voltages
CPU voltages can be changed with Venom Tweaks, Kernel Tuner or System Tuner. Be careful, lowering voltages could cause instability. If you have stability problems even at the highest voltages, try the vanilla version

Minimum CPU frequency
Sets the minimum CPU scaling frequency. 192MHz is the recommended default and should work fine on the vast majority of devices. The 384MHz option is available for devices that experience random reboots while the device is idle. It is recommended that you try increasing the minimum voltage by 25mV before changing the minimum CPU frequency.

Max screen off frequency
This sets the highest CPU frequency available while the screen is off. It is recommended to disable this for stability. Also, do not set this to 192MHz or 384MHz, as many devices experience random reboots at these frequencies. The default is 486MHz, which should be safe for most devices. If you experience random reboots while the device is asleep, set this to a higher frequency. This setting can be changed in /etc/elementalx.conf or using an app like Venom Tweaks.

GPU frequencies
3D GPU: 480 (overclocked) or 400 (stock)
2D GPU: 266 (overclocked) or 200 (stock)

Intellidemand is the default CPU governor. There are other governors included, however, intellidemend is recommended for best balance of battery life and performance.

Installing a new ROM
If you install a new ROM, it will overwrite /etc/init.d/99elementalx and /etc/elementalx.conf. The kernel will run perfectly fine without these files, but you will lose your settings and certain features.

Sweep2wake (S2W) allows you to wake up your device by swiping your finger across the capacitive buttons from left to right. Swiping from right to left will put it back to sleep (sweep2sleep). There are now options for sweep2wake/sweep2sleep, sweep2sleep only, and disabled. If you use ViperXL, make sure to enable sweep2wake in Venom Tweaks.


1=enable sweep2wake + sweep2sleep
2=enable sweep2sleep only

DoubleTap2Wake (DT2W) allows you to wake the device by double tapping in the bottom inch or so of the screen, including the capacitive buttons. You can edit /etc/elementalx.conf to change the setting on boot.


1=enable doubletap2wake

Pocket Detection
Pocket detection protects against accidental wakes while S2W, DT2W or L2W are enabled and the phone is in your pocket. Pocket detection uses the proximity sensor. A few people have a problem with their proximity sensor that makes DT2W not work, so I've made an option to disable pocket detection. You can edit /etc/elementalx.conf to change the setting on boot.


1=enable pocket detection

Button Light Notification
With Button Light Notification (BLN), the capacitive buttons will blink on and off when you have a new notification. As soon as the screen comes on, BLN is canceled and the lights will no longer blink until you have another notification. Please note that if you have your screen set to turn on when a message arrives, you will not see the buttons blinking because once the screen comes on, the button light notification is canceled. You can edit /etc/elementalx.conf to change the setting on boot.


0 = disabled
1 = BLN enabled

What is zRam
zRam creates a compressed block device in RAM that is used as swap. Although it claims some of your RAM as swap, everything written to swap is compressed. This increases the apparent memory available to the system and helps with multitasking. Swap files on disk are very slow, but with zRam the swap is on RAM so it can be read as quickly as regular memory. Even though the data need to be decompressed, modern CPUs can decompress quicker than if it had to be to read from disk. The penalty is cpu usage, which could drain battery; however, this is likely negligable in daily use. I didn't enable this by default because not everyone will want it. This is for heavy multitaskers and will allow you to quickly switch between more apps and have more tabs open in your browser without refreshes.

zRam is disabled by default. If you want to enable it, edit /etc/elementalx.conf
change ZRAM=0 to ZRAM=1 and reboot.

You can check if zRam is working by typing the command "free" into the terminal. You should see the total used and free swap. If these are all 0, then zRam is not enabled. Please ensure that other apps are not changing your minfrees, zRam works best with low minfrees and high swappiness.

NTFS support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS filesystem. You will need Stickmount or a similar app, HTC Sense+ won't detect NTFS.

Enable/disable fsync
Disabling fsync can increase filesystem performance. However, there is a small risk of data loss if the system suddenly crashes. If you can't afford to lose data, keep fsync enabled. Many custom kernel disable fsync, I leave it enabled by default for safety reasons.

XBox controller support
There is an experimental module that supports XBox gamepads, however, some people have reported that it draws too much power and doesn't work. I've suggested trying a powered USB hub, but still not sure if it works.



Sept 26, 2013 - ElementalX-8.3.2
-fix fsync setting
-fix BLN setting
-battery saving and speed tweaks

Sept 22, 2013 - ElementalX-8.2
-compile with linaro 4.7
-fix touches registering during calls with sweep2wake
-update installer
-start fresh with HTC 4.2.2 source
-remove zram
-remove 192 min freq
-default governor is ondemand
-default i/o scheduler is fiops

August 18, 2013 - ElementalX-7.0.2
-fix installer
-fix init.d support

August 17, 2013 - ElementalX-7.0.1
-fix installer

August 16, 2013 - ElementalX-7.0
-remove OTG whitelist to enable more devices
-build with Linaro 4.8
-add TCP congestion control algorithms
-enable Netfilter XT target log support
-update installer

May 26, 2013 - ElementalX-6.7
-dt2w works with buttons
-no pocket detection when screen is on
-fix fm radio
-revert autogroup: group by current UID

May 17, 2013 - ElementalX-6.6
-add DoubleTap2Wake (DT2W)
-add button light notification (BLN)
-enable/disable pocket detection
-pocket detection (prevent accidental wakes with s2w and dt2w)
-enable/disable s2w and dt2w separately
-add faux sound control support (untested)
-other minor tweaks and fixes

April 5, 2013 - ElementalX-6.5
-modification to work with SD Manager in ViperXL 3.2.7

April 5, 2013 - ElementalX-6.4
-correct oc frequencies
-adjust l2 cache frequencies
-gpu overclock frequencies now 480 3D and 266 2D
-fix max screen off limit
-various patches from Linaro and CAF
-WiFi module fix (thanks thicklizard)
-avoid loadavg moire
-enable automatic process group scheduling
-max screen off frequency can be disabled

March 13, 2013 - ElementalX-5.4
-optimized build compiled with -O3
-linaro 4.6.3 -> linaro 4.7.3
-force ac for unknown chargers

March 10, 2013 - ElementalX-5.3
-re-add use glibc memcpy
-re-add use glibc string
-adjust dirty_background_ratio = 10
-adjust vm_dirty_ratio = 20
-revert fudgeswap
-revert minfree stats
-tweak clock settings
-add /dev/frandom
-add force fastcharge

March 3, 2013 - ElementalX-5.2
-review and clean up code

March 1, 2013 - ElementalX-5.1RC
-tweak GPU settings
-change installer defaults
-made sure that if you flash boot.img in fastboot you get vanilla version

February 26, 2013 - ElementalX-5.0.6-beta
-add another CPU optimization setting (Ultra)
-switch do_fsync() to fget_light()
-adjust readahead to 2048
-tweak GPU clock settings

February 24, 2013 - ElementalX-5.0.5-beta
-updated aroma installer
-CPU optimization options: Vanilla or ElementalX
-zram enabled by default
-small tweaks to GPU settings
-fstrim at boot

February 23, 2013 - ElementalX-5.0.4-beta
-dual zram
-use zcache instead of qcache
-use zsmalloc instead of zxmalloc
-CPU1 governor can be set independently
-set max screen off frequency
-choose 192 or 384 minimum CPU frequency
-update cpupower according to cpu load

February 21, 2013 - ElementalX-5.0
-fix installer conflicts
-option to install new ElementalX bootsplash
-option to install HTC bootsplash

February 19, 2013 - ElementalX-v4.5beta
-default i/o scheduler is now ROW
-add fix for crash when wp_mod.ko loaded
-add fudgeswap
-disable gentle fair sleepers
-xz kernel compression

February 17, 2013 - ElementalX-v4.4beta
-add lionheart, badass governor
-add row i/o scheduler
-adjust l2 cache frequencies
-re-add 200MHz step for 2d GPU (ElementalX-v4.4beta only)
-remove smartassv2 (broken)

February 16, 2013 - ElementalX-v4.3beta
-based on HTC source code 3.17
-overclock to 2.1GHz
-minimum frequency 192MHz
-optional overclock GPU
-full voltage control
-enable/disable fsync
-intellidemand default governor
-fiops default scheduler
-add sweep2wake
-add zRam with snappy compression
-init.d support
-ntfs r/w support
-fix HDMI refresh rate

February 3, 2013 - ElementalX-JB-v2.5
-added 384 MHz frequency step when selecting 192MHz as min frequency (needed because CPU1 will not stay at 192MHz)
-adjustments to init script
-option to install extra governors (lionheart, lagfree, interactivex2, and badass)

January 26, 2013 - ElementalX-JB-v2.2
-choose minimum CPU frequency (192MHz or 384MHz)
-option to leave minimum voltage at default
-optimized CPU control module, now reads PVS efuse and sets appropriate voltage levels
-streamlined options and config file
-optional XBox controller support

January 21, 2013 - ElementalX-JB-v2.1
-Option to completely disable overclocking/undervolting
-If overclocking, choose between optimization for stability or performance
-stability option does not increase L2 cache frequency and bus bandwidth

January 20, 2013 - ElementalX-JB-v2.0
-added intellidemand governor (default)
-added fiops i/o scheduler (default)
-optional zram with snappy compression
-optional ntfs r/w support
-select minimum voltage (800, 825, 850, 875, or 900mV)
-added 1134 and 1242 MHz underclocking options
-increased bus bandwidth
-many changes to installer and configuration files

January 14, 2013 - ElementalX-JB-v1.5
-minor fixes to init script

January 12, 2013 - ElementalX-JB-v1.4
-fix low 3D GPU setting
-undervolt option now undervolts 384MHz frequency step to 800mV
-boost L2 cache frequency for extra performance
-increase readahead buffer to 4096

January 8, 2013 - ElementalX-JB-v1.3
-added voltage options

January 2, 2013 - ElementalX-JB-v1.2
-removed 1998MHz frequency step
-added 1647MHz frequency step
-increased voltages slightly for stability
-added option to install without boot.img

January 1, 2013 - ElementalX-JB-v1.1
-minor tweaks to install method
-adjust lowmemorykiller

December 31, 2012 - ElementalX-JB-v1.0beta
-same max freq for both CPUs

December 29, 2012 - ElementalX-JB-v0.4alpha
-new overclocking method
-more frequency choices, underclock or overclock
-option for completely stock CPU
-increased overclock voltages

December 28, 2012 - ElementalX-JB-v0.3alpha
-enable system write

December 24, 2012 - ElementalX-JB-v0.2alpha
-overclock to 1998MHz


XDA:DevDB Information
ElementalX-8.3.2 | OC | UV | S2W | DT2W | BLN | Sense 5, a Kernel for the AT&T HTC One X

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 8.3.2
Stable Release Date: 2013-09-26

Created 2013-09-23
Last Updated 2013-11-04
The Following 191 Users Say Thank You to flar2 For This Useful Post: [ View ]
23rd December 2012, 06:28 AM |#3  
xGIBRALTERx's Avatar
Senior Member
Thanks Meter: 30
Originally Posted by flar2

Kernel for Sense-based Jelly Bean ROMs

LATEST VERSION: ElementalX-JB-v0.1alpha (December 23, 2012)

* 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!

WARNING: This is an alpha build. For testing purposes only!!

I will add more features and get things working properly later.


ElementalX-JB-v0.1alpha: http://goo.gl/24bdo


Install from TWRP recovery

init.d not starting at the moment, so execute /etc/init.d/40overclock as root


1. I will be away for the next week and a half, so progress will be slow, otherwise I'd have things going right away

2. CPU Spy doesn't show the real frequency

3. I can't wait to add more stuff

4. New stuff will be: min frequency 192MHz, Intellidemand, Zram, NTFS support

Thank you
The Following 13 Users Say Thank You to xGIBRALTERx For This Useful Post: [ View ] Gift xGIBRALTERx Ad-Free
23rd December 2012, 06:48 AM |#4  
HTC_Phone's Avatar
Senior Member
Flag Kansas City
Thanks Meter: 1,845
Dang. Great work! Can't wait til this is stable with all the features. If you need help let me know!
The Following 2 Users Say Thank You to HTC_Phone For This Useful Post: [ View ] Gift HTC_Phone Ad-Free
23rd December 2012, 06:57 AM |#5  
mirGantrophy's Avatar
Senior Member
Thanks Meter: 1,432
Does this happen to bypass the write protection on /system?
23rd December 2012, 07:02 AM |#6  
Originally Posted by absolutelygrim

Does this happen to bypass the write protection on /system?


I don't have the source, all I can do is add modules. I don't know if wp can be disabled using a module. I'll look into it next week when I'm back from Christmas holidays. Starting tomorrow, I'll be away from any decent computer.

UPDATE: Yes, this does bypass write protection
The Following 2 Users Say Thank You to flar2 For This Useful Post: [ View ]
23rd December 2012, 07:13 AM |#7  
Inactive Recognized Developer
Flag Sydney
Thanks Meter: 657
Originally Posted by flar2


I don't have the source, all I can do is add modules. I don't know if wp can be disabled using a module. I'll look into it next week when I'm back from Christmas holidays. Starting tomorrow, I'll be away from any decent computer.

Well, looks like we have to get you a decent laptop don't we? :L

Sent from my HTC One XL using Tapatalk 2
23rd December 2012, 08:42 AM |#8  
Senior Member
Thanks Meter: 40
Anyone know if this works on newts Rom or a jb Rom I could flash that this works on?
23rd December 2012, 08:44 AM |#9  
xGIBRALTERx's Avatar
Senior Member
Thanks Meter: 30
Originally Posted by WhatTheAndroid?

Anyone know if this works on newts Rom or a jb Rom I could flash that this works on?

It would work on any jelly bean sense rom
The Following User Says Thank You to xGIBRALTERx For This Useful Post: [ View ] Gift xGIBRALTERx Ad-Free
23rd December 2012, 08:45 AM |#10  
Senior Member
Thanks Meter: 40
23rd December 2012, 12:10 PM |#11  
mlaws90's Avatar
Senior Member
Flag Chicago, IL
Thanks Meter: 2,205
How do we know if it installed properly, I didn't check the kernel name before the flash but it looks stock. Is this correct, and as you said apps are not showing the over clock.

I got a 6475 with no OC, forgot to do Antutu.

With the kernel I got: 6189 (I know quadrant can be inaccurate)
Antutu: 11659

Sent from my HTC One XL using Tapatalk 2

EDIT: Got scores in the 7000's after some tweaking.
Post Reply Subscribe to Thread


Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes