[Kernel][Q] Helium kernel v63

Search This thread

Tomoms

Senior Member
Feb 15, 2014
2,796
6,698
OnePlus One
Essential Phone
Light and stable, Helium is here.

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

Q&A thread
here.

Features:
v63 (November 20th, 2020)
  • built with -O3 optimizations & latest GCC 10 cross-compiler
  • minor configuration cleanup

old releases:

v62 (September 6th, 2020)
  • rebased on top of Adrian's latest sources
  • support for Android Q/LineageOS 17.1
  • dropped support for previous Android releases
  • built with the latest GCC 10
  • minor tweaks and kernel bug fixes

v61 (September 9th, 2019)
  • 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

v60 (December 4th, 2018)
  • 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, Yank555.lu, 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

v19
  • 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

v18.1
  • improved GPU OC

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

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

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

v15.2
  • 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.

v15.1
  • up-to-date with Adrian's kernel source

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

v14.1
  • up-to-date with Adrian's source

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

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

v12.3
  • source updates

v12.2

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

v12
  • 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)

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

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

v9
  • built with a cleaner defconfig

v8
  • 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

v7
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

v6.2
  • a small number of source updates

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

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

v5.0

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

v4.6
  • CPU underclocking

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

v4.3
  • 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

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

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

v3.4
  • 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

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

v3.2
  • latest touchscreen fixes by @AdrianDC
  • auto hotplug added

v3.1
  • 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

v3
  • 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

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

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

v2
  • 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 0.1.2.1

v1
  • 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

Debugging
/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:
Code:
su
dmesg > /sdcard/helium.log
3. the log will be stored in helium.log.
If the issue caused a reboot, step number 2 changes:
Code:
su
cp /proc/last_kmsg /sdcard/helium.log

Downloads
Latest version: Helium kernel v63 for Android Q
All versions: Helium kernel on AndroidFileHost

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

Thanks to:
@Adrian DC
@daedroza
@Mrcl1450
@bbedward
@pec0ra
@DooMLoRD
@nosedive
@dorimanx
@faux123
@Sultanxda
@osm0sis
@GalaticStryder
@Andreus94
@neobuddy89
@nikhil18
@Unusual Man
@Onawt
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

Contributors
Tomoms
Source Code: http://github.com/Tomoms/helium_kernel/tree/lineage-16.0

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 63.0
Stable Release Date: 2020-11-20

Created 2015-11-17
Last Updated 2020-11-20
 
Last edited:

Tomoms

Senior Member
Feb 15, 2014
2,796
6,698
OnePlus One
Essential Phone
Reserved

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.
 
Last edited:
A

Asocial.Media

Guest
XenonHD _r18

Was 29628 with Tangerine 9.2 . Also had to limit max freq. to 1674. Have reset problem with max freq.
 

Attachments

  • 1447805174222.jpg
    1447805174222.jpg
    38.7 KB · Views: 4,316
  • 1447805187285.jpg
    1447805187285.jpg
    41.3 KB · Views: 4,291
Last edited:

Tomoms

Senior Member
Feb 15, 2014
2,796
6,698
OnePlus One
Essential Phone
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.
 
  • Like
Reactions: thefukrooball

varioventus

Senior Member
Aug 10, 2014
180
107
It boots all the way up to the home screen, in the same second the screen goes fuzzy and the device reboots. It's also plagued with that weird 1.4 Ghz issue that affects so many X-SP devices, I didn't managed to boot into KA, but it's obvious because it takes ages to do the apps optimization after cache/dalvik cleanup.
 

varioventus

Senior Member
Aug 10, 2014
180
107
With last temasek v18.5 freq CPU goes to 1728Mhz. All buttons works ok and performance is similar than stock cm kernel.

F**** weirds things of Xperia Sp!!

Oh yes, that's true. The 1.4 Ghz issue it's a device issue, rather than a kernel or a ROM one. I've erase and format everything, including internal storage. Clean install with ROMs that were reported as working fine with Tangerine.... still not able to go above 1.4 Ghz. :mad:
 

varioventus

Senior Member
Aug 10, 2014
180
107
That's pretty serious. Try to go back to stock ROM.

It's weird, because I'm not the only one with this problem and it works just fine with stock kernel or Tangerine up to 9.2.
I'll go back to stock tonight and then return to LP, hope to report "fixed". Thanks, Tomoms.:highfive:
 
Last edited:

Tomoms

Senior Member
Feb 15, 2014
2,796
6,698
OnePlus One
Essential Phone
It's weird, because I'm not the only one with this problem and it works just fine with stock kernel or Tangerine up to 9.2.
I'll go back to stock tonight and then return to LP, hope to report "fixed". Thanks, Tomoms.:highfive:
A few advices: when you come back to LP, if the issue is fixed on stock ROM and stock kernel, flash the LP ROM you want, flash gapps/xposed/any other thing you need but non Tangerine nor Helium. Then boot, install Trickster MOD Kernel Settigs and check if frequencies are OK. If it's OK, do not install Kernel Adiutor. Then flash Helium, do not wipe anything. Reboot and check.
 
  • Like
Reactions: varioventus
A

Asocial.Media

Guest
And... what's the reason for not able to go above 1674 Mhz on antutu? If I benchmark on 1674+++ phone resets itself while testing processor. Hardware issue? Normally can use 1900++ , but on antutu... damn...
 

shavendum

Senior Member
Feb 22, 2014
401
174
OnePlus 7
Nope. If it had been a device issue, i would have it on stock kernel as well. I don't have it on stock or on tangerine 9.2...

Sent from my Xperia SP using XDA Free mobile app
 

varioventus

Senior Member
Aug 10, 2014
180
107
A few advices: when you come back to LP, if the issue is fixed on stock ROM and stock kernel, flash the LP ROM you want, flash gapps/xposed/any other thing you need but non Tangerine nor Helium. Then boot, install Trickster MOD Kernel Settigs and check if frequencies are OK. If it's OK, do not install Kernel Adiutor. Then flash Helium, do not wipe anything. Reboot and check.

Done that - NOT working.

Installed stock 4.3, than erased and format everything, I even removed the SD-card. Flashed latest CM 12.1, no gapps. Trickster - everything OK, 1.7 Ghz. Then I've installed Tangerine 11.1 - max. 1458 Mhz :crying: Uninstalled 11.1 and installed 10.2 - still not going above 1.4 Ghz :eek: I rest my case, good luck with Helium.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 89
    Light and stable, Helium is here.

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

    Q&A thread
    here.

    Features:
    v63 (November 20th, 2020)
    • built with -O3 optimizations & latest GCC 10 cross-compiler
    • minor configuration cleanup

    old releases:

    v62 (September 6th, 2020)
    • rebased on top of Adrian's latest sources
    • support for Android Q/LineageOS 17.1
    • dropped support for previous Android releases
    • built with the latest GCC 10
    • minor tweaks and kernel bug fixes

    v61 (September 9th, 2019)
    • 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

    v60 (December 4th, 2018)
    • 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, Yank555.lu, 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

    v19
    • 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

    v18.1
    • improved GPU OC

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

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

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

    v15.2
    • 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.

    v15.1
    • up-to-date with Adrian's kernel source

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

    v14.1
    • up-to-date with Adrian's source

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

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

    v12.3
    • source updates

    v12.2

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

    v12
    • 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)

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

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

    v9
    • built with a cleaner defconfig

    v8
    • 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

    v7
    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

    v6.2
    • a small number of source updates

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

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

    v5.0

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

    v4.6
    • CPU underclocking

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

    v4.3
    • 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

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

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

    v3.4
    • 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

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

    v3.2
    • latest touchscreen fixes by @AdrianDC
    • auto hotplug added

    v3.1
    • 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

    v3
    • 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

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

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

    v2
    • 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 0.1.2.1

    v1
    • 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

    Debugging
    /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:
    Code:
    su
    dmesg > /sdcard/helium.log
    3. the log will be stored in helium.log.
    If the issue caused a reboot, step number 2 changes:
    Code:
    su
    cp /proc/last_kmsg /sdcard/helium.log

    Downloads
    Latest version: Helium kernel v63 for Android Q
    All versions: Helium kernel on AndroidFileHost

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

    Thanks to:
    @Adrian DC
    @daedroza
    @Mrcl1450
    @bbedward
    @pec0ra
    @DooMLoRD
    @nosedive
    @dorimanx
    @faux123
    @Sultanxda
    @osm0sis
    @GalaticStryder
    @Andreus94
    @neobuddy89
    @nikhil18
    @Unusual Man
    @Onawt
    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

    Contributors
    Tomoms
    Source Code: http://github.com/Tomoms/helium_kernel/tree/lineage-16.0

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: 63.0
    Stable Release Date: 2020-11-20

    Created 2015-11-17
    Last Updated 2020-11-20
    31
    Hurray, a new version of Helium is available! ONLY for Lollipop for now!
    Ok, let's talk about the hot stuff you'll find in it.

    • powersuspend v1.7:
      powersuspend is a replacement for the old earlysuspend. earlysuspend was a suspension manager that was removed by Adrian some months ago since it's really outdated. This replacement is more modern and provides better power management since it "talks" with the CPU hotplugs, for example, and tells them when to enter a "suspended state".
      How does it work? At the beginning, it could be triggered either by the kernel itself, or by the LCD panel (when screen went off, it entered the suspended state). It could also be triggered manually by the user (pretty useless in my opinion). Since the "kernel trigger" doesn't work properly on Lollipop on many devices, I cleaned up the code a bit and now it can be triggered only by the LCD panel. This cleanup causes a sort of "bug" in Kernel Adiutor: KA will show that powersuspend uses the "Autosleep" trigger even though, actually, it's set on the LCD panel trigger. This however doesn't affect anything. It's only a visual bug and even if you set the powersuspend trigger method to something else, it will go back to "Autosleep". Don't worry, it's working properly. I've got proof.
      powersuspend was developed by the great faux123, so thanks to him!

    • hotplug updates:
      intelliplug by faux123 was updated to v5.0. msm_mpdecision (a.k.a. bricked hotplug) by showp1984 and neobuddy89 also got a massive update. A new hotplug has been added: msm_hotplug by Fluxi. All these hotplug are well integrated with powersuspend and they have many tunable parameters!

    • ZRAM, zsmalloc backported from Linux 3.17:
      ZRAM and zsmalloc have been backported from Linux 3.17 by Adrian. He also fixed the old swap bug so he deserves a huge "thank you"!

    • MSM_Limiter:
      msm_limiter is an interesting tool that allows to set a different max frequency for the CPUs when the screen goes off. It talks with powersuspend to work properly. Unfortunately I couldn't find an app to control this feature so the only option is to do so by using the sysfs interface (more details will follow).
      It's developed by neobuddy89.

    • library updates:
      some libraries were updated: lib/genalloc was backported from Linux 3.10; lib/memcopy and lib/string were also backported from their glibc versions (this leads to better performance).


    • built with GCC 5.3.1:
      v5.0 has been built with GCC 5.3.1 and the very latest UBER toolchain. The header files used by the kernel to improve the build have been simplified and updated too.


    • power efficient workqueues:
      These new workqueues are tied to the CPU core they were created on and they avoid onlining cores if it's not strictly necessary, and they improve the use of CPU cache.


    • new CPU governor:
      smartmax has been added.

    • KSM replaced UKSM:
      maybe temporarily, maybe forever. KSM now has better power management features than UKSM.

    • init.d support re-added

    • lighter installation zip (TWRP is not included anymore)

    • as usual, lots of source updates (especially for f2fs)


    Important! How to enable msm_limiter:
    For your convenience, I suggest you to edit the /system/etc/init.d/01helium script after flashing the kernel (or even before - you can find it in the "scripts/init.d" folder of Helium's zip).
    Code:
    echo "0" > /sys/kernel/msm_limiter/limiter_enabled
    The line above means that msm_limiter will be disabled at boot. Change 0 to 1 to enable it at boot.

    Code:
    echo "1026000" > /sys/kernel/msm_limiter/suspend_max_freq
    The line above is an example of how to set a maximum frequency for all cores when the screen is off. 1026000 is 1026 MHz, that is 1,026 GHz. Change the first four digits to any other existing frequency (check them in Kernel Adiutor, for example), otherwise the limiter won't work.

    Code:
    echo "1728000" > /sys/kernel/msm_limiter/resume_max_freq;
    I don't know why, but msm_limiter overwrites the general max CPU freq. when screen is on. So you really must edit this line in the script if you want to use msm_limiter. Change "1728000" with the max frequency you want the CPUs to use when the screen is on, for example I put "1832000".

    If you want to change one of these values, just edit the script. The new values will be applied after a reboot. You should re-edit it whenever you reflash the kernel though.

    You can also edit the single files once the phone has booted, but the script will overwrite them as soon as you reboot.
    If you want msm_limiter to be always on, from phone bootup to poweroff, the simplest way is to edit the 01helium script as I've just explained you.
    If you want to keep msm_limiter disabled, simply don't touch the script. It will set the default values I've put in, but anyway, unless you change the first line I wrote about, the limiter will be disabled.

    TL;DR:

    you cheater! You really must read the long post!


    Well, I hope I have mentioned all the changes! Enjoy the release :)

    Thanks to:
    all the users mentioned in the changelog, the Linaro team, dorimanx and Adrian, of course :)

    Post scriptum: splashscreens are coming :)
    30
    bugs as of today:
    • 2nd CPU is stuck @ 1998 MHz Fixed in v58.1
    27
    News

    Ok guys so I'm going to take a little "break" from kernel development. There are 2 reasons:
    1. Helium as of now can be considered a complete kernel (I can't think at something big that hasn't been added yet)
    2. I've got other things to do
    This however doesn't mean that I'll stop releasing updates - on the contrary, as soon as Adrian finishes the new kernel updates I'm going to release v6 and I'll continue releasing fast minor updates when Adrian adds something - , it simply means that all the features I've been striving to implement lately are finally included, so there isn't much to do now.
    And this doesn't either mean that I'll disappear from XDA: I'll follow ROM development and I'll be happy to answer your questions, discuss problems et cetera.

    What to expect from v6?
    • lots of updates by Adrian
    • some CPU governors
    • optimized memcopy libs
    24
    Just a quick update: swap is fixed, now there's only one little bug to fix and then I'll release an update!
    EDIT: kudos to Adrian as usual.