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)
old releases:
v62 (September 6th, 2020)
v61 (September 9th, 2019)
v60 (December 4th, 2018)
v59 (September 30th)
v58.1 (September 1st)
v58 (August 30th)
v57 (May 28th)
v56.4 (May 7th)
v56.3 (April 25th)
v56.2 (April 6th)
v56.1 (April 4th)
v56 (4th March)
v55 (31st January)
v54.2 (24th December)
v54.1 (21st December)
v54 (4th December)
v53 (6th November)
v52 (24th October)
v51 (9th October)
v50 (21st September)
v49 (16th September)
v48.1 (13th September)
v48 (11th September)
v47 (15th August)
v46.1 (7th August)
v46 (20th July)
v45.2 (28th June)
v45.1 (12th June)
v45 (4th June)
v44.1 (30th May)
v44 (May 26th)
v43 (May 22nd)
v42.3 (19th May)
v42.2 (7th May)
v42.1 (6th May)
v42 (5th May)
v41 (2nd May)
v40 (1st May)
v39.1 (18th April)
v39 (9th April)
v38.1 (8th April)
v38 (6th April)
v37.3 (3rd April)
v37.2 (21st March)
v37 (12th March)
v36 (28th February)
v35 (11th February)
v34.2 (28th January)
v34.1 (20th January)
v34 (15th January)
v32.1, v32.2, v33 (11th January)
v32 (10th January)
v31 (31st December)
v30.3 (21st December)
v30.2 (12th December)
v30.1 (8th December)
v30 (28th November)
v29 (16th November)
v28.2 (1st November)
v28.1 (29th October)
v28 (23rd October)
v27 (17th October)
v26 (1st October)
v25.5 (22nd September)
v25.4 (10th September)
v25.3 (7th September)
v25.2 (31st August)
v25.1 (23rd August)
v25 (16th August)
v24 (12th August)
v23.2, 23.3, 23.4 (29th July, 3rd August, 4th August)
v23.1 (25th July)
v23 (21st July)
v22.1 (14th July)
v22 (13th July)
v21.1 (4th July)
v21 (2nd July)
v20.2 (29th June)
v20.1 (28th June)
v20 (22nd June)
v19.1 (14th June)
v19
v18.2 & v18.3
v18.1
v18
v17
v16
v15.2
v15.1
v15
v14.1
v14
v13
v12.3
v12.2
v12.1
v12
v11
v10
v9
v8
v7
beta 4 - only for CM13 0423
beta 3
v6.2
v6.1
v6.0
v5.0
v4.7
v4.6
v4.5
v4.3
v4.2
v4.0
v3.4
v3.3
v3.2
v3.1
v3
v2.2
v2.1
v2
v1
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:
3. the log will be stored in helium.log.
If the issue caused a reboot, step number 2 changes:
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
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)
- source updates
- download link: Helium v37.3
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
- built with GCC 6.1 & my custom UBER Toolchain, built with Cortex A15 optimizations
- you can use your device as a USB keyboard (https://github.com/pelya/android-keyboard-gadget)
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
- full changelog here: Helium v5 changelog
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
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: