Remove All Ads from XDA

[Kernel][M/N/O/P] Helium kernel v61

2,054 posts
Thanks Meter: 5,121
By Tomoms, Senior Member on 17th November 2015, 10:24 PM
Post Reply Email Thread
Announcement from Tomoms: Helium, the heir of Tangerine, is here to stay!
Light and stable, Helium is here.

use this kernel at your own risk. Flashing it may brick your device. I'm not responsible for any software/hardware damage.

Q&A thread

v61 (September 9th)
  • rebased on top of Adrian's latest source
  • built with the newest GCC 8 toolchain from Linaro
  • many debugging options have been disabled (this might free some RAM)
  • memory management backports from Linux 3.8
  • some misc. improvements and fixes
  • installer updated to AnyKernel3, excellent (IMO) default setup

old releases:

v60 (December 4th)
  • Android Pie support
  • built with GCC 8.2
  • many source updates and security fixes
  • a few ZRAM tweaks

v59 (September 30th)
  • many f2fs backports
  • important fixes and improvements for the maple I/O scheduler
  • minor misc. updates & fixes

v58.1 (September 1st)
  • fixed 2nd CPU policy bug

v58 (August 30th)
  • built using the GNU gold linker
  • a few small performance improvements
  • impulse is the default CPU governor
  • bricked hotplug forces both cores to be online when the screen is on
  • CPU and memory bandwidth overclocking
  • rebased on top of Adrian's latest sources

v57 (May 28th)
  • cpufreq stack backported from Linux 3.10
  • minor misc. updates/fixes

v56.4 (May 7th)
  • built with an updated GCC 7.3 Linaro toolchain
  • some updates for sdcardfs
  • up-to-date with Adrian's kernel
  • minor miscellaneous fixes

v56.3 (April 25th)
  • some security fixes
  • some generic tweaks, improvements, optimizations and updates

v56.2 (April 6th)
  • a must-read: post #2
  • f2fs driver backported from Linux 3.10
  • build with an updated compiler & a few additional optimizations

v56.1 (April 4th)
  • a must-read: post #2
  • added support for the 20180331 and future builds of LineageOS 15.1
  • built with QUVNTNM-TC (GCC 7-based toolchain) (thanks to @sudokamikaze)
  • minor updates, fixes and improvements

v56 (4th March)
  • fixed installation on LineageOS 15.1
  • tweaked interactive cpufreq governor
  • zen-tune tweaks for the task scheduler
  • faster boot
  • sdcardfs & f2fs improvements
  • several security fixes

v55 (31st January)
  • AutoSMP hotplug is back, and it should be stable now!
  • workqueue stack backported from Linux 3.10
  • random number generator driver backported from Linux 4.1
  • a few updates & improvements for some libraries
  • improved kgsl performance (more info here)

v54.2 (24th December)
  • built with more compiler optimizations
  • fix for I/O errors
  • minor adjustments for memory management and maple I/O scheduler

v54.1 (21st December)
  • directIO patches (they should improve filesystem speeds)
  • fixes for some CVEs
  • additional GCC optimizations
  • added a toggle for CRC checks
  • patches by Nvidia to improve battery life

v54 (4th December)
  • built with -O3 optimizations
  • new installer: BootBridge by Adrian + AnyKernel2 by osm0sis
  • cpu_input_boost duration set to 100 ms by default
  • Efficient unaligned memory access enabled
  • lmk/memory management updates & fixes
  • UKSM removed, legacy KSM restored
  • random number generator improvements
  • many miscellaneous updates and fixes (CVEs and such)

v53 (6th November)
  • do not flash on Oreo 11062017
  • task scheduler backports, PELT scheduler enabled
  • random number generator backported from Linux 3.16
  • f2fs updates
  • cpu_input_boost added (replaces CAF CPU boost)
  • UKSM v0.1.2.3 optimized for ARM devices & enabled by default
  • maple I/O scheduler tweaks, enabled by default
  • AutoSMP hotplug removed, added bricked hotplug
  • lower GPU idle frequency
  • minor miscellaneous updates and fixes

v52 (24th October)
  • once again, the kernel has been re-built from scratch
  • built with GCC 5 and proper optimizations for Krait CPUs
  • I/O schedulers: added maple
  • TCP congestion control algorithms: westwood set as default
  • hundreds of updates and backports, mostly related to the kernel's task scheduler
  • memutils optimizations for Krait CPUs
  • power-efficient workqueues
  • Gentle Fair Sleepers tunable

v51 (9th October)
  • built from scratch on top of Adrian's kernel for Oreo with the following changes:
  • compiled with gcc-5-based UBER Toolchain
  • optimizations for Krait CPUs (thanks to the Linaro team)
  • memutils optimizations for Krait CPUs
  • CPU governors: intellidemand
  • CPU hotplugs: AutoSMP (enabled by default)
  • I/O schedulers: maple (enabled by default)
  • CAF's cpu-boost removed, replaced by Sultanxda's cpu_input_boost
  • power-efficient workqueues
  • Gentle Fair Sleepers tunable
  • miscellaneous source updates

v50 (21st September)
  • f2fs stability fixes

v49 (16th September)
  • f2fs updates
  • voltage adjustments

v48.1 (13th September)
  • built with GCC 5
  • fixes for SoDs

v48 (11th September)
  • CPU voltage control removed (unstable and broken)
  • CPU frequency table cleaned and polished
  • added cpu_input_boost by Sultanxda (it replaces the default cpu-boost driver)
  • random number generator driver backported from Linux 3.16

v47 (15th August)
  • further improved CPU L2 frequency table
  • SONY logo bug fixed
  • minor improvements and fixes
  • CPU voltage control
  • f2fs updated to Linux 3.4-4.4-rc1

v46.1 (7th August)
  • built with an updated GCC 7 UBER Toolchain and different optimizations
  • impulse CPU governor
  • source updates/improvements

v46 (20th July)
  • completely renewed code base!
  • up-to-date with Adrian's kernel: fully compatible with the latest light effects
  • CPU hotplugs: AutoSMP
  • I/O schedulers: maple, fiops, row, bfq, cfq, noop, deadline, test
  • Gentle Fair Sleepers/Arch Power toggles
  • all TCP scheduling algorithms are available (westwood is enabled by default)
  • power-efficient workqueues
  • PELT task scheduling enabled
  • CPU overclocking and underclocking
  • GPU overclocking
  • hundreds of source updates and backports (related to: f2fs, kernel/sched/, workqueues, locking, timekeeping...)
  • async fsync is supported on both ext4 and f2fs

v45.2 (28th June)
  • security fixes

v45.1 (12th June)
  • security fixes and backports

v45 (4th June)
  • real CPU underclocking (137,1 MHz)
  • security fixes and backports
  • follow these instructions carefully: init.d script editing

v44.1 (30th May)
  • source updates
  • built with updated UBER GCC 7 Toolchain
  • less freezes?

v44 (May 26th)
  • backported Codel network scheduling algorithm
  • lots of rcu and kernel/sched/ backports
  • built with an ad-hoc set of optimization flags
  • random number generator driver backported from Linux 3.19

v43 (May 22nd)
  • state_notifier updated with support for PM suspension
  • lots of source updates
  • cache dropping and laptop mode enabled by default

v42.3 (19th May)
  • source updates

v42.2 (7th May)
  • a few security fixes

v42.1 (6th May)
  • built with updated and optimized GCC 7 UBER toolchain
  • sdcardfs updates

v42 (5th May)
  • build with GCC 7 and the UBER Toolchain
  • source updates

v41 (2nd May)
  • cpu-boost updates
  • added cpu_power driver
  • new CPU governor: umbrella_core
  • source updates
  • fsync toggle
  • some optimization flags removed

v40 (1st May)
  • built with updated UBER 6.x toolchain
  • source updates
  • new PM suspension method

v39.1 (18th April)
  • f2fs updates

v39 (9th April)
  • sdcardfs support. Must read: about sdcardfs
  • readded zzmoove CPU governor

v38.1 (8th April)
  • if AFH shows "No mirror found", click here: Helium v38.1 on Google Drive
  • built with my optimized GCC 6.3 UBER toolchain
  • tweaked CPU L2 frequency table
  • new i/o scheduler: maple

v38 (6th April)
  • Makefile optimizations
  • lots of kernel backports and fixes

v37.3 (3rd April)
v37.2 (21st March)
  • re-added msm_limiter
  • source updates

v37 (12th March)
  • source rolled back to pre-v30.1 status (minus some updates & fixes added by me)
  • added some of the most important features of v31 and v34
  • all the latest updates from Adrian
  • built with Linaro GCC 6.3.1 toolchain

v36 (28th February)
  • built with Linaro GCC 6.3 toolchain
  • source updates

v35 (11th February)
  • built with updated UBER Toolchain & different optimization flags
  • source updates and code cleanup (leftovers from the removal of CPUQuiet))

v34.2 (28th January)
  • build with updated and optimized toolchain

v34.1 (20th January)
  • source updates

v34 (15th January)
  • FauxSound updated to v3.8 (ported from the msm8974 version)
  • Powersuspend removed
  • alucard and intelliplug hotplugs have been updated

v32.1, v32.2, v33 (11th January)
  • v32.1 is waste
  • v32.2 is good but it's the same of v31 + optimizations
  • v33 should be same as v32 but with good performance

v32 (10th January)
  • built with updated & optimized UBER Toolchain and proper GCC flags
  • major improvements to: state notifier, MSM hotplug,
  • minor source updates and optimizations
  • new CPU governor: elementalx
  • async fsync enabled for f2fs

v31 (31st December)
  • built with updated and optimized UBER Toolchain
  • gcc flags have been reworked

v30.3 (21st December)
  • built with updated UBER Toolchain (for gcc 6.2)
  • source updates

v30.2 (12th December)
  • source updates

v30.1 (8th December)
  • source updates (fix for tethering issue in 7.1.1)
  • built with updated UBER toolchain

v30 (28th November)
  • built with up-to-date UBER GCC 6 toolchain and more optimization flags
  • new installer, based on the old anykernel, now completely fixed and with lots of improvements - big thanks to @Andreus94
  • source updates + GCC 6 warnings have been fixed
  • new CPU govs: HYPER, darkness, ondemandplus
  • tweaked some I/O scheds
  • CPU boots at 1728 MHz even on old ROM's

v29 (16th November)
  • source updates: drivers/cpufreq/ backported from Linux 3.10
  • source updates: kernel/workqueue backported from Linux 3.10
  • source updates: drivers/char/random backported from Linux 3.16
  • CPU governors: all removed, only impulse plus the stock ones are present
  • CPU hotplugs: updated bricked_hotlpug and AutoSMP, added Thunderplug
  • suspension drivers: added State Notifier
  • build with updated UBER Toolchain and full -O2 optimizations
  • CPU hotplugs: removed CPUQuiet by Nvidia
  • installer: switched to the kernel injector
  • msm_limiter: massive driver update
  • source updates: updates to UKSM, kernel/sched/ and tons of other smaller updates

v28.2 (1st November)
  • Linux 3.4.113

v28.1 (29th October)
  • cpu input boost enabled by default
  • source updates

v28 (23rd October)
  • improved AnyKernel installation template
  • f2fs up-to-date with upstream
  • added cpu_input_boost by Sultanxda
  • GPU power saving tweaks
  • GPU undervolting
  • source updates and cleanups

v27 (17th October)
  • download here
  • CPU L2/bus overclock
  • exFAT driver updated
  • GPU now idles at 128 MHz

v26 (1st October)
  • load-based cpu boost
  • big code cleanup

v25.5 (22nd September)
  • source fixes and optimizations

v25.4 (10th September)
  • dynamic fsync removed (it was unstable and unneeded))

v25.3 (7th September)
  • built with GCC 6.2 + updated & optimized UBER Toolchain
  • source updates

v25.2 (31st August)
  • rebuilt using Adrian current defconfig
  • optimizations for non-rotational storage devices
  • switched to gzip compression (faster and doesn't cause problems)

v25.1 (23rd August)
  • source updates

v25 (16th August)
  • readded 400 MHz frequency for GPU
  • UKSM auto or manual handling
  • source updates

v24 (12th August)
  • built with updated and optimized UBER Toolchain
  • added quickwakeup
  • memcopy optimizations for Cortex-A15
  • source updates

v23.2, 23.3, 23.4 (29th July, 3rd August, 4th August)
  • source updates

v23.1 (25th July)
  • source updates

v23 (21st July)
  • many source updates
  • CPUQuiet governors added: userspace, balanced, runnable_threads
  • CPU boost disabled
  • CPU overclock disabled at boot (no more overheating when Optimizing apps)

v22.1 (14th July)
  • LMK commit revert (fix for the bad RAM management of v22)

v22 (13th July)
  • built with updated UBER Toolchain
  • lots of source updates
  • CPUQuiet (by Nvidia): a sort of hotplug that helps us to save power
  • sysfs interface to control the Gentle Fair Sleepers, Arch Power and the CRC check
  • 2 new CPU govs: zzmoove v1.0b8 and Barry Allen
  • improved Kcal calibration
  • added asynchronous fsync and dynamic fsync
  • UKSM v0.1.2.3 optimized for ARM arch
  • entropy tweaks
  • thanks to: faux123, neobuddy89, airlessproject, Nvidia, franciscofranco, ZaneZam,, BrateloSlava, dorimanx

v21.1 (4th July)
  • Adrian's fix for reboot from recovery
  • various fixes related to msm_limiter and the installation script

v21 (2nd July)
  • built with an updated UBER Toolchain
  • many kernel source updates
  • USB fast charge replaced with USB fast charge v2
  • the script_persist thing has been fixed (I think it had never worked until now)

v20.2 (29th June)
  • kernel source updates

v20.1 (28th June)
  • up-to-date with CM's kernel

v20 (22nd June)
  • built with an updated UBER toolchain
  • switched from Anykernel by @nosedive to the injector by @Adrian DC (fixes never-ending "unpacking kernel")
  • 2D GPU overclock

v19.1 (14th June)
  • up-to-date with our CM kernel
  • avoid overwriting your custom init.d script: more details here

  • built with updated and optimized UBER toolchain
  • improved GPU OC
  • AutoSMP CPU hotplug
  • disabled CRC check (speeds up I/O)
  • a few small tweaks

v18.2 & v18.3
  • GPU OC improvements
  • up-to-date with Adrian's kernel

  • improved GPU OC

  • stable CPU OC up to 1998 MHz
  • improved GPU OC (we need to run benchmarks to confirm)
  • all of the latest source updates

  • up-to-date with CM's sources
  • GPU OC (480 MHz)

  • Do not enable CPU overclock!
  • built with updated and optimized UBER Toolchain
  • ZRAM bug fixed

  • up-to-date with Adrian's kernel (today's commits bring a big f2fs update)
  • CPU overclock and underclock has been removed. I'll rewrite OC from scratch soon.

  • up-to-date with Adrian's kernel source

  • added alucard hotplug, adapted for a dual core CPU
  • up-to-date with Adrian's sources

  • up-to-date with Adrian's source

  • greatly improved CPU frequency table
  • Adrian's latest updates

  • MultiROM support
  • AOSP ROMs should be supported
  • CPU overclock sleep of death fixed

  • source updates

  • up-to-date with Adrian's source
  • vfs cache pressure set to 100

  • up-to-date with Adrian's work
  • important vfs fix by Linus Torvalds (fixes slow performance in a certain scenario - more details on github)
  • powersuspend controls some parameters of memory management
  • Nvidia CPU relaxation code (even though it seems that it's useless to us)

  • built with GCC 6 and the very latest UBER Toolchain
  • interactive governor readded
  • up-to-date with Adrian's latest source

  • Linux 3.4.112
  • reverted to GCC 5.3 (to fix camcorder)
  • slim CPU governor
  • power efficient workqueues implemented in other places

  • built with a cleaner defconfig

  • Build with GCC 6.0 and the latest UBER toolchain
  • Gentle Fair Sleepers are disabled
  • Network speed tweaks (see Github)
  • Optimized ARM RWSEM algorithm
  • all improvements listed amongst v7's features
  • CPU governor when booting from charging mode is set in a more elegant way

beta 4 - only for CM13 0423
  • power efficient workqueues implemented in even more places
  • modulelessness
  • updates to the zen I/O scheduler

beta 3
  • CPU underclock to 189MHz
  • power-efficient workqueues implemented in various places
  • new I/O scheduler: tripndroid
  • bricked hotplug update, intelliplug tweaks for our device
  • governors tweaked for our device
  • torch fixed!
  • bug fixes & some flags removed from Makefile
  • CM13 only (for now)
    More info & download: v7 beta 3

  • a small number of source updates

  • source updates & Linux 3.4.111
  • build freshly from v5 to trash all the issues and lags

  • loads of source updates, fixes etc.
  • new CPU governors: dancedance, xperience, lionheart, intellidemand2, interactive
  • optimized libs

  • source updates
  • not 100% stable according to Adrian (in my case, it's working well)

  • CPU underclocking

  • smoother (finally!)
  • no underclocking (it will be readded very soon)

  • CPU underclock to 281 MHz
  • experimental Android M support
  • earlysuspend removed
  • fixed slow speed & long boot after booting from offline charger
  • if you have slower performance, stick to v4.2

  • interactive governor (use it at your own risk, will probably cause reboots)
  • CPU 1458 MHz bug fixed

  • Motorola memcpy enhancements for Krait CPUs
  • some source updates
  • CPU 1458 MHz bug (only on certain devices)! Caution!
  • super smooth!

  • a couple of source updates
  • yankactive (it's bugged and it will be removed) and smartmax CPU governors
  • memcpy optimizations and auto hotplug disabled for testing purposes

  • latest source updates
  • NTFS read/write support
  • SELinux is enforcing

  • latest touchscreen fixes by @AdrianDC
  • auto hotplug added

  • incall touchscreen bug fixed (big thanks to @Adrian DC)
  • Motorola memcpy optimizations (faster copy to memory)
  • CPU frequency table finally fixed
  • msm_mpdecision fixed
  • dynamic fsync temporarily removed
  • other source updates

  • CPU overclock up to 1,944 GHz
  • new CPU governor: impulse
  • greatly improved CPU-boost (now it has got more options & new features)
  • dynamic fsync v1.5
  • build with the latest UBER toolchain & GCC 5.2

  • SELinux is permissive (for M)
  • source updates and f2fs updates (thanks to @Mrcl1450 and @Adrian DC)
  • clean frequency table
  • UKSM updated to v0.1.2.3
  • bricked hotplug

  • all the TCP congestion control algorithms are available
  • WLAN source updates
  • initial build for M

  • FauxSound v3.6
  • debugging info removed from modules (now they're smaller)
  • CPU governors: interactive removed, bioshock, wheatley, ondemandplus, intellidemand2 added
  • I/O schedulers: added fifo, vr, zen
  • intellithermal
  • intelliplug
  • ZRAM for now removed (it caused kernel panics)
  • UKSM

  • Linux 3.4.110 + other device-specific tweaks (thanks to @Mrcl1450 & @Adrian DC)
  • built with GCC 5.2.1 and UBER Toolchain + various optimization flags
  • CPU undervolting
  • sioplus I/O scheduler
  • ZRAM & zsmalloc backported from Linux 3.14
  • KSM (kernel samepage merging)
  • inbuilt frandom support
  • swap support
  • USB fast charging

/proc/kmsg is a file that stores all the kernel messages from the very first seconds of the boot process. A copy of that file isn't always needed to fix a bug, but since I've explained how to get one I don't even remember how many times, I'll write here the needed steps:
1. open a terminal on your phone
2. run the following commands:
dmesg > /sdcard/helium.log
3. the log will be stored in helium.log.
If the issue caused a reboot, step number 2 changes:
cp /proc/last_kmsg /sdcard/helium.log
Helium kernel on AndroidFileHost (all versions)
v61 for Pie ROMs:
v61 for Oreo ROMs:

Remember to always check the second post before installing, to see if there are warnings/known bugs!

Thanks to:
@Adrian DC
@Unusual Man
and all the authors of the hundreds of github commits in Helium's repo!

XDA:DevDB Information
Helium kernel, Kernel for the Sony Xperia SP

Source Code:

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 60.0
Stable Release Date: 2019-09-07

Created 2015-11-17
Last Updated 2019-09-07
The Following 90 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
17th November 2015, 10:24 PM |#2  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,121
bugs as of today:
  • 2nd CPU is stuck @ 1998 MHz Fixed in v58.1
The Following 30 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
17th November 2015, 10:24 PM |#3  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,121
init.d script editing - not required as of v46
Important: your modifications to the script will be lost:
  • when you update the ROM, if you use an AOSP-based ROM;
  • never (changes are persistent), if you use a CM-based ROM.

the init.d script provided with the kernel (01helium) contains some lines that enable or disable certain features. Remember that the script is written in shell language, so the lines starting with # are ignored.
In the script you'll find useful tips to edit it correctly.
The Following 17 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
17th November 2015, 10:33 PM |#4  
Senior Member
Flag Oostende
Thanks Meter: 16
so this is good for only lollipop voor the moment ?
17th November 2015, 10:38 PM |#5  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,121
Originally Posted by bubbeld

so this is good for only lollipop voor the moment ?

Yes. There will be a Marshmallow build this weekend.
The Following 3 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
17th November 2015, 11:27 PM |#6  
Senior Member
Thanks Meter: 107
Uninstall with Tangerine uninstaller?
18th November 2015, 01:08 AM |#7  
Thanks Meter: 0
XenonHD _r18
Was 29628 with Tangerine 9.2 . Also had to limit max freq. to 1674. Have reset problem with max freq.
Attached Thumbnails
Click image for larger version

Name:	1447805174222.jpg
Views:	4268
Size:	38.7 KB
ID:	3546188   Click image for larger version

Name:	1447805187285.jpg
Views:	4244
Size:	41.3 KB
ID:	3546189  
18th November 2015, 08:33 AM |#8  
Senior Member
Thanks Meter: 107
Resurrection Remix 5.5.8 not booting.
18th November 2015, 12:40 PM |#9  
DahakePL's Avatar
Recognized Contributor
Flag Kalisz
Thanks Meter: 2,332
Donate to Me
That's great because I didn't like tangerine :P
18th November 2015, 02:59 PM |#10  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,121
Originally Posted by varioventus

Resurrection Remix 5.5.8 not booting.

What goes wrong? At which point does the phone get stuck? I also got a booting problem once today, after the SONY logo I got a black screen and then the SONY logo again, but after a few seconds the phone booted. So wait a few minutes before stating that the phone doesn't boot and tell me what do you see.
The Following User Says Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
18th November 2015, 04:11 PM |#11  
Unusual Man's Avatar
Senior Member
Flag Szczecin
Thanks Meter: 49
On CM12.1 Official 20151116 with Helium v1 I can't use toggle buton to see my last used apps
With T10.2 this working.
I don't know how but this is strange.

Sorry for my bad English
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