[HTC One S] flar2:
Kernel for Sense-based ROMs

Please consider a donation to support ongoing development

Many thanks to those who have donated!

​

Previous versions:

ElementalX-6.1

ElementalX-6.0

ElementalX-S-4.3

ElementalX-S-4.2

ElementalX-S-3.4

ElementalX-S-3.3

ElementalX-3.2

ElementalX-S-v3.1.1beta: http://goo.gl/B6Xxd

ElementalX-S-v3.1beta: http://goo.gl/0T3B3

ElementalX-S-v3.0beta: http://goo.gl/TWRIU

Elemental-S-v2.5: http://goo.gl/9I8GZ

Elemental-S-v2.2: http://goo.gl/o5xCq

Elemental-S-v2.1: http://goo.gl/aE124

Elemental-S-v1.0: http://goo.gl/MfWmp[/B]

INSTALLATION

1. Do not install over other custom kernels. Please ensure you have the stock kernel installed by reflashing your ROM.

2. Install zip from TWRP Recovery

3. Follow the instructions, if you don't know what to do, use the preselected option

4. Reboot!

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

Special thanks:

@bilal_liberty for 4.4.2/4.3 port

@pirlano for 4.2.2 port

@showp-1984 for S2W

@tbalden for BLN

NOTES:

Configuration

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.

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

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 4.2, the frequencies were labeled wrong so you won't be able to overclock as high with version 4.2+.

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

GPU frequencies can now be set on the fly using Kernel Tuner. There is also an option in /etc/elementalx.conf. Available maximum frequencies:

3D GPU: 480 (overclocked) or 400 (stock)

2D GPU: 266 (overclocked) or 200 (stock)

Governors

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

Sweep2wake 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. Note that in Venom Tweaks, the sweep2sleep only option can be selected by choosing Enable (no buttons backlight).

DoubleTap2Wake

DoubleTap2Wake (DT2W) allows you to wake the device by double tapping the capacitive buttons.

/sys/android_key/doubletap2wake

0=disabled

1=enable doubletap2wake using back button

2=enable doubletap2wake using home button

3=enable doubletap2wake using recent apps button

DoubleTap2Sleep (Version 6.4+ only)

DoubleTap2Sleep (DT2S) allows you to put the device to sleep by double tapping the capacitive buttons.

/sys/android_key/doubletap2sleep

0=disabled

1=enable doubletap2sleep using back button

2=enable doubletap2sleep using home button

3=enable doubletap2sleep using recent apps button

Pocket Detection

Pocket detection protects against accidental wakes while S2W or DT2W are enabled and the phone is in your pocket. Pocket detection uses the proximity sensor. This is disabled by default. You can edit /etc/elementalx.conf to change the setting on boot.

/sys/android_touch/pocket_detect

0=disabled

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. You can edit /etc/elementalx.conf to change the setting on boot.

/sys/class/leds/button-backlight/bln

0 = disabled

1 = BLN enabled

What is zRam (not included in version 6.0)

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.

exFAT support (version 6.0 only)

exFAT filesystem support is available on version 6.0 via a kernel module. You will need Stickmoutn or similar app to mount exFAT volumes.

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.

Game controller support

There is some support for Gamepads, including X-Box and PS3 controllers.

SOURCE:

ElementalX-5.x

ElementalX-6.x

ElementalX-7.x

XDA:DevDB Information

ElementalX-ville, Kernel for the HTC One S

Contributors

flar2, pirlano bilal_liberty

Source Code: https://github.com/flar2/ElementalX-ville-6.0

Kernel Special Features:

Version Information

Status: Stable

Current Stable Version: 6.4

Stable Release Date: 2013-10-25

Current Beta Version: 7.1

Beta Release Date: 2014-09-05

Created 2013-10-06

Last Updated 2017-03-29