Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[KERNEL] ElementalX-m7-Sprint-13.1

OP flar2

25th May 2013, 11:34 PM   |  #1  
flar2's Avatar
OP Recognized Developer
Flag Ottawa
Thanks Meter: 30,678
 
6,106 posts
Join Date:Joined: Jun 2012
Donate to Me
More

Kernel for Sense-based Jelly Bean ROMs


FAST STABLE FULL-FEATURED




Quote:

ElementalX brings the best performance and battery life on the HTC One. Stable and full-featured, you get complete control over your phone. The only kernel that offers GPU overclocking, individual control of all CPU cores without third party apps, automatic undervolting options, full compatibility with paid apps, thermal options, fully working sweep2wake, doubletap2wake and pocket detection to prevent accidental wakes. Other features include button light notification, 60Hz refresh rate for HDMI, HTC logo as menu button, sleep/wake with long press of the HTC logo, support for many gamepads and more.







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



Quote:

FEATURES:

  • based on HTC Jelly Bean source code
  • Aroma installer
  • optimized for extended battery life
  • overclocking/underclocking options
  • select independent frequencies for each core
  • user voltage control
  • optional GPU overclocking
  • choose undervolting levels
  • kernel based thermal control
  • thermal options
  • sweep2wake
  • doubletap2wake
  • logo2wake
  • pocket detection
  • logo2menu
  • button light notification
  • powersave mode works
  • /system writable
  • init.d support
  • force fastcharge
  • NTFS r/w support
  • CIFS support
  • OTG support
  • support more game controllers (including PS3)
  • maintains compatibility with all paid apps
  • increased refresh rate for HDMI output via MHL adapter
  • optimized -O3 linaro 4.8.1



DOWNLOAD


Sense 5.5 Android 4.4 or Android 4.4.2

ElementalX-m7-Sprint-13.10


NOTE: I don't have a Sprint One, please refer to the thread for any necessary workarounds on various ROMs.

Google Play Edition Android 4.4.2

ElementalX-m7-Sprint-11.4.1







Previous versions:
ElementalX-m7-Sprint-13.0
ElementalX-m7wl-0.6
ElementalX-m7wl-0.5
ElementalX-m7wl-0.4
ElementalX-m7wl-0.2



As always, with overclocking, not all phones can handle all frequencies. If it doesn't boot, or randomly reboots, or freezes, your first course of action should be to reinstall with a lower frequency.


INSTALLATION

1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the preselected option
3. Reboot
4. Let it boot up all the way, and reboot again


Don't use dumlock, just flash as normal in recovery.


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!





Special thanks:
@tbalden l2m and bln
@xHausx and @amarullz for installer stuff
@backfromthestorm for fstrim
@crpalmer for kernel based thermal control
@-TheEdge- for help building on Android 4.4+


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

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 (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.


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 a nice app. 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.


Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose a maximum between 1134MHz (underclocked) and 2160MHz (overclocked). 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 1.7GHz. I recommend a mild overclock, like 1836MHz. Clocking higher creates heat and wastes battery for very little performance gain.


CPU voltages
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 is a sign that your minimum voltage is too low. The minimum voltage allowed is 700mV.


Minimum CPU frequency
The minimum CPU frequency in this kernel is 384MHz. This chip was not designed to operate below 384MHz and I am respecting Qualcomm's design decision to have the CPU idle on pll8 at 384MHz. There is a way to achieve lower frequencies using the high frequency pll, however, this is likely to cause instability and inefficient operation (battery drain, ui stuttering)


GPU frequencies
You can choose to a GPU frequency of 400MHz (stock) or 450 MHz (overclocked). Overclocked offers better performance and will not have a significant impact on battery life. The same voltages are used no matter if the GPU is overclocked or not. Other phones using this chipset (e.g, the S4) set the GPU to 450MHz by default.


Thermal Control
I've added kernel based thermal control and throttling. HTC's thermald is very aggressive and throttles the CPU frequency pretty much anytime you use all four processors. This kernel based implementation allow better performance while still protecting your phone from overheating. There are three levels of thermal control, which can be chosen in the installer or changed in /etc/elementalx.conf. The default option is recommended. With the run cool option, your CPU will run about 5C cooler than default while under heavy load. With the run hot option, the CPU will run about 5C warmer than default under heavy load.


Governors
The default governor is ondemand. I have not done extensive testing of governors so the stock governor is recommended for now. Intellidemand, lagfree, lionheart and smartassv2 are also available. Feedback on their operation is welcomed.


I/O Schedulers
The default i/o scheduler is cfq. I have not tested the others much so the default is recommended for now. Other available schedulers are ROW, FIOPS, SIO, NOOP and deadline. Feedback on their operation is welcomed.


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.


Sweep2Wake
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). The options are: sweep2wake/sweep2sleep, sweep2sleep only, and disabled. If you use apps such as Kernel Tuner, the sweep2sleep only option can be selected by choosing "On with backlight". You can edit /etc/elementalx.conf to change the setting on boot.

/sys/android_touch/sweep2wake

0=disabled
1=enable sweep2wake + sweep2sleep
2=enable sweep2sleep only





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

/sys/android_touch/doubletap2wake

0=disabled
1=enable doubletap2wake


Logo2Wake
Logo2Wake (L2W) allows you to sleep or wake the device by long pressing the HTC logo. You have to press just slightly above the HTC logo. The screen will automatically turn on or off with a long press. You can edit /etc/elementalx.conf to change the setting on boot.

/sys/android_touch/logo2wake

0=disabled
1=enable logo2wake


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.

/sys/android_touch/pocket_detect

0=disabled
1=enable pocket detection


Logo2Menu
Enabling Logot2Menu (L2M) allows you to use the HTC logo as a menu button. You must press just slightly above the HTC logo. You can edit /etc/elementalx.conf to change the setting on boot.

/sys/android_touch/logo2menu

0=disabled
1=enable logo2menu


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.

/sys/class/leds/button-backlight/blink_buttons

0 = disabled
1 = BLN enabled


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 does not automatically detect NTFS filesystem.


Paid Apps
All the cryptographic modules load properly, so you shouldn't have an issues with paid apps.


Other stuff
This kernel supports many game pads and controllers, including PS3 controllers and some X-Box controllers. It has full OTG support. A refresh rate of 60Hz for HDMI output allows you to play games on the big screen without choppiness. CIFS support is built into the kernel. Faux sound control is also supported.





Source:
https://github.com/flar2/m7-GPE *latest*
https://github.com/flar2/m7wl-ElementalX
https://github.com/flar2/m7-ElementalX
Last edited by flar2; 19th February 2014 at 04:46 PM.
The Following 83 Users Say Thank You to flar2 For This Useful Post: [ View ]
25th May 2013, 11:35 PM   |  #2  
flar2's Avatar
OP Recognized Developer
Flag Ottawa
Thanks Meter: 30,678
 
6,106 posts
Join Date:Joined: Jun 2012
Donate to Me
More
Changelog:

January 6, 2014 - ElementalX-11.4.1
-too numerous to mention


July27, 2013 - ElementalX-0.6
-updated installer
-Makefile optimizations
-doubletap2wake fixes
-home button timeout option in installer
-use custom Linaro toolchain 4.8
-fix capacitive buttons sometimes still active while screen off
-option to disable HTC color enhancement
-add mpdecision options
-add optional max screen off frequency (default 702MHz)
-add simple GPU governor (faux123)
-improved sweep2wake
-fix bluetooth?


July13, 2013 - ElementalX-0.5
-update Aroma installer
-option to restore menubar
-add more undervolting options
-fix touchscreen registering input during calls
-add sysfs config for sleep/wake vibration strength
-new logo (thanks jonas2295)
-slight boost to L2 freq
-slight boost to GPU bus bandwidth
-vibration feedback for s2w
-add TCP congestion algorithm options
-fix fastcharge (thanks tbalden)
-revert some tweaks


June 24, 2013 - ElementalX-0.4
-update dt2w, pocket detection
-increase capacitive button sensitivity
-fix earpiece & bluetooth sound routing issues
-revert previous earpiece fix
-update modules


May 25, 2013 - ElementalX-0.2
-fix installer
-fix frequencies


May 25, 2013 - ElementalX-0.1
-add "extra cool" thermal setting
-add option to disable pocket detection
-suppress accidental wakes with s2w and dt2w
-add ROW scheduler
-add Lionheart, lagfree, smartmax, wheatley governors
-button light notification (tbalden)
-add thermal options
-add doubletap2wake
-add kernel based thermal control (crpalmer)
-Improve scalability via 'CPU buddies'
-avoid loadavg moire
-automatic undervolting to 850, 800 or 750
-compatible with faux sound control
-hsic wakelock fix
-L2W vibrates on sleep/wake
-optimized AES and SHA1 routines
-disable usb whitelist
-lower possible voltage to 700
-logo2menu (tbalden)
-sleep/wake with longpress HTC button
-select oc frequency up to 2160MHz
-optional graphics overclock
-add /dev/frandom
-fix audio in calls (tbalden)
-ensure crypto modules load
-camera fix option
-disable /system write protection
-linaro 4.7.3 -o3 optimization
-ntfs r/w
-fast rcu nohz
-intellidemand governor
-arm cpu topology
-update cpu_power according to cpu load
-mhl change to 1280x720@60Hz
-add CIFS support
-add FIOPS and SIO i/o schedulers
-update ramdisk
-add sweep2wake
-force fastcharge
-voltage control
Last edited by flar2; 7th January 2014 at 04:47 AM.
The Following 22 Users Say Thank You to flar2 For This Useful Post: [ View ]
25th May 2013, 11:36 PM   |  #3  
smokin901's Avatar
Recognized Contributor
Flag Bangalore, Mumbai, Houston
Thanks Meter: 2,483
 
2,379 posts
Join Date:Joined: Feb 2011
Donate to Me
More
ElementalX Sprint & Verizon Downloads -kernel source
This is ElementalX kernel from http://forum.xda-developers.com/show....php?t=2249774 just compiled for Sprint and Verizon.

Downloads


ElementalX 17.0 http://forum.xda-developers.com/show...&postcount=796
ElementalX 17.2 http://forum.xda-developers.com/show...&postcount=871
ElementalX 17.2-3 http://forum.xda-developers.com/show...&postcount=875
ElementalX 18.0 http://forum.xda-developers.com/show...&postcount=901


kernel source : https://github.com/smokin901

Credits @flar2 - Kernel Source @poondog help making it work on sprint and verizon
and others i may have missed.
Last edited by smokin901; 15th October 2014 at 08:11 AM.
The Following 12 Users Say Thank You to smokin901 For This Useful Post: [ View ]
26th May 2013, 12:02 AM   |  #4  
Senior Member
Flag Bay Area
Thanks Meter: 464
 
1,631 posts
Join Date:Joined: Jan 2008
More
Quote:
Originally Posted by flar2

also reserved

what's the difference between this and [KERNEL] [May 15] Bulletproof-1.0 | S2W | L2W | DT2W | L2M | BLN | More..
26th May 2013, 12:10 AM   |  #5  
Senior Member
Flag Boston, MA
Thanks Meter: 108
 
316 posts
Join Date:Joined: Jun 2010
Donate to Me
More
Quote:
Originally Posted by twe90kid

what's the difference between this and [KERNEL] [May 15] Bulletproof-1.0 | S2W | L2W | DT2W | L2M | BLN | More..

Bulletproof aims to be close to the stock kernel. He doesn't make a whole ton of modifications in order to ensure compatibility and whatnot. With the ElementalX series, he 'goes crazy' with adding stuff.
The Following 2 Users Say Thank You to sturmen For This Useful Post: [ View ]
26th May 2013, 12:14 AM   |  #6  
Senior Member
Flag Bay Area
Thanks Meter: 464
 
1,631 posts
Join Date:Joined: Jan 2008
More
bulletproof makes my home and back buttons not work. I heard this was a problem which HTC fixed. I'm using a screen protector which worked perfectly before installing the kernel
26th May 2013, 12:47 AM   |  #7  
flar2's Avatar
OP Recognized Developer
Flag Ottawa
Thanks Meter: 30,678
 
6,106 posts
Join Date:Joined: Jun 2012
Donate to Me
More
Quote:
Originally Posted by twe90kid

bulletproof makes my home and back buttons not work. I heard this was a problem which HTC fixed. I'm using a screen protector which worked perfectly before installing the kernel

They haven't released source code for the fix, so some people have problems with the capacitive buttons on custom kernels .
The Following 2 Users Say Thank You to flar2 For This Useful Post: [ View ]
26th May 2013, 01:23 AM   |  #8  
felacio's Avatar
Senior Member
Flag Salem
Thanks Meter: 949
 
2,109 posts
Join Date:Joined: Apr 2007
Donate to Me
More
Oohhh... I been waiting for this one!

Downloading now. Thank you Mr. Flar2!

Sent from my HTC One

EDIT:

Won't install. Getting "Installer Status 6" at the end.

Link to the AROMA log. https://www.dropbox.com/s/mjw96ybd6l....1.zip.log.txt
Last edited by felacio; 26th May 2013 at 01:49 AM.
26th May 2013, 01:44 AM   |  #9  
dasfast's Avatar
Junior Member
Flag Sevierville
Thanks Meter: 4
 
28 posts
Join Date:Joined: Mar 2007
More
Installation failed at the last step

Sent from my HTCONE using Tapatalk 2
26th May 2013, 01:53 AM   |  #10  
flar2's Avatar
OP Recognized Developer
Flag Ottawa
Thanks Meter: 30,678
 
6,106 posts
Join Date:Joined: Jun 2012
Donate to Me
More
Quote:
Originally Posted by dasfast

Installation failed at the last step

Sent from my HTCONE using Tapatalk 2

Any details? Recovery log? I depend on you guys to let me know what happens so I can fix it.

The Following 3 Users Say Thank You to flar2 For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes